機器學習方法篇(16)------樸素貝葉斯分類

● 每週一言

煙花易冷,也曾發光發熱。

導語

上週講了四個概率統計公式,加法公式、乘法公式、貝葉斯公式、全概率公式,其中的貝葉斯公式由概率乘法公式聯立推出。作爲貝葉斯分類中應用最廣泛的模型,樸素貝葉斯分類模型的算法思想是什麼?這些公式又是如何運用到分類問題當中的?

樸素貝葉斯分類

樸素貝葉斯分類,顧名思義是一種簡單而直觀的分類算法。其思想出發點也的確很樸素,就是根據待分類樣本在各個類別中出現的概率,哪個最大就屬於哪個。比如黃皮膚的人多半會認爲來自亞洲,而黑人多半會認爲來自非洲,白人則多半會認爲來自非洲。

fig1

當然,上面只用到了一種分類特徵,膚色。在一般分類問題中,我們通常需要考慮多種特徵,而這些特徵兩兩之間有可能存在一定的相關性。比如語言和膚色,價格和銷量等。
fig2

我們知道,貝葉斯分類的目標是:根據樣本的先驗概率,準確估計出待分類樣本的後驗概率。用貝葉斯公式寫出其目標函數如下,其中c爲類別,x爲樣本。
f(x)=argmaxcP(c|x)=argmaxcP(x|c)P(c)P(x)=argmaxcP(x|c)P(c)

但是由於存在特徵之間相關性的不確定性,很難根據訓練樣本計算出上式條件概率P(x|c)的概率分佈。這個時候,樸素貝葉斯便應運而生。樸素貝葉斯避開了這個難題,對條件概率分佈作了條件獨立假設,如下:
P(x|c)=idP(xi|c)

有了上面的條件概率簡化計算方式,樸素貝葉斯分類的目標函數就變爲如下形式:
f(x)=argmaxcP(c|x)=argmaxcP(c)idP(xi|c)

上式便是樸素貝葉斯分類公式。P(c)可以直接統計訓練樣本中各個類別的佔比得出。
P(c)=|Dc||D|

對於離散特徵,條件概率P(x|c)可通過計算在c類別中第i個屬性上取值爲xi 的比例得出,公式如下:
P(x|c)=|Dc,xi||Dc|

而對於連續特徵,需先調研假設特徵符合某種分佈規律,比如常見的二項分佈、高斯分佈、泊松分佈、伯努利分佈等,再計算出相應的條件概率。

得到條件概率後,概率最大的類別即爲樸素貝葉斯分類模型的輸出。

fig3

需要注意的是,概率計算過程中有可能出現概率值爲0,從而導致連乘後值爲0的情況。這裏引入拉普拉斯平滑係數,簡單理解就是分子分母同時加上一個常數,來避免計算值爲0。可以證明,當訓練集足夠大時,加入拉普拉斯平滑係數的估計值將趨近實際概率值。

以上便是樸素貝葉斯分類的講解,敬請期待下節內容。

結語

感謝各位的耐心閱讀,後續文章於每週日奉上,敬請期待。歡迎大家關注小鬥公衆號 對半獨白

face

發佈了91 篇原創文章 · 獲贊 113 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章