《統計學習方法》筆記--樸素貝葉斯

《統計學習方法》第四章–樸素貝葉斯

樸素貝葉斯概述

樸素貝葉斯法是基於貝葉斯定理與特徵條件獨立假設的分類方法。通過給定的訓練數據集,首先基於特徵條件獨立的假設學習輸入輸出的聯合概率分佈,然後基於此模型,對於給定的xx,利用貝葉斯定理求出後驗概率最大的輸出yy

樸素貝葉斯法

輸入:訓練數據T={(x1,y1),(x2,y2)...(xN,yN)};T=\{(x_1,y_1),(x_2,y_2)...(x_N,y_N)\};其中xi=(xi(1),xi2),...,xi(n))T;x_i=(x_i^{(1)},x_i^{2)},...,x_i^{(n)})^T;xi(j)ijxi(j){aj1,aj2,...,ajSj},ajljlj=1,2,3...,n;l=1,2,...Sj;yi{c1,c2,...,cK};xx_i{(j)}是第i個樣本的第j個特徵,x_i{(j)}\in \{a_{j1},a_{j2},...,a_{jS_j}\},a_{jl}是第j個特徵可能取得第l個值,j=1,2,3...,n;l=1,2,...S_j;y_i\in\{c_1,c_2,...,c_K\};實例x

輸出:實例xx的分類

(1) 根據給出的訓練集計算先驗概率和條件概率P(Y=ck)=i=1NI(yi=ck)N,k=1,2,...,KckP(Y=c_k)=\frac{\sum_{i=1}^{N}I(y_i=c_k)}{N},k=1,2,...,K----在給定訓練集中c_k類的概率 P(X(j)=ajlY=ck)=i=1NI(xi(j)=ajl,yi=ck)i=1NI(yi=ck)ckjajlP(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum_{i=1}^{N}I(x_i^{(j)}=a_{jl},y_i=c_k)}{\sum_{i=1}^NI(y_i=c_k)}----在給定訓練集中,已知爲c_k類時,第j個特徵取值爲a_{jl}的概率 j=1,2,...,n;l=1,2,...,Sj;k=1,2...,Kj=1,2,...,n;l=1,2,...,S_j;k=1,2...,K
(2) 對於給定實例x=(x(1),x(2),...,x(n))T,x=(x^{(1)},x^{(2)},...,x^{(n)})^T,計算P(Y=ck)j=1nP(X(j)=x(j)Y=ck),k=1,2,...,K(x(1),x(2),...,x(n))P(Y=c_k)\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k),k=1,2,...,K----對於給定的實例,計算在不同類別下其特徵序列(x^{(1)},x^{(2)},...,x^{(n)})出現的概率
(3)確定實例xx所屬的類y=argmaxckP(Y=ck)j=1nP(X(j)=x(j)Y=ck)xy=\arg\max_{c_k}P(Y=c_k)\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k)----將實例x歸入特徵序列出現概率最大的那一類

參數估計

樸素貝葉斯法主要是通過訓練集計算出每個類別ckc_k的先驗概率,然後通過貝葉斯公式,計算出相應特徵的條件概率,即在已知類別ckc_k的條件下各個特徵出現的概率,最後通過求出在給定類別時出現概率最大的類別作爲實例的類別。

極大似然估計

在樸素貝葉斯法中,學習意味着估計P(Y=ck)P(Y=c_k)P(Xj=x(j)Y=ck)P(X^{j}=x^{(j)}|Y=c_k)由於前提假設是特徵條件相互,因此可以用極大似然估計法來估計相應的概率。

先驗概率P(Y=ck)P(Y=c_k)的極大似然估計是P(Y=ck)=i=1NI(yi=ck)N,k=1,2,...,KP(Y=c_k)=\frac{\sum_{i=1}^{N}I(y_i=c_k)}{N},k=1,2,...,K

條件概率P(X(j)=ajlY=ck)P(X^{(j)}=a_{jl}|Y=c_k)的極大似然估計是P(X(j)=ajlY=ck)=i=1NI(xi(j)=ajl,yi=ck)i=1NI(yi=ck)ckjajlP(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum_{i=1}^{N}I(x_i^{(j)}=a_{jl},y_i=c_k)}{\sum_{i=1}^NI(y_i=c_k)}----在給定訓練集中,已知爲c_k類時,第j個特徵取值爲a_{jl}的概率 j=1,2,...,n;l=1,2,...,Sj;k=1,2...,Kj=1,2,...,n;l=1,2,...,S_j;k=1,2...,K

貝葉斯估計

考慮到用極大似然估計可能會出現會估計的概率值爲0的情況,可以採用貝葉斯估計來代替極大似然估計。具體的,

先驗概率的貝葉斯估計爲Pλ(Y=ck)=i=1NI(yi=ck)+λN+KλP_\lambda(Y=c_k)=\frac{\sum_{i=1}^{N}I(y_i=c_k)+\lambda}{N+K\lambda}

條件概率的貝葉斯估計爲Pλ(X(j)=ajlY=ck)=i=1NI(xi(j)=ajl,yi=ck)+λi=1NI(yi=ck)+SjλP_\lambda(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum_{i=1}^NI(x_i^{(j)=a_{jl}},y_i=c_k)+\lambda}{\sum_{i=1}^NI(y_i=c_k)+S_j\lambda}

上式中λ0\lambda\geq0等價於在隨機變量各個取值的頻數上賦予一個正數λ>0\lambda>0,當λ=0\lambda=0時就是極大似然估計。常取λ=1\lambda=1,這時稱爲拉普拉斯平滑。顯然對於任何的l=1,2,...Sj;k=1,2,...,Kl=1,2,...S_j;k=1,2,...,K有:Pλ(X(j)=ajlY=ck)>0P_\lambda(X^{(j)}=a_{jl}|Y=c_k)>0 l=1SjPλ(X(j)=ajlY=ck)=1\sum_{l=1}^{S_j}P_\lambda(X^{(j)}=a_{jl}|Y=c_k)=1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章