樸素貝葉斯(naïve bayes)屬於監督學習演算法,實現簡單,學習效率高;由於建立在貝葉斯理論之上,涉及到統計學方法,所以在大樣本量下會有較好的表現,當然樣本需要在一定程度上反映真實分布情況。
該演算法的一條假設為:輸入的特徵向量的各分量之間兩兩條件獨立。因為這條假設比較嚴格,能夠完全符合該假設的應用場景並不多見,所以給這個演算法帶來了「樸素」的修飾。然兒這並不妨礙樸素貝葉斯作為乙個概率分類器在文字分類方面的優異表現,特別是在垃圾郵件識別領域,樸素貝葉斯表現突出。
本文著重介紹樸素貝葉斯在分類任務上的應用(只考慮特徵向量各分量均為離散值的情況,在實際應用中,遇到連續取值的變數通常也會將其離散化)。
假設我們獲得如下訓練資料(訓練集中樣本數為n):
其中,x 表示特徵向量(設定為n維,表示有n個離散屬性值),y 表示標籤變數,表徵對應的特徵向量代表的樣本所屬的類別,y 的取值範圍如下(類別數為k):
**:當特徵向量為x時,標籤y應取何值。
貝葉斯定理是關於隨機事件a和b的條件概率的一則定理:
其中 a 以及 b 為隨機事件,且 p(b) 不為零。p(a|b) 是指在事件 b 發生的情況下事件 a 發生的概率。
在貝葉斯定理中,上式中的項有以下稱謂:
p(a|b) 由於得自 b 的取值而被稱作 a 的後驗概率。
p(a) 是 a 的先驗概率(或邊緣概率),稱為"先驗"是因為不考慮 b 的情況。
貝葉斯理論解決分類問題的思路如下:
輸入待**資料x,則**類別 y 取使得 y 的後驗概率最大的類別值,即:
應用貝葉斯定理:
由於 y 的取值不會影響上式的分母,所以可以將上式轉化為:
進一步考慮屬性間的條件獨立性,對於n維特徵向量:
可以將它的後驗概率轉化為:
則(2)式可以轉為:
選擇後驗概率最大的類別作為**類別,因為已經證明:後驗概率最大化可以使期望風險最小化。
到此為止,我們將類別**問題轉為後驗概率的計算與比較問題;為了進一步計算,需要對(3)式中涉及的先驗概率與條件概率進行估計。
4.1 極大似然估計
先驗概率的極大似然估計:
i 用於計數,用類別為ck的樣本佔總樣本的比例作為y取ck值的先驗概率。
特徵向量的第j個屬性變數的條件概率的極大似然估計:
同樣是將樣本比例作為概率的思想。
4.2 貝葉斯估計(最大後驗概率估計)
極大似然估計先驗概率與條件概率時,可能出現有關樣本數為0的情況,由於後驗概率是多項連乘的結果,那麼得到的後驗概率也為0,影響分類的效果。
因此,在估計時需要做平滑處理,這種方法被稱為貝葉斯估計。
先驗概率的貝葉斯估計:
其中 k 為總的類別數,λ為可調引數。
特徵向量的第j個屬性變數的條件概率的貝葉斯估計:
其中 sj 為第 j 個屬性所取的不同的離散值的數量,λ為可調引數。
通常貝葉斯估計中的引數 λ=1 ,這時被稱為laplace平滑。
通過概率估計得到先驗概率以及條件概率的概率值後,就可以計算得到各個類別的後驗概率,從而將具有最大後驗概率的類別作為樸素貝葉斯分類器的輸出類別。注意:最大後驗概率的思想不僅用於最後的類別輸出,在進行概率估計時也用到最大後驗概率估計(即前文所述的貝葉斯估計),只不過推導出來的公式表現為拉普拉斯平滑的形式。
機器學習 樸素貝葉斯
樸素貝葉斯原理 1.貝葉斯公式 2.樸素貝葉斯的模型 3.後驗概率最大化的含義 4.樸素貝葉斯的引數估計 4.1.特徵是離散值 假設符合多項式分布 4.2.特徵是稀疏的離散值 假設符合伯努利分布 4.3.特徵是連續值 假設符合正態分佈 5.樸素貝葉斯演算法過程 6.樸素貝葉斯演算法小結 scikit...
機器學習基礎演算法 樸素貝葉斯
1 為什麼可以使用bayes對未知資料進行分類 首先要了解bayes的概率 條件概率,以及將條件概率應用到分類中 bayes的概率是乙個逆向概率,詳細內容檢視bayestheory.md 可以使用bayes主要是因為在知道某個條件的基礎上,可以反推某一事件發生的概率 在機器學習中使用的樣本資料就是我...
機器學習 樸素貝葉斯 例子
一 學習樸素貝葉斯之前先了解一下 條件概率下 貝葉斯公式 1 舉例是兩個工具機m1和m2 用例生產扳手機器 生產扳手 個數 mach1 30mach2 20不合格佔1 defective 機器 次品分布比例 mach1 50 mach2 50 2 問題 mach2生產的不合格產品的概率是多少?p m...