樸素貝葉斯算法概述
簡(jiǎn)單的說(shuō)仙畦,樸素貝葉斯算法是基于概率論的分類(lèi)方法慨畸。有時(shí)候衣式,使用概率進(jìn)行分類(lèi)比使用硬規(guī)則進(jìn)行分類(lèi)更為有效。
優(yōu)點(diǎn):在數(shù)據(jù)較少的情況下仍然有效弱卡,可以處理多類(lèi)別問(wèn)題。
缺點(diǎn):對(duì)于輸入數(shù)據(jù)的準(zhǔn)備方式較為敏感住册。
適用數(shù)據(jù)類(lèi)型:標(biāo)稱(chēng)型數(shù)據(jù)婶博。
入門(mén)案例
從一個(gè)例子開(kāi)始講起,你會(huì)看到樸素貝葉斯分類(lèi)很好懂荧飞,一點(diǎn)都不難凡人。
某個(gè)醫(yī)院早上收了6個(gè)門(mén)診病人,診斷結(jié)果如下表:
現(xiàn)在又來(lái)了第七個(gè)病人叹阔,是一個(gè)“打噴嚏的工人” 挠轴,請(qǐng)問(wèn)他可能患了什么病条获?
解答上面的問(wèn)題忠荞,應(yīng)計(jì)算“打噴嚏的工人”患上各種疾病的概率帅掘,然后取概率最大的最為結(jié)論委煤。怎么計(jì)算概率,就要用到“樸素貝葉斯”定理修档,其公式如下:(本文并不討論怎么證明該公式)
P(A | B) = P(B | A) * P(A) / P(B)
其中碧绞,P(A | B)的解讀為:B中出現(xiàn)A的概率。
根據(jù)該公式吱窝,我們先計(jì)算“打噴嚏的工人患感冒的概率”讥邻,如下:
P(感冒 | 打噴嚏的工人) = P(打噴嚏的工人 | 感冒) * P(感冒) / P(打噴嚏的工人)
根據(jù)上面的公式,我們?nèi)匀粺o(wú)法從統(tǒng)計(jì)數(shù)據(jù)中得到“P(打噴嚏的工人 | 感冒)”院峡,即:感冒癥狀中兴使,打噴嚏的工人的概率。但“樸素貝葉斯”假定特征之間是獨(dú)立的照激,即:“打噴嚏”和“工人”這兩個(gè)特征是獨(dú)立的发魄,那么上面的等式就變成了:
P(感冒 | 打噴嚏的工人)
= P(打噴嚏 | 感冒) *?P(工人 | 感冒) *?P(感冒) /?P(打噴嚏) *?P(工人)
= (2/3) * (1/3) * (3/6) / (3/6) * (2/6)
=0.66 * 0.33 * 0.5 / 0.5 * 0.33
=0.66
因此,這個(gè)打噴嚏的工人得了感冒的概率是66%。同理励幼,可以計(jì)算這個(gè)病人患上過(guò)敏或腦震蕩的概率汰寓。比較這幾個(gè)概率,就可以知道他最可能得什么病苹粟。
工作原理
貝葉斯概率準(zhǔn)則提供了一種利用已知概率來(lái)估算未知概率的有效方法有滑,即:在統(tǒng)計(jì)資料的基礎(chǔ)上,依據(jù)某些特征嵌削,計(jì)算各個(gè)分類(lèi)的概率毛好,取最大概率作為分類(lèi)的依據(jù)。
可以通過(guò)特征之間的“條件獨(dú)立性假設(shè)” 苛秕,降低對(duì)數(shù)據(jù)量以及計(jì)算復(fù)雜度的需求睛榄。什么是“條件獨(dú)立性假設(shè)” ?如上面的例子“打噴嚏”和“工人”就確實(shí)是獨(dú)立的特征想帅,它們沒(méi)有必然聯(lián)系。但某些情況下并非如此啡莉,如:一個(gè)詞出現(xiàn)在文章中的概率可能會(huì)受其它詞的影響港准,但我們?nèi)约僭O(shè)它并不依賴(lài)于其它詞。雖然我們知道這個(gè)假設(shè)過(guò)于簡(jiǎn)單咧欣、樂(lè)觀浅缸,但這就是之所以稱(chēng)為“樸素貝葉斯”的原因。盡管“條件獨(dú)立性假設(shè)”并不完全準(zhǔn)確魄咕,但是樸素貝葉斯仍然是一種有效的分類(lèi)器衩椒。
一般流程
1.收集數(shù)據(jù):可以使用任何方法;
2.準(zhǔn)備數(shù)據(jù):需要數(shù)值型或者布爾型數(shù)據(jù)哮兰;
3.分析數(shù)據(jù):確保解析的正確性毛萌;
4.訓(xùn)練算法:計(jì)算不同的獨(dú)立特征的條件概率;
5.測(cè)試算法:計(jì)算錯(cuò)誤率喝滞;
6.使用算法:可以在任意的分類(lèi)器場(chǎng)景中適用樸素貝葉斯分類(lèi)器阁将。
可使用場(chǎng)景
1.郵件分類(lèi),如攔截垃圾郵件右遭;
2.新聞分類(lèi)做盅,如對(duì)爬來(lái)的網(wǎng)頁(yè)內(nèi)容歸類(lèi);
……