朴素貝葉斯的三個模型


前面已經介紹過朴素貝葉斯的原理,今天來介紹一下朴素貝葉斯的三個常用模型:多項式模型、伯努利模型和高斯模型。

多項式模型

該模型常用於文本分類,特征是單詞,值是單詞的出現次數。

在多項式模型中,設某文檔d={t1,t2,...,tk},ti(i=1,2,...,k)為在該文檔d中出現的單詞,允許重復。

則先驗概率p(c) = 類c下單詞總數 / 整個訓練樣本的單詞總數

類條件概率 p(tk|c) = (類c下單詞tk在各個文檔出現的數量之和+1) / (類c下單詞總數 + |V|)

V是訓練樣本中所有單詞的集合(set,即每個單詞有且僅能出現一次),即該訓練樣本的詞匯表。

在這里解釋一下為何分子要加1,分母加|V|:

我們已知朴素貝葉斯的“朴素點”在於假設每個特征之間相互獨立,在本例中就是任何單詞之間相互獨立,若在輸入某個文檔做分類時,發現該文檔中的某個單詞在詞匯表中沒有出現過,就會出現p(tk|c)=0,最終導致后驗概率為0,如果該文檔是一篇垃圾文檔,將會被模型分類成有用文檔,結果變得不合理了。拉普拉斯平滑(Laplace Smoothing)又被稱為加1平滑,被用來解決零概率問題。拉普拉斯平滑就是在計算類條件概率時分子加1,分母加可取變量的個數(本例中為詞匯表中單詞的數量)。

通過以下數據集判斷一個新的文檔是否來自China:

可知V=[Chinese,Beijing,Shanghai,Jinan,Tokyo,Japan],給定一個新文檔d=[Chinese,Chinese,Chinese,Tokyo,Japan],對其進行分類。

p(yes)=8/11,p(no)=3/11

p(Chinese|yes)=(5+1)/(8+6)=3/7,p(Chinese|no)=(1+1)/(3+6)=2/9

p(Japan|yes)=(0+1)/(8+6)=1/14,p(Japan|no)=(1+1)/(3+6)=2/9

p(Tokyo|yes)=(0+1)/(8+6)=1/14,p(Tokyo|no)=(1+1)/(3+6)=2/9

所以p(yes|d) = (3/7)3(1/14)2(8/11)=0.00029209,p(no|d)=(2/9)5(3/11)=0.00014780

p(yes|d) >p(no|d),該文檔來自China。

 

伯努利模型

在伯努利模型中,每個特征的取值是布爾型的,即true和false,或者1和0。在文本分類中,就是一個特征有沒有在一個文檔中出現。

先驗概率p(c)=類c下文檔總數/整個訓練樣本的文檔總數

類條件概率p(tk|c)=類c下包含單詞tk的文檔總數/類c下的文檔總數+2

還是用上面的例子:

p(yes)=3/4,p(no)=1/4

p(chinese|yes)=(3+1)/(3+2)=4/5,p(chinese|no)=(1+1)/(1+2)=2/3

p(Japan|yes)=(0+1)/(3+2)=1/5,p(Japan|no)=(1+1)/(1+2)=2/3

p(Tokyo|yes)=(0+1)/(3+2)=1/5,p(Tokyo|no)=(1+1)/(1+2)=2/3

所以p(yes|d) = (4/5)3(1/5)2(3/4)=0.01536,p(no|d)=(2/3)5(1/4)=0.00256

p(yes|d) >p(no|d),該文檔來自China。

 

高斯模型

當特征是連續變量的時候,運用多項式模型就會導致很多(不做平滑的情況下),此時即使做平滑,所得到的條件概率也難以描述真實情況。所以處理連續的特征變量,應該采用高斯模型。

 首先讓我們來回顧一下什么是高斯分布(正態分布),若隨機變量X服從一個數學期望為μ、方差為σ^2的正態分布,記為N(μ,σ^2)。其概率密度函數為正態分布的期望值μ決定了其位置,其標准差σ決定了分布的幅度。當μ = 0,σ = 1時的正態分布是標准正態分布。

若隨機變量 X服從一個位置參數為μ、尺度參數為σ的概率分布,且其概率密度函數為

 

下面是一組人類身體特征的統計資料:

可以看到每個特征都為連續值,並非離散值。

此時可以假設男性和女性的身高、體重和腳掌都是正態分布,通過樣本分別計算出均值μ和方差σ^2。

比如男性的身高是均值為5.94,方差為0.035的正態分布,此時有一個人身高為6英尺,則:

據此可以求出其他特征的類條件概率,從而最終推斷出該人是男性還是女性。

 

Done!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM