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