【NLP】经典分类模型朴素贝叶斯解读
貝葉斯分類器在早期的自然語言處理任務(wù)中有著較多實際的應(yīng)用,例如大部分的垃圾郵件處理都是用的貝葉斯分類器。貝葉斯分類器的理論對于理解后續(xù)的NLP模型有很大的進(jìn)益,感興趣的小伙伴一定要好好看看,本文會詳細(xì)的講述貝葉斯分類器的原理。
本文會是我們NLP基礎(chǔ)系列最后一篇機器學(xué)習(xí)模型的講解,后面會進(jìn)入深度學(xué)習(xí)相關(guān)的內(nèi)容。
作者&編輯 | 小Dream哥
1 貝葉斯決策論
貝葉斯決策論是在統(tǒng)計概率框架下進(jìn)行分類決策的基本方法。對于分類任務(wù)來說,在所有相關(guān)概率都已知的情況下,貝葉斯決策論考慮如何基于這些概率和誤判損失來預(yù)測分類。
假設(shè)在一個分類任務(wù)中,有N種可能的分類,y={c1,c2,c3,...,cN}。我們會這樣定義將一個樣本預(yù)測為ci的期望損失,又叫“條件風(fēng)險”:
1、其中l(wèi)ambda_i_j,是將一個第j類樣本預(yù)測為i類的損失
2、P(c_j|x)表示為將樣本x預(yù)測為j類的概率
那么學(xué)習(xí)的任務(wù)是什么呢?
學(xué)習(xí)任務(wù)是尋找一個判定準(zhǔn)則,利用該判定準(zhǔn)則(分類器)進(jìn)行分類預(yù)測,能夠最小化條件風(fēng)險:
如果我們針對每個樣本x都最小化其條件風(fēng)險,那么整體的風(fēng)險也會最小。
這就是所謂的貝葉斯判定準(zhǔn)則:為最小化總體風(fēng)險,只需在每個樣本上選擇那個能使條件風(fēng)險最小的類別標(biāo)記,即
h*稱為貝葉斯最優(yōu)分類器。
講了這些理論,估計大家更是云里霧里,那我們不妨來看看實際的樸素貝葉斯分類器是怎么構(gòu)建的。
我們先假設(shè)lambda_i_j有這樣的形式:
那么
這樣的話,最小化分類錯誤率的貝葉斯最優(yōu)分類器為:
怎么理解呢?小Dream哥的理解是,根據(jù)貝葉斯判定準(zhǔn)則,我們要預(yù)測一個樣本屬于哪一個類別,計算所有的后驗概率P(c|x),概率最大的那一個類別的后驗概率就是預(yù)測到的類別了。
那么該如何去計算后驗概率P(c|x)呢?
貝葉斯模型是一種生成模型,先計算聯(lián)合概率P(c,x),再通過聯(lián)合概率計算后驗概率,也就是利用如下的貝葉斯公式:
OK,那聯(lián)合概率和先驗概率該怎么計算呢?樸素貝葉斯模型就該登場了。
2 樸素貝葉斯分類器
我們再來仔細(xì)的分析貝葉斯公式,在有一個訓(xùn)練集的情況下:
1、P(c)為樣本為某個類別的概率,給定樣本及其label后容易計算
2、P(x)為某個樣本(所有屬性相同)出現(xiàn)的概率,給定樣本后,容?
? ? ?易得到
比較難計算的是P(x|c):
其中m為樣本屬性的個數(shù),例如預(yù)測西瓜是不是甜的模型,如果基于西瓜的花紋是否清晰、敲起來響聲是否清亮這兩個屬性來判斷的話,屬性個數(shù)為2,也就是m=2。
在樸素貝葉斯模型中,有一個樣本屬性條件獨立性假設(shè),即:
這樣貝葉斯公式就變成了:
那么,樸素貝葉斯模型得公式就調(diào)整為:
對于所有類別來說,P(x)相同,所以上式可以簡化為:
好了,這就是樸素貝葉斯模型基礎(chǔ)理論的所有內(nèi)容了。
到這里,反應(yīng)快的同學(xué)就會說:“你說了這么多原理和公式,那么這個模型到底是怎么訓(xùn)練和預(yù)測的呢?”下面我們就來討論這個問題。
3 樸素貝葉斯模型的訓(xùn)練和預(yù)測
我們好好看看樸素貝葉斯模型最后的表達(dá)式,帶計算的參數(shù)有P(c),P(x_i|c)。訓(xùn)練的過程,其實就是計算所有的P(c),P(x_i|c)的過程。
假設(shè)數(shù)據(jù)集為D,Dc表示數(shù)據(jù)集中C類樣本組成得集合。|D|表示數(shù)據(jù)集中樣本的個數(shù),|Dc|表示C類樣本的個數(shù)。
那么P(c)可以如下表示:
P(x_i|c)可以用下式表示:
|Dc,x_i|表示樣本屬于c類,第i個屬性為x_i的樣本的數(shù)目。在已知數(shù)據(jù)集的情況下,上面兩個式字都很容易計算,得到所有P(c)和P(x_i|c)后,就完成了學(xué)習(xí)的過程。
那么,當(dāng)來了一個新樣本,該如何對該樣本的類別進(jìn)行預(yù)測呢?
假設(shè)新樣本X(x_1,x_2,_x_3,....x_m),總共有n個類別。根據(jù)最終的貝葉斯公式
預(yù)測步驟如下:
(1)根據(jù)訓(xùn)練獲得的概率值矩陣,第1個類別的P(c_1)和P(x_1|c_1),P(x_2|c_1),...P(x_m|c_1),并計算他們的乘積,得到屬于第一個類別的概率
(2)同上,計算樣本屬于其他類別的概率
(3)取概率最大的類別為預(yù)測樣本的類別
這里總結(jié)一下:
樸素貝葉斯模型在訓(xùn)練過程,利用數(shù)據(jù)集D,計算P(c),P(x_i|c)。在預(yù)測時,輸入樣本,利用貝葉斯公式,計算n個類別的概率,最后輸出概率最大的那個類別,作為預(yù)測的類別。
總結(jié)
整個看下來,樸素貝葉斯模型的本質(zhì)是針對樣本屬性的統(tǒng)計概率模型。要想樸素貝葉斯模型的效果好,前期的特征工程和數(shù)據(jù)清洗是非常重要的工作。早期的機器學(xué)習(xí)分類模型,特征選擇是至關(guān)重要的工作,直接決定了模型的效果,這點與現(xiàn)在的深度學(xué)模型有很大的差別。神經(jīng)網(wǎng)絡(luò)中,通常是在模型內(nèi)進(jìn)行特征提取與學(xué)習(xí),這就大大減少了特征工程方面的工作。
這是NLP基礎(chǔ)理論系列文章中最后一篇機器學(xué)習(xí)方面的文章了,后面開始介紹深度學(xué)習(xí)相關(guān)的內(nèi)容了。其他經(jīng)典的模型,例如SVM,決策樹,EM等,如有需要,大家可以留言,小Dream哥視情況,要不要再補上。
下期預(yù)告:遞歸神經(jīng)網(wǎng)絡(luò)RNN
NLP群推薦
有三AI建立了一個NLP群,便于有志者相互交流。現(xiàn)人數(shù)較多,不便貼二維碼。感興趣的同學(xué)可以微信搜索jen104,備注"加入有三AI NLP群"。
知識星球推薦
有三AI知識星球,內(nèi)設(shè)8大學(xué)習(xí)板塊,包括深度學(xué)習(xí)模型解讀“網(wǎng)絡(luò)結(jié)構(gòu)1000問”,覆蓋傳統(tǒng)圖像算法/機器學(xué)習(xí)/深度學(xué)習(xí)等內(nèi)容的有獎“看圖猜技術(shù)”,不常為人所知的“數(shù)據(jù)集”,優(yōu)質(zhì)“GitHub項目”推薦,優(yōu)質(zhì)AI電子書“AI書籍”,容易忽略的小問題“AI1000問”,濃縮領(lǐng)域精華的“AI知識匯總”,以及眾籌合作的開發(fā)“項目”。
轉(zhuǎn)載文章請后臺聯(lián)系
侵權(quán)必究
往期精選
【NLP】自然語言處理專欄上線,帶你一步一步走進(jìn)“人工智能技術(shù)皇冠上的明珠”。
【NLP】用于語音識別、分詞的隱馬爾科夫模型HMM
【NLP】用于序列標(biāo)注問題的條件隨機場(Conditional Random Field, CRF)
【NLP】 NLP專欄欄主自述,說不出口的話就交給AI說吧
總結(jié)
以上是生活随笔為你收集整理的【NLP】经典分类模型朴素贝叶斯解读的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【杂谈】菜鸟误入linux会有哪些惨痛的
- 下一篇: 【GAN优化】详解SNGAN(频谱归一化