在眾多機(jī)器學(xué)習(xí)分類算法中,本篇我們提到的樸素貝葉斯模型,和其他絕大多數(shù)分類算法都不同,也是很重要的模型之一。
樸素貝葉斯是一個(gè)非常直觀的模型,在很多領(lǐng)域有廣泛的應(yīng)用,比如早期的文本分類,很多時(shí)候會(huì)用它作為 baseline 模型,本篇內(nèi)容我們對樸素貝葉斯算法原理做展開介紹。
1.樸素貝葉斯算法核心思想
貝葉斯分類是一類分類算法的總稱,這類算法均以貝葉斯定理為基礎(chǔ),故統(tǒng)稱為貝葉斯分類。而樸素貝葉斯(Naive Bayes)分類是貝葉斯分類中最簡單,也是常見的一種分類方法。
樸素貝葉斯算法的核心思想是通過考慮特征概率來預(yù)測分類,即對于給出的待分類樣本,求解在此樣本出現(xiàn)的條件下各個(gè)類別出現(xiàn)的概率,哪個(gè)最大,就認(rèn)為此待分類樣本屬于哪個(gè)類別。
舉個(gè)例子:眼前有100個(gè)西瓜,好瓜和壞瓜個(gè)數(shù)差不多,現(xiàn)在要用這些西瓜來訓(xùn)練一個(gè)『壞瓜識別器』,我們要怎么辦呢?
一般挑西瓜時(shí)通常要『敲一敲』,聽聽聲音,是清脆聲、濁響聲、還是沉悶聲。所以,我們先簡單點(diǎn)考慮這個(gè)問題,只用敲擊的聲音來辨別西瓜的好壞。根據(jù)經(jīng)驗(yàn),敲擊聲『清脆』說明西瓜還不夠熟,敲擊聲『沉悶』說明西瓜成熟度好,更甜更好吃。
所以,壞西瓜的敲擊聲是『清脆』的概率更大,好西瓜的敲擊聲是『沉悶』的概率更大。當(dāng)然這并不絕對——我們千挑萬選地『沉悶』瓜也可能并沒熟,這就是噪聲了。當(dāng)然,在實(shí)際生活中,除了敲擊聲,我們還有其他可能特征來幫助判斷,例如色澤、跟蒂、品類等。
樸素貝葉斯把類似『敲擊聲』這樣的特征概率化,構(gòu)成一個(gè)『西瓜的品質(zhì)向量』以及對應(yīng)的『好瓜/壞瓜標(biāo)簽』,訓(xùn)練出一個(gè)標(biāo)準(zhǔn)的『基于統(tǒng)計(jì)概率的好壞瓜模型』,這些模型都是各個(gè)特征概率構(gòu)成的。
這樣,在面對未知品質(zhì)的西瓜時(shí),我們迅速獲取了特征,分別輸入『好瓜模型』和『壞瓜模型』,得到兩個(gè)概率值。如果『壞瓜模型』輸出的概率值大一些,那這個(gè)瓜很有可能就是個(gè)壞瓜。
2.貝葉斯公式與條件獨(dú)立假設(shè)
貝葉斯定理中很重要的概念是先驗(yàn)概率、后驗(yàn)概率和條件概率。(關(guān)于這部分依賴的數(shù)學(xué)知識,大家可以查看ShowMeAI的文章 圖解AI數(shù)學(xué)基礎(chǔ) | 概率與統(tǒng)計(jì),也可以下載我們的速查手冊 AI知識技能速查 | 數(shù)學(xué)基礎(chǔ)-概率統(tǒng)計(jì)知識)(鏈接見文末)。
1)先驗(yàn)概率與后驗(yàn)概率
2)貝葉斯公式
簡單來說,貝葉斯定理(Bayes Theorem,也稱貝葉斯公式)是基于假設(shè)的先驗(yàn)概率、給定假設(shè)下觀察到不同數(shù)據(jù)的概率,提供了一種計(jì)算后驗(yàn)概率的方法。在人工智能領(lǐng)域,有一些概率型模型會(huì)依托于貝葉斯定理,比如我們今天的主角『樸素貝葉斯模型』。
3)條件獨(dú)立假設(shè)與樸素貝葉斯
基于貝葉斯定理的貝葉斯模型是一類簡單常用的分類算法。在『假設(shè)待分類項(xiàng)的各個(gè)屬性相互獨(dú)立』的情況下,構(gòu)造出來的分類算法就稱為樸素的,即樸素貝葉斯算法。
所謂『樸素』,是假定所有輸入事件之間是相互獨(dú)立。進(jìn)行這個(gè)假設(shè)是因?yàn)楠?dú)立事件間的概率計(jì)算更簡單。
要求出第四項(xiàng)中的后驗(yàn)概率,就需要分別求出在第三項(xiàng)中的各個(gè)條件概率,其步驟是:
總結(jié)一下,樸素貝葉斯模型的分類過程如下流程圖所示:
3.伯努利與多項(xiàng)式樸素貝葉斯
1)多項(xiàng)式vs伯努利樸素貝葉斯
大家在一些資料中,會(huì)看到『多項(xiàng)式樸素貝葉斯』和『伯努利樸素貝葉斯』這樣的細(xì)分名稱,我們在這里基于文本分類來給大家解釋一下:
如果直接以單詞的頻次參與統(tǒng)計(jì)計(jì)算,那就是多項(xiàng)式樸素貝葉斯的形態(tài)。
如果以是否出現(xiàn)(0和1)參與統(tǒng)計(jì)計(jì)算,就是伯努利樸素貝葉斯的形態(tài)。
(1)多項(xiàng)式樸素貝葉斯
(2)伯努利樸素貝葉斯
對應(yīng)的,在伯努利樸素貝葉斯里,我們假設(shè)各個(gè)特征在各個(gè)類別下是服從n重伯努利分布(二項(xiàng)分布)的,因?yàn)椴囼?yàn)僅有兩個(gè)結(jié)果,因此,算法會(huì)首先對特征值進(jìn)行二值化處理(假設(shè)二值化的結(jié)果為1與0)。
2)樸素貝葉斯與連續(xù)值特征
我們發(fā)現(xiàn)在之前的概率統(tǒng)計(jì)方式,都是基于離散值的。如果遇到連續(xù)型變量特征,怎么辦呢?
以人的身高,物體的長度為例。一種處理方式是:把它轉(zhuǎn)換成離散型的值。比如:
回到上述例子,如果身高是我們判定人性別(男/女)的特征之一,我們可以假設(shè)男性和女性的身高服從正態(tài)分布,通過樣本計(jì)算出身高均值和方差,對應(yīng)上圖中公式就得到正態(tài)分布的密度函數(shù)。有了密度函數(shù),遇到新的身高值就可以直接代入,算出密度函數(shù)的值。
4.平滑處理
1)為什么需要平滑處理
使用樸素貝葉斯,有時(shí)候會(huì)面臨零概率問題。零概率問題,指的是在計(jì)算實(shí)例的概率時(shí),如果某個(gè)量,在觀察樣本庫(訓(xùn)練集)中沒有出現(xiàn)過,會(huì)導(dǎo)致整個(gè)實(shí)例的概率結(jié)果是0。
在文本分類的問題中,當(dāng)『一個(gè)詞語沒有在訓(xùn)練樣本中出現(xiàn)』時(shí),這個(gè)詞基于公式統(tǒng)計(jì)計(jì)算得到的條件概率為0,使用連乘計(jì)算文本出現(xiàn)概率時(shí)也為0。這是不合理的,不能因?yàn)橐粋€(gè)事件沒有觀察到就武斷的認(rèn)為該事件的概率是0。
2)拉普拉斯平滑及依據(jù)
審核編輯:劉清
-
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8406瀏覽量
132558 -
樸素貝葉斯
+關(guān)注
關(guān)注
0文章
12瀏覽量
3375
原文標(biāo)題:圖解樸素貝葉斯
文章出處:【微信號:vision263com,微信公眾號:新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論