樸素貝葉斯算法:如何用AI買到好瓜?
如何利用AI買到一個好瓜?本文介紹了樸素貝葉斯算法的原理、應(yīng)用場景和優(yōu)缺點,希望能夠幫助你更好地應(yīng)用。
上篇文章我們介紹了K近鄰算法,今天我們接著來學(xué)習(xí)另一個基礎(chǔ)的分類方法,樸素貝葉斯算法。
樸素貝葉斯(Naive Bayes)是經(jīng)典的機(jī)器學(xué)習(xí)算法之一,也是為數(shù)不多的基于概率論的分類算法。
樸素貝葉斯是在貝葉斯原理的基礎(chǔ)上,假定特征與特征之間相互獨立。
那么我們需要先了解一下貝葉斯算法。
一、貝葉斯公式
貝葉斯公式又被稱為貝葉斯規(guī)則,其原理大概是:當(dāng)不能準(zhǔn)確知道事物本質(zhì)時,可以根據(jù)與事物特定本質(zhì)相關(guān)的事件出現(xiàn)的多少去判斷該事物的本質(zhì)。
比如,我們雖然無法準(zhǔn)確的知道某個西瓜是不是好西瓜,但是我們可以通過敲擊聲、色澤、根蒂形狀等特征去判斷是否是好西瓜,如果它的敲擊聲沉悶、色澤青綠、根蒂蜷縮,那我們根據(jù)經(jīng)驗可以判斷它大概率是個好西瓜。
貝葉斯公式中涉及到先驗概率、條件概率、后驗概率、聯(lián)合概率等基礎(chǔ)概念,具體解釋如下:
- 先驗概率:事件A根據(jù)經(jīng)驗來判斷發(fā)生的概率,記作P(A)。比如從歷史數(shù)據(jù)中統(tǒng)計出西瓜“色澤青綠”事件的概率為60%,那么P(色澤青綠)=60%
- 條件概率:事件B在事件A已發(fā)生條件下的概率,記作P(B|A)。比如從歷史數(shù)據(jù)中統(tǒng)計出西瓜為“好瓜”時,“色澤青綠”的概率為80%,那么P(色澤青綠|好瓜)=80%
- 后驗概率:基于先驗概率求得的反向條件概率。P(B|A)是A發(fā)生后B的條件概率,也可以稱作B的后驗概率,所以后延概率的公式和條件概率一樣,但區(qū)別在于條件概率是從歷史數(shù)據(jù)中統(tǒng)計得來,而后驗概率是基于先驗概率和條件概率計算得來。
- 聯(lián)合概率:表示兩個事件共同發(fā)生的概率。A與B的聯(lián)合概率一般表示為P(AB)或P(A,B)。比如“色澤青綠”(事件A)和“敲擊聲沉悶”(事件B)同時發(fā)生的概率為30%,則事件A和事件B同時發(fā)生的概率P(AB)=30%
實際上,貝葉斯的原理就是根據(jù)先驗概率和條件概率估算得到后驗概率。
二、樸素貝葉斯的原理
樸素貝葉斯是在貝葉斯原理的基礎(chǔ)上,假定特征與特征之間相互獨立,從而得到了如下樸素貝葉斯的公式:
我們以挑選好西瓜為例,拆解一下這個公式,為了方便理解,我們從西瓜的眾多特征中,僅挑選“色澤青綠”一個特征,來表達(dá)如果一個西瓜“色澤青綠”的話,如何計算它為“好瓜”的概率。
假設(shè)公式里的A代表“好瓜”,B代表“色澤青綠”,那么我們可以得到如下幾個概率:
- P(A):歷史數(shù)據(jù)中,統(tǒng)計西瓜為“好瓜”的概率,比如70%
- P(B):歷史數(shù)據(jù)中,統(tǒng)計西瓜為“色澤青綠”的概率,比如60%
- P(B|A):歷史數(shù)據(jù)中,統(tǒng)計西瓜為“好瓜”時,“色澤青綠”的概率,比如75%
那么我們就可以根據(jù)這幾個概率,代入公式,計算得到P(A|B),即西瓜“色澤青綠”時,為“好瓜”的概率:P(A|B) = P(B|A)*P(A)/P(B) = 0.75*0.7/0.6 = 87.5%
也就是說,當(dāng)西瓜“色澤青綠”時,有87.5%的概率是“好瓜”。
當(dāng)然,僅僅靠一個特征是無法判斷西瓜好壞的,那么多個特征的時候要怎么計算呢?我們來擴(kuò)展一下,再引入一個“敲擊聲沉悶”特征。
也就是假設(shè)A1代表“好瓜”,A2代表“壞瓜”,B1代表“色澤青綠”,B2代表“敲擊聲沉悶”,計算當(dāng)西瓜同時具備“色澤青綠”和“敲擊聲沉悶”特征時,為好瓜或壞瓜的概率。
- P(A1):歷史數(shù)據(jù)中,統(tǒng)計西瓜為“好瓜”的概率,比如70%
- P(A2):歷史數(shù)據(jù)中,統(tǒng)計西瓜為“壞瓜”的概率,比如30%
- P(B1B2):歷史數(shù)據(jù)中,統(tǒng)計西瓜同時具備“色澤青綠”和“敲擊聲沉悶”特征的概率,比如30%
- P(B1B2|A1):歷史數(shù)據(jù)中,統(tǒng)計西瓜為“好瓜”時,同時具備“色澤青綠”和“敲擊聲沉悶”特征的概率,比如40%
- P(B1B2|A2):歷史數(shù)據(jù)中,統(tǒng)計西瓜為“壞瓜”時,同時具備“色澤青綠”和“敲擊聲沉悶”特征的概率,比如15%
我們將以上概率代入公式,分別得到如下結(jié)果:
- P(A1|B1B2) = P(B1B2|A1)*P(A1)/P(B1B2) = 0.4*0.7/0.3= 93.33%
- P(A2|B1B2) = P(B1B2|A2)*P(A2)/P(B1B2) = 0.15*0.3/0.3 = 15%
也就是說,當(dāng)西瓜同時具備“色澤青綠”和“敲擊聲沉悶”特征時,有93.33%的概率是“好瓜”,15%的概率是“壞瓜”。
三、應(yīng)用場景
樸素貝葉斯假設(shè)條件之間相互獨立,所以比較適用于特征相對獨立的場景:
- 文本分類:樸素貝葉斯算法能夠有效地處理高維度的特征空間,而文本通常以詞袋模型或者 TF-IDF 來表示,特征維度較高。
- 垃圾郵件過濾:樸素貝葉斯算法能夠通過統(tǒng)計每個詞在垃圾郵件和非垃圾郵件中出現(xiàn)的頻率,來計算詞的條件概率,自動識別和過濾垃圾郵件。
- 情感分析:樸素貝葉斯算法能夠通過統(tǒng)計情感詞匯在正面文本和負(fù)面文本中出現(xiàn)的頻率,來計算情感詞的條件概率,判斷文本的情感傾向。
- 個性化推薦:樸素貝葉斯算法能夠通過統(tǒng)計用戶對不同物品的喜好頻率,來計算物品的條件概率,從而預(yù)測用戶對不同物品的喜好程度。
四、優(yōu)缺點
樸素貝葉斯算法的優(yōu)點:
- 邏輯簡單:樸素貝葉斯是一種基于概率統(tǒng)計的分類算法,其計算速度快,適用于大規(guī)模數(shù)據(jù)集。算法的原理簡單,實現(xiàn)容易,不需要太多的參數(shù)調(diào)整。
- 快速高效:樸素貝葉斯計算效率高,可以處理具有高維特征空間的大型數(shù)據(jù)集。
- 可以處理不相關(guān)的特征:樸素貝葉斯可以處理數(shù)據(jù)集中不相關(guān)的特征,并且仍然表現(xiàn)良好。
樸素貝葉斯算法的缺點:
- 假設(shè)條件之間相互獨立:樸素貝葉斯假設(shè)條件之間相互獨立,這就導(dǎo)致其有很大的局限性,只有在條件很少且相互獨立時,才有較好的效果
- 無法處理連續(xù)變量:樸素貝葉斯假設(shè)特征是離散的,對于連續(xù)型數(shù)據(jù)需要進(jìn)行離散化處理,可能會導(dǎo)致信息損失
- 需要足夠的樣本數(shù)據(jù):樸素貝葉斯是基于統(tǒng)計學(xué)的算法,需要足夠的樣本數(shù)據(jù)來估計概率分布參數(shù),否則會導(dǎo)致概率估計不準(zhǔn)確,影響效果
五、總結(jié)
本文我們介紹了樸素貝葉斯算法的原理、應(yīng)用場景和優(yōu)缺點,還提到了貝葉斯公式的相關(guān)內(nèi)容。
下篇文章,我們來聊一聊線性回歸算法,敬請期待。
本文由 @AI小當(dāng)家 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自 Unsplash,基于 CC0 協(xié)議
該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。
- 目前還沒評論,等你發(fā)揮!