機器學習算法總結(十)——朴素貝葉斯


1、模型的定義 

  朴素貝葉斯是基於貝葉斯定理與特征條件獨立假設的分裂方法。首先我們來了解下貝葉斯定理和所要建立的模型。對於給定的數據集

  

  假定輸出的類別yi ∈ {c1, c2, ...., ck},朴素貝葉斯通過訓練數據集的條件概率分布$P(x|y)$來學習聯合概率。因此在這里我們近視的求先驗概率分布和條件概率分布來替代它。先驗概率分布如下

  

  對於先驗概率的求解,可以根據大數定理認為就是該類別在總體樣本中的比例。條件概率分布如下

  

  通過先驗概率和條件概率的求解就可以學習到聯合概率,然而在這里的條件概率也是不好求的,若直接求解的話,參數的個數是所有特征取值個數的連乘。因此在這里引入了朴素貝葉斯思想。

  朴素貝葉斯法假定上面的條件概率中各特征之前是相互獨立的。此時我們可以做鏈式展開,表達式如下

  

  朴素貝葉斯法實際上是有求聯合概率分布的過程,以及通過聯合概率求后驗概率(也是一種條件概率)的過程,像這類的分類器屬於生成式模型。區別於它的就是判別生成式模型,常見的有決策樹,邏輯回歸,SVM等,這類模型都是直接生成結果(可能是P(y) 或者P(y|x) )。而貝葉斯是要先計算$p(x, y)$的,了解了先驗概率和條件概率的計算過程,我們再來看看貝葉斯定理是如何計算后驗概率的

  

  引入朴素的思想,假設各特征之間相互獨立

  

  這就是朴素貝葉斯分類的基本公式,因此我們的模型可以建為

  

  而對於右邊式子中的分母,分母是一個和類別無關的式子,也就是說對於所有的ck都是一樣的,然后在這里我們只是求的最大概率的類別,因此去掉這一項是不會影響結果的(即對表達式進行同比例的放大或縮小是不會影響最大解的判斷的),最終的式子可以寫成

  

 

2、后驗概率最大化

  先來了解下0-1損失函數:

  

  此時的期望風險函數,在優化模型的時候我們的目的是為了使得期望損失最小化

  

  而對於朴素貝葉斯模型,期望損失函數可以表示為

  

  這里面的損失函數和0-1損失有所不同,可以看成分類到每個類別的概率乘以0-1損失函數,也就是說在k中只有一次L函數會取0,其余的都取1,此時我們還要使得取0時的條件概率P(ck|x)是最大的,這樣整體的期望損失就是最小的。具體的數學推導過程如下

  

  為了使得期望風險最小化就是使得后驗概率最大化。

 

3、朴素貝葉斯的參數估計

  采用極大似然估計來求解先驗概率和條件概率,先驗概率的極大似然估計

  

  條件概率的極大似然估計

  

  但是用極大似然估計可能會出現概率值為0的情況。這時候會影響到后驗概率的計算(因為鏈式求解時,一旦存在某一個值為0,則會導致整個鏈式的解為0,也就是求得的條件概率為0).因此我們會采用貝葉斯估計,先驗概率的表達式

  

  貝葉斯估計的條件概率表達式

  

  因此朴素貝葉斯模型只要計算出訓練集上各類參數,比如先驗概率,各特征在各類別上的概率(這些是用來計算條件概率的)等,基於這些學得的值來預測

  

4、朴素貝葉斯總結

  朴素貝葉斯的優點:

  1)朴素貝葉斯模型分類效率穩定

  2)對小規模的數據集表現很好,能處理多分類問題,適合增量式訓練,尤其是數據集超出內存后,我們可以一批批的去訓練

  3)對缺失數據不太敏感,算法比較簡單,常用於文本分類

  朴素貝葉斯的缺點;

  1)理論上,朴素貝葉斯較其他模型相比具有最小的誤差率,但實際上卻不一定,因為朴素貝葉斯引進了各特征之間相互獨立這一假設。因此在各特征之間相關性較強時,朴素貝葉斯表現一般,但是在各特征之間獨立性很強時,朴素貝葉斯表現很好

  2)通過先驗和數據來決定后驗的概率從而決定分類,所以分類決策存在一定的錯誤率

  3)對輸入數據的表達形式很敏感


免責聲明!

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



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