樸素貝葉斯分類算法

前言:在所有的機(jī)器學(xué)習(xí)分類算法中,樸素貝葉斯和其他絕大多數(shù)的分類算法都不同涂圆。對(duì)于大多數(shù)的分類算法们镜,比如決策樹,KNN乘综,邏輯回歸憎账,支持向量機(jī)等套硼,他們都是判別方法卡辰,也就是直接學(xué)習(xí)出特征輸出Y和特征X之間的關(guān)系,要么是決策函數(shù)Y=f(X),要么是條件分布P(Y|X)九妈。但是樸素貝葉斯卻是生成方法反砌,也就是直接找出特征輸出Y和特征X的聯(lián)合分布,然后用P(Y|X)=P(X,Y)/P(X)得出萌朱。

? ? 樸素貝葉斯很直觀宴树,計(jì)算量也不大,在很多領(lǐng)域有廣泛的應(yīng)用晶疼。

1. 樸素貝葉斯分類

? ? 在給出貝葉斯公式之前先介紹一下貝葉斯學(xué)派。

????貝葉斯學(xué)派很古老,但是從誕生到一百年前一直不是主流锰扶。主流是頻率學(xué)派痕寓。頻率學(xué)派的權(quán)威皮爾遜和費(fèi)歇爾都對(duì)貝葉斯學(xué)派不屑一顧,但是貝葉斯學(xué)派硬是憑借在現(xiàn)代特定領(lǐng)域的出色應(yīng)用表現(xiàn)為自己贏得了半壁江山寒匙。

? ? 貝葉斯學(xué)派的思想可以概括為先驗(yàn)概率+數(shù)據(jù)=后驗(yàn)概率零如。也就是說我們?cè)趯?shí)際問題中需要得到的后驗(yàn)概率,可以通過先驗(yàn)概率和數(shù)據(jù)一起綜合得到锄弱。數(shù)據(jù)大家好理解考蕾,被頻率學(xué)派攻擊的是后延概率,一般來說先驗(yàn)概率就是我們對(duì)于數(shù)據(jù)所在領(lǐng)域的歷史經(jīng)驗(yàn)会宪,但是這個(gè)經(jīng)驗(yàn)常常難以量化或者模型化肖卧,于是貝葉斯學(xué)派大膽的假設(shè)先驗(yàn)分布的模型,比如正態(tài)分布狈谊,beta分布等喜命。這個(gè)假設(shè)一般沒有特定的依據(jù),因此一直被頻率學(xué)派認(rèn)為很荒謬河劝。雖然難以從嚴(yán)密的數(shù)學(xué)邏輯里推出貝葉斯學(xué)派的邏輯壁榕,但是在很多實(shí)際應(yīng)用中,貝葉斯理論很好用赎瞎,比如垃圾郵件分類牌里,文本分類

? ? 我們先看看條件獨(dú)立公式务甥,如果X和Y相互獨(dú)立牡辽,則有: P(X,Y) = P(X)P(Y)

我們接著看看條件概率公式:P(Y|X) = P(X,Y)/P(X)? P(X|Y)=P(X,Y)/P(Y)

下面給出幾個(gè)貝葉斯的基本概念:

先驗(yàn)概率P(A):在不考慮任何情況下,A事件發(fā)生的概率敞临。

注意:1)先驗(yàn)概率是已經(jīng)給定的态辛。

? ? ? ? ? ?2)根據(jù)歷史統(tǒng)計(jì)出來的

條件概率P(B|A):A事件發(fā)生的情況下,B事件發(fā)生的概率挺尿。

后驗(yàn)概率P(A|B):在B事件發(fā)生之后奏黑,對(duì)A事件發(fā)生的概率的重新評(píng)估炊邦。

全概率:如果A和A'構(gòu)成樣本空間的一個(gè)劃分,那么事件B的概率為:A和A'的概 率分別乘以B對(duì)這兩個(gè)事件的概率之和熟史。

樸素貝葉斯分類算法的核心是什么馁害?

下面是貝葉斯公式P(B) = \frac{{P(A|B)P(B)}}{P(A)} ,換個(gè)通俗易懂的表達(dá)式蹂匹。P(類別|特征) = \frac{{P(特征|類別)P(類別)}}{P(特征)} 碘菜,我們最終出P(類別|特征)即可!

? ? 算法思想:基于概率預(yù)測

邏輯回歸通過擬合曲線(或者學(xué)習(xí)超平面)實(shí)現(xiàn)分類限寞,決策樹通過尋找最佳劃分特征進(jìn)而學(xué)習(xí)樣本路徑實(shí)現(xiàn)分類忍啸,支持向量機(jī)通過尋找分類超平面進(jìn)而最大化類別間隔實(shí)現(xiàn)分類。相比之下履植,樸素貝葉斯獨(dú)辟蹊徑吊骤,通過考慮特征概率來預(yù)測分類。

2. 樸素貝葉斯的類型

樸素貝葉斯按照數(shù)據(jù)的先驗(yàn)概率的不同可以分為高斯樸素貝葉斯静尼,伯努利樸素貝葉斯白粉,多項(xiàng)式樸素貝葉斯。

1. 高斯樸素貝葉斯

Gaussian Naive Bayes是指當(dāng)特征屬性為連續(xù)值時(shí)鼠渺,而且分布服從高斯分布鸭巴,那么在計(jì)算P(x|y)的時(shí)候可以直接使用高斯分布的概率分布:

因此只需要計(jì)算出各個(gè)類別中此特征劃分的各個(gè)均值和標(biāo)準(zhǔn)差。

2. 伯努利樸素貝葉斯

Bernoulli Naive Bayes是指當(dāng)特征屬性為連續(xù)值時(shí)拦盹,而且分布服從伯努利分布鹃祖,那么在計(jì)算P(x|y)的時(shí)候可以直接使用伯努利分布的概率分布公式:

伯努利分布是一種離散分布,只有兩種可能的結(jié)果普舆。1表示成功恬口,出現(xiàn)的概率為p;0表示失敗沼侣,出現(xiàn)的概率為q=1-p祖能;其中均值為E(x)=p,方差為Var(X)=p(1-p)

3. 多項(xiàng)式樸素貝葉斯

Multinomial Naive Bayes是指當(dāng)特征屬性服從多項(xiàng)分布,從而蛾洛,對(duì)于每個(gè)類別 y养铸,參數(shù)為θy=(θy1,θy2,...,θyn),其中n為特征屬性數(shù)目轧膘,那么P(xi|y)的概率為θyi.


api 介紹:

? ? 樸素貝葉斯是一類比較簡單的算法钞螟,scikit-learn中樸素貝葉斯類庫的使用也比較簡單。相對(duì)于決策樹谎碍,KNN之類的算法鳞滨,樸素貝葉斯需要關(guān)注的參數(shù)是比較少的,這樣也比較容易掌握蟆淀。在scikit-learn中拯啦,一共有3個(gè)樸素貝葉斯的分類算法類闽晦。分別是GaussianNB,MultinomialNB和BernoulliNB提岔。其中GaussianNB就是先驗(yàn)為高斯分布的樸素貝葉斯,MultinomialNB就是先驗(yàn)為多項(xiàng)式分布的樸素貝葉斯笋敞,而BernoulliNB就是先驗(yàn)為伯努利分布的樸素貝葉斯碱蒙。

? ? 這三個(gè)類使用的分類場景各不相同,一般來說夯巷,如果樣本特征的分布大部分是連續(xù)值赛惩,使用GaussianNB會(huì)比較好。如果樣本特征的分大部分是多元離散值趁餐,使用MultinomialNB比較合適喷兼。而如果樣本特征是二元離散值或者和稀疏的多元離散值,應(yīng)該使用BernoulliNB后雷。

????在使用GaussianNB的fit方法擬合數(shù)據(jù)后季惯,我們可以進(jìn)行預(yù)測。此時(shí)預(yù)測有三種方法臀突,包括predict勉抓,predict_log_proba和predict_proba。

predict方法就是我們最常用的預(yù)測方法候学,直接給出測試集的預(yù)測類別輸出藕筋。

predict_proba則不同,它會(huì)給出測試集樣本在各個(gè)類別上預(yù)測的概率梳码。容易理解隐圾,predict_proba預(yù)測出的各個(gè)類別概率里的最大值對(duì)應(yīng)的類別,也就是predict方法得到類別掰茶。

predict_log_proba和predict_proba類似暇藏,它會(huì)給出測試集樣本在各個(gè)類別上預(yù)測的概率的一個(gè)對(duì)數(shù)轉(zhuǎn)化。轉(zhuǎn)化后predict_log_proba預(yù)測出的各個(gè)類別對(duì)數(shù)概率里的最大值對(duì)應(yīng)的類別濒蒋,也就是predict方法得到類別叨咖。

3. 拉普拉斯平滑

????為了解決零概率的問題,法國數(shù)學(xué)家拉普拉斯最早提出用加1的方法估計(jì)沒有出現(xiàn)過的現(xiàn)象的概率啊胶,所以加法平滑也叫做拉普拉斯平滑甸各。假定訓(xùn)練樣本很大時(shí),每個(gè)分量x的計(jì)數(shù)加1造成的估計(jì)概率變化可以忽略不計(jì)焰坪,但可以方便有效的避免零概率問題

? ? 對(duì)于離散的特征趣倾,我們還要考慮后驗(yàn)條件概率等于0的情況,因?yàn)檫@樣的情況可能會(huì)帶來較大偏差某饰。比如儒恋,當(dāng)輸入的數(shù)據(jù)某個(gè)特征出現(xiàn)了一個(gè)訓(xùn)練集中沒有出現(xiàn)的值善绎,那么此時(shí)的條件概率P(x^j|c_i )=0。然而不管其他特征值再這個(gè)c_i中出現(xiàn)了多少次诫尽,這個(gè)數(shù)據(jù)點(diǎn)都不再屬于c_i禀酱。這就好像一個(gè)從來都只看過鳥在天上飛的人,突然有一天看到了一只在地上走的鳥牧嫉,不管它的其它特征多么像鳥剂跟,這個(gè)人都斷定所看到的的絕對(duì)不是鳥。為了避免這種莫名其妙的變化酣藻,我們需要讓概率值“平滑”一些曹洽,寧愿這個(gè)值很小也不要讓它是0。這就要用到下列的拉普拉斯平滑來估計(jì)后驗(yàn)概率:

P_\lambda (x|c_i) = \frac{{ \vert D_{ci,x} \vert  + \lambda }}{{ \vert D_{ci} \vert  + N_{ci} \lambda }} 辽剧,其中N_{ci}表示訓(xùn)練集中c_i可能的取值數(shù)送淆,\lambda 是一個(gè)玄學(xué)參數(shù),取0時(shí)上式就是極大似然估計(jì)怕轿,所以通常取1.

4. 樸素貝葉斯分類的優(yōu)缺點(diǎn)

優(yōu)點(diǎn):

1)樸素貝葉斯模型發(fā)源于古典數(shù)學(xué)理論偷崩,有穩(wěn)定的分類效率。

2)對(duì)小規(guī)模的數(shù)據(jù)表現(xiàn)很好撞羽,能個(gè)處理多分類任務(wù)环凿,適合增量式訓(xùn)練,尤其是數(shù)據(jù)量超出內(nèi)存時(shí)放吩,我們可以一批批的去增量訓(xùn)練智听。

3)對(duì)缺失數(shù)據(jù)不太敏感,算法也比較簡單渡紫,常用于文本分類到推。

缺點(diǎn):

??1) 理論上,樸素貝葉斯模型與其他分類方法相比具有最小的誤差率惕澎。但是實(shí)際上并非總是如此莉测,這是因?yàn)闃闼刎惾~斯模型假設(shè)屬性之間相互獨(dú)立,這個(gè)假設(shè)在實(shí)際應(yīng)用中往往是不成立的唧喉,在屬性個(gè)數(shù)比較多或者屬性之間相關(guān)性較大時(shí)捣卤,分類效果不好。而在屬性相關(guān)性較小時(shí)八孝,樸素貝葉斯性能最為良好董朝。對(duì)于這一點(diǎn),有半樸素貝葉斯之類的算法通過考慮部分關(guān)聯(lián)性適度改進(jìn)干跛。

2)需要知道先驗(yàn)概率子姜,且先驗(yàn)概率很多時(shí)候取決于假設(shè),假設(shè)的模型可以有很多種楼入,因此在某些時(shí)候會(huì)由于假設(shè)的先驗(yàn)?zāi)P偷脑驅(qū)е骂A(yù)測效果不佳哥捕。

3)由于我們是通過先驗(yàn)和數(shù)據(jù)來決定后驗(yàn)的概率從而決定分類牧抽,所以分類決策存在一定的錯(cuò)誤率。

4)對(duì)輸入數(shù)據(jù)的表達(dá)形式很敏感遥赚。

適用場景:文本分類扬舒。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市凫佛,隨后出現(xiàn)的幾起案子讲坎,更是在濱河造成了極大的恐慌,老刑警劉巖御蒲,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異诊赊,居然都是意外死亡厚满,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門碧磅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來碘箍,“玉大人,你說我怎么就攤上這事鲸郊》崃瘢” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵秆撮,是天一觀的道長四濒。 經(jīng)常有香客問我,道長职辨,這世上最難降的妖魔是什么盗蟆? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮舒裤,結(jié)果婚禮上喳资,老公的妹妹穿的比我還像新娘。我一直安慰自己腾供,他們只是感情好仆邓,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著伴鳖,像睡著了一般节值。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上榜聂,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天察署,我揣著相機(jī)與錄音,去河邊找鬼峻汉。 笑死贴汪,一個(gè)胖子當(dāng)著我的面吹牛脐往,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播扳埂,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼业簿,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了阳懂?” 一聲冷哼從身側(cè)響起梅尤,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎岩调,沒想到半個(gè)月后巷燥,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡号枕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年缰揪,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片葱淳。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡钝腺,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出赞厕,到底是詐尸還是另有隱情艳狐,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布皿桑,位于F島的核電站毫目,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏诲侮。R本人自食惡果不足惜蒜茴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望浆西。 院中可真熱鬧粉私,春花似錦、人聲如沸近零。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽久信。三九已至窖杀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間裙士,已是汗流浹背入客。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人桌硫。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓夭咬,卻偏偏與公主長得像,于是被迫代替她去往敵國和親铆隘。 傳聞我的和親對(duì)象是個(gè)殘疾皇子卓舵,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容