樸素貝葉斯原理及實現
阿新 • • 發佈:2019-01-28
一、理論基礎
(一)樸素貝葉斯定理
3、計算為YES的概念
(1)購買使用者的總概率。從表中可見14人中有9個購買了電腦,因此概率為:
(2)在購買使用者的9人中符合X特徵中的age=youth的有2人,比例為:
(3)在購買使用者的9人中符合X特徵中的income=medium的有4人,比例為:
(4)在購買使用者的9人中符合X特徵中的student=yes的有6人,比例為
(5)在購買使用者的9人中符合X特徵中的credit_rating的有6人,比例為
根據樸素貝葉斯定理,
其中:
P(X)對所有分類都相等
符合X={age=youth,income=medium,student=yes,credit_rating}的情況下,Ci={buys_computer=yes}的後驗熬概率為:
3、使用同樣的方法,可以計算出符 合X的情況下,Cj=(buys_computer=no)的後驗概率為:
4、結論:由上面的計算結果可知,樸素貝葉斯分類預測元組X的類為buy_computer=yes。
(三)三種常見的模型
|yk);
簡單的說:一個樣本屬於某個類別的概率是:這個類別出現的概率 * 已知這個類別出現的情況下各個屬性出現的概率的乘積
根據貝葉斯定理,事件X發生時,類別Ci發生的後驗概率為:
而P(X)對於所有的CI都是相等的,且假設X的各個屬性之間是獨立的(樸素假設),則可得: 即符合X特徵變數的類別Ci的後驗概率可由上述公式計算出來,然後比較各個Ci的大小,最大的那個類別即最有可能發生的。 (二)示例 1、訓練資料 2、需要預測的資料為 X={age=youth,income=medium,student=yes,credit_rating} 計算此使用者購買computer的可能性。1、伯努利模型
與多項式模型一樣,伯努利模型適用於離散特徵的情況,所不同的是,伯努利模型中每個特徵的取值只能是1和0(以文字分類為例,某個單詞在文件中出現過,則其特徵值為1,否則為0). 伯努利模型中,條件概率P(xi|yk)的計算方式是: 當特徵值xi為1時,P(xi|yk)=P(xi=1|yk); 當特徵值xi為0時,P(xi|yk)=1−P(xi=12、多項式模型
當特徵是離散的時候,使用多項式模型。多項式模型在計算先驗概率P(yk)和條件概率P(xi|yk)時,會做一些平滑處理,具體公式為: P(yk)=Nyk+αN+kαN是總的樣本個數,k是總的類別個數,Nyk是類別為yk的樣本個數,α是平滑值。P(xi|yk)=Nyk,xi+αNyk+nα
Nyk是類別為yk的樣本個數,n是特徵的維數,Nyk,xi是類別為yk的樣本中,第i維特徵的值是xi的樣本個數,α是平滑值。當α=1時,稱作Laplace平滑,當0<α<1時,稱作Lidstone平滑,α=0時不做平滑。 如果不做平滑,當某一維特徵的值xi沒在訓練樣本中出現過時,會導致P(xi|yk)=0,從而導致後驗概率為0。加上平滑就可以克服這個問題。
3、高斯模型
當特徵是連續變數的時候,運用多項式模型就會導致很多P(xi|yk)=0(不做平滑的情況下),此時即使做平滑,所得到的條件概率也難以描述真實情況。所以處理連續的特徵變數,應該採用高斯模型。 下面是一組人類身體特徵的統計資料。 性別 身高(英尺) 體重(磅) 腳掌(英寸) 男 6 180 12 男 5.92 190 11 男 5.58 170 12 男 5.92 165 10 女 5 100 6 女 5.5 150 8 女 5.42 130 7 女 5.75 150 9 已知某人身高6英尺、體重130磅,腳掌8英寸,請問該人是男是女? 根據樸素貝葉斯分類器,計算下面這個式子的值。P(身高|性別) x P(體重|性別) x P(腳掌|性別) x P(性別)
這裡的困難在於,由於身高、體重、腳掌都是連續變數,不能採用離散變數的方法計算概率。而且由於樣本太少,所以也無法分成區間計算。怎麼辦?
這時,可以假設男性和女性的身高、體重、腳掌都是正態分佈,通過樣本計算出均值和方差,也就是得到正態分佈的密度函式。有了密度函式,就可以把值代入,算出某一點的密度函式的值。
比如,男性的身高是均值5.855、方差0.035的正態分佈。所以,男性的身高為6英尺的概率的相對值等於1.5789(大於1並沒有關係,因為這裡是密度函式的值,只用來反映各個值的相對可能性)。
對於腳掌和體重同樣可以計算其均值與方差。有了這些資料以後,就可以計算性別的分類了。
P(身高=6|男) x P(體重=130|男) x P(腳掌=8|男) x P(男)
=
6.1984 x e-9 P(身高=6|女) x P(體重=130|女) x P(腳掌=8|女) x P(女)
=
5.3778 x e-4
1
2
3
4
1
2
3
4
可以看到,女性的概率比男性要高出將近10000倍,所以判斷該人為女性。
- 總結