0、思想:
對於給定的待分類項x,通過學習到的模型計算后驗概率分布,即:在此項出現的條件下各個目標類別出現的概率,將后驗概率最大的類作為x所屬的類別。后驗概率根據貝葉斯定理計算。
關鍵:為避免貝葉斯定理求解時面臨的組合爆炸、樣本稀疏問題,引入了條件獨立性假設。用於分類的特征在類確定的條件下都是條件獨立的。
1、朴素貝葉斯朴素在哪里?
簡單來說:利用貝葉斯定理求解聯合概率P(XY)時,需要計算條件概率P(X|Y)。在計算P(X|Y)時,朴素貝葉斯做了一個很強的條件獨立假設(當Y確定時,X的各個分量取值之間相互獨立),即P(X1=x1,X2=x2,...Xj=xj|Y=yk) = P(X1=x1|Y=yk)*P(X2=x2|Y=yk)*...*P(Xj=xj|Y=yk)。
主要的應用:電子郵件垃圾過濾、新聞分類
- 在訓練朴素貝葉斯分類器之前,要處理好訓練集,文本的清洗還是有很多需要學習的東西;
- 根據提取的分類特征將文本向量化,然后訓練朴素貝葉斯分類器。
- 去高頻詞匯數量的不同,對結果也是有影響的的。
- 拉普拉斯平滑對於改善朴素貝葉斯分類器的分類效果有着積極的作用。
2、朴素貝葉斯與LR的區別?
簡單來說:
(1)朴素貝葉斯是生成模型,根據已有樣本進行貝葉斯估計學習出先驗概率P(Y)和條件概率P(X|Y),進而求出聯合分布概率P(XY),最后利用貝葉斯定理求解P(Y|X), 而LR是判別模型,根據極大化對數似然函數直接求出條件概率P(Y|X);
(2)朴素貝葉斯是基於很強的條件獨立假設(在已知分類Y的條件下,各個特征變量取值是相互獨立的),而LR則對此沒有要求;
(3)朴素貝葉斯適用於數據集少的情景,而LR適用於大規模數據集。
前者是生成式模型,后者是判別式模型,二者的區別就是生成式模型與判別式模型的區別。
1)首先,Navie Bayes通過已知樣本求得先驗概率P(Y), 及條件概率P(X|Y), 對於給定的實例,計算聯合概率,進而求出后驗概率。也就是說,它嘗試去找到底這個數據是怎么生成的(產生的),然后再進行分類。哪個類別最有可能產生這個信號,就屬於那個類別。
優點:樣本容量增加時,收斂更快;隱變量存在時也可適用。
缺點:時間長;需要樣本多;浪費計算資源
2)相比之下,Logistic回歸不關心樣本中類別的比例及類別下出現特征的概率,它直接給出預測模型的式子。設每個特征都有一個權重,訓練樣本數據更新權重w,得出最終表達式。梯度法。
優點:直接預測往往准確率更高;簡化問題;可以反應數據的分布情況,類別的差異特征;適用於較多類別的識別。
缺點:收斂慢;不適用於有隱變量的情況。
3、 在估計條件概率P(X|Y)時出現概率為0的情況怎么辦?
簡單來說:引入λ,當λ=1時稱為拉普拉斯平滑。
4、 朴素貝葉斯的優缺點
優點:對小規模的數據表現很好,適合多分類任務,適合增量式訓練。
缺點:對輸入數據的表達形式很敏感(離散、連續,值極大極小之類的)。
5、為什么屬性獨立性假設在實際情況中很難成立,但朴素貝葉斯仍能取得較好的效果?
1)對於分類任務來說,只要各類別的條件概率排序正確、無需精准概率值即可導致正確分類;
2)如果屬性間依賴對所有類別影響相同,或依賴關系的影響能相互抵消,則屬性條件獨立性假設在降低計算開銷的同時不會對性能產生負面影響。
6、為什么要后驗概率最大化:
等價於期望風險最小化。假設選取0-1損失函數,即分類正確取1,錯誤取0,這時的期望風險最小化為
7、算法問題:
實際項目中,概率值往往是很小的小數,連續微小小數相乘容易造成下溢出使乘積為0.
解決方法:對乘積取自然對數,將連乘變為連加。
另外需要注意:給出的特征向量長度可能不同,這是需要歸一化為通長度的向量(這里以文本分類為例),比如說是句子單詞的話,則長度為整個詞匯量的長度,對應位置是該單詞出現的次數。
8、先驗條件概率的計算方法:
a.離散分布時:統計訓練樣本中每個類別出現的頻率。若某一特征值的概率為0會使整個概率乘積變為0(稱為數據稀疏),這破壞了各特征值地位相同的假設條件。
解決方法一:采用貝葉斯估計(λ=1 時稱為拉普拉斯平滑):
解決方法二:通過聚類將未出現的詞找出系統關鍵詞,根據相關詞的概率求平均值。
b.連續分布時:假定其值服從高斯分布(正態分布)。即計算樣本均值與方差。