第四章 樸素貝葉斯

樸素貝葉斯方法,是指
樸素:特徵條件獨立
貝葉斯:基於貝葉斯定理

根據貝葉斯定理,對一個分類問題,給定樣本特徵x,樣本屬於類別y的概率是 

p(y|x)=p(x|y)p(y)p(x)1

在這裏,x是一個特徵向量,將設x維度爲M。因爲樸素的假設,即特徵條件獨立,根據全概率公式展開,公式(1)可以表達爲 
p(y=ck|x)=Mi=1p(xi|y=ck)p(y=ck)kp(y=ck)Mi=1P(xi|y=ck)2

這裏,只要分別估計出,特徵xi在每一類的條件概率就可以了。類別y的先驗概率可以通過訓練集算出,同樣通過訓練集上的統計,可以得出對應每一類上的,條件獨立的特徵對應的條件概率向量。 
如何統計,就是下一部分——學習——所關心的內容。

學習(參數估計)

下面介紹如何從數據中,學習得到樸素貝葉斯分類模型。概述分類方法,並提出一個值得注意的問題。

學習

訓練集TrainingSet={(x1,y1),(x2,y2),...,(xN,yN)} 包含N條訓練數據,其中 xi=(x(1)i,x(2)i,...,x(M)i)T是M維向量,yi{c1,c2,...cK}屬於K類中的一類。

學習 1.首先,我們來計算公式(2)中的p(y=ck) 

p(y=ck)=Ni=1Iyi=ckN3

其中I(x)爲指示函數,若括號內成立,則計1,否則爲0。

學習 2.接下來計算分子中的條件概率,設M維特徵的第j維有L個取值,則某維特徵的某個取值ajl,在給定某分類ck下的條件概率爲: 

p(xj=ajl|y=ck)=Ni=1I(xji=ajl,yi=ck)Ni=1I(yi=ck)4

經過上述步驟,我們就得到了模型的基本概率,也就完成了學習的任務。

分類

通過學到的概率,給定未分類新實例X,就可以通過上述概率進行計算,得到該實例屬於各類的後驗概率p(y=ck|X),因爲對所有的類來說,公式(2)中分母的值都相同,所以只計算分子部分即可,具體步驟如下:
分類 1.計算該實例屬於y=ck類的概率 
p(y=ck|X)=p(y=ck)j=1np(X(j)=x(j)|y=ck)5

分類 2.確定該實例所屬的分類y 
y=argmaxckp(y=ck|X)6

於是我們得到了新實例的分類結果

拉普拉斯平滑

到這裏好像方法已經介紹完了,實則有一個小問題需要注意,在公式(3)(4)中,如果從樣本中算出的概率值爲0該怎麼辦呢?
下面介紹一種簡單方法,給學習步驟中的兩個概率計算公式,分子和分母都分別加上一個常數,就可以避免這個問題。更新過後的公式如下:
p(y=ck)=Ni=1Iyi=ck+λN+Kλ7

K是類的個數 
p(xj=ajl|y=ck)=Ni=1I(xji=ajl,yi=ck)+λNi=1I(yi=ck)+Ljλ8

Lj是第j維特徵的最大取值

可以證明,改進以後的(7)(8)仍然是概率。平滑因子λ=0即爲(3)(4)實現的最大似然估計,這時會出現在本節開始時提到的0概率問題;而λ=1則避免了0概率問題,這種方法被稱爲拉普拉斯平滑

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