參考url:
https://jakevdp.github.io/PythonDataScienceHandbook/05.05-naive-bayes.html
朴素貝葉斯模型是一組非常簡單快速的分類算法,通常適用於維度非常高的數據集。
因為運行速度快,而且可調參數少,因此非常適合為分類問題提供快速粗糙的基本方案。
1、貝葉斯分類
朴素貝葉斯分類器建立在貝葉斯分類方法的基礎上,其數學基礎是貝葉斯定理(Bayes's theorem)——一個描述統計量條件概率關系的公式。
在貝葉斯分類中,將確定一個具有某些特征的樣本屬於某類標簽的概率,記為P(L|特征)。
當需要確定兩種標簽,分別定義為L1和L2,一種方法就是計算這兩個標簽的后驗概率的比值:
被稱為'生成模型'的模型能夠計算每個標簽的P(特征|Li),它可以訓練出,生成輸入數據的假設隨機過程(或稱為概率分布)。
為每種標簽設置生成模型是貝葉斯分類器訓練過程的主要部分。
被稱為'朴素'或'朴素貝葉斯',是因為如果對每種標簽的生成模型進行非常簡單的假設,就能找到每種類型生成模型的近似解,然后就可以使用貝葉斯分類。
不同類型的朴素貝葉斯分類器是由對數據的不同假設決定的。
2、高斯朴素貝葉斯
高斯朴素貝葉斯,這個分類器假設每個標簽的數據都服從簡單的高斯分布。
圖中的橢圓曲線表示每個標簽的高斯生成模型,越靠近橢圓中心的可能性越大。
通常高斯朴素貝葉斯的邊界是二次方曲線。
貝葉斯主義(Bayesian formalism)的一個優質特性是它天生支持概率分類,可以用predict_proba方法計算樣本屬於某個標簽的概率:
當需要評估分類器的不確定性,那么這類貝葉斯方法非常有用。
由於分類的最終效果只能依賴於一開始的模型假設,因此高斯朴素貝葉斯經常得不到非常好的結果。
3、多項式朴素貝葉斯
還有一種常用的假設是多項式朴素貝葉斯(multinomial naive Bayes),它假設特征是由一個簡單多項式分布生成的。
多項式分布可以描述各種類型樣本出現次數的概率,因此多項式朴素貝葉斯非常適合用於描述出現次數或者出現次數比例的特征。
多項式朴素貝葉斯通常用於文本分類,其特征都是指待分類文本的單詞出現次數或者頻率。
4、朴素貝葉斯的應用場景
朴素貝葉斯分類器對數據有嚴格的假設,因此其訓練效果通過比復雜模型差。
其優點體現在四個方面,這些優點使得朴素貝葉斯分類器通常很適合作為分類的的初始解:
(1)訓練和預測的速度非常快
(2)直接使用概率預測
(3)通常很容易解釋
(4)可調參數非常少
朴素貝葉斯分類器非常適合用於以下應用場景:
(1)假設分布函數與數據匹配(實際中很少見)
(2)各種類型的區分度很高,模型復雜度不重要
(3)非常高維度的數據,模型復雜度不重要