《統計學習方法》第四章–樸素貝葉斯
樸素貝葉斯概述
樸素貝葉斯法是基於貝葉斯定理與特徵條件獨立假設的分類方法。通過給定的訓練數據集,首先基於特徵條件獨立的假設學習輸入輸出的聯合概率分佈,然後基於此模型,對於給定的x,利用貝葉斯定理求出後驗概率最大的輸出y
樸素貝葉斯法
輸入:訓練數據T={(x1,y1),(x2,y2)...(xN,yN)};其中xi=(xi(1),xi2),...,xi(n))T;xi(j)是第i個樣本的第j個特徵,xi(j)∈{aj1,aj2,...,ajSj},ajl是第j個特徵可能取得第l個值,j=1,2,3...,n;l=1,2,...Sj;yi∈{c1,c2,...,cK};實例x
輸出:實例x的分類
(1) 根據給出的訓練集計算先驗概率和條件概率P(Y=ck)=N∑i=1NI(yi=ck),k=1,2,...,K−−−−在給定訓練集中ck類的概率 P(X(j)=ajl∣Y=ck)=∑i=1NI(yi=ck)∑i=1NI(xi(j)=ajl,yi=ck)−−−−在給定訓練集中,已知爲ck類時,第j個特徵取值爲ajl的概率 j=1,2,...,n;l=1,2,...,Sj;k=1,2...,K
(2) 對於給定實例x=(x(1),x(2),...,x(n))T,計算P(Y=ck)j=1∏nP(X(j)=x(j)∣Y=ck),k=1,2,...,K−−−−對於給定的實例,計算在不同類別下其特徵序列(x(1),x(2),...,x(n))出現的概率
(3)確定實例x所屬的類y=argckmaxP(Y=ck)j=1∏nP(X(j)=x(j)∣Y=ck)−−−−將實例x歸入特徵序列出現概率最大的那一類
參數估計
樸素貝葉斯法主要是通過訓練集計算出每個類別ck的先驗概率,然後通過貝葉斯公式,計算出相應特徵的條件概率,即在已知類別ck的條件下各個特徵出現的概率,最後通過求出在給定類別時出現概率最大的類別作爲實例的類別。
極大似然估計
在樸素貝葉斯法中,學習意味着估計P(Y=ck)和P(Xj=x(j)∣Y=ck)由於前提假設是特徵條件相互,因此可以用極大似然估計法來估計相應的概率。
先驗概率P(Y=ck)的極大似然估計是P(Y=ck)=N∑i=1NI(yi=ck),k=1,2,...,K
條件概率P(X(j)=ajl∣Y=ck)的極大似然估計是P(X(j)=ajl∣Y=ck)=∑i=1NI(yi=ck)∑i=1NI(xi(j)=ajl,yi=ck)−−−−在給定訓練集中,已知爲ck類時,第j個特徵取值爲ajl的概率 j=1,2,...,n;l=1,2,...,Sj;k=1,2...,K
貝葉斯估計
考慮到用極大似然估計可能會出現會估計的概率值爲0的情況,可以採用貝葉斯估計來代替極大似然估計。具體的,
先驗概率的貝葉斯估計爲Pλ(Y=ck)=N+Kλ∑i=1NI(yi=ck)+λ
條件概率的貝葉斯估計爲Pλ(X(j)=ajl∣Y=ck)=∑i=1NI(yi=ck)+Sjλ∑i=1NI(xi(j)=ajl,yi=ck)+λ
上式中λ≥0等價於在隨機變量各個取值的頻數上賦予一個正數λ>0,當λ=0時就是極大似然估計。常取λ=1,這時稱爲拉普拉斯平滑。顯然對於任何的l=1,2,...Sj;k=1,2,...,K有:Pλ(X(j)=ajl∣Y=ck)>0 l=1∑SjPλ(X(j)=ajl∣Y=ck)=1