數(shù)據(jù)分析經(jīng)典模型——樸素貝葉斯
編輯導(dǎo)語(yǔ):做過數(shù)據(jù)分析的人,想必對(duì)貝葉斯模型都不會(huì)陌生。貝葉斯預(yù)測(cè)模型是運(yùn)用貝葉斯統(tǒng)計(jì)進(jìn)行的一種預(yù)測(cè),不同于一般的統(tǒng)計(jì)方法,其不僅利用模型信息和數(shù)據(jù)信息,而且充分利用先驗(yàn)信息。通過實(shí)證分析的方法,將貝葉斯預(yù)測(cè)模型與普通回歸預(yù)測(cè)模型的預(yù)測(cè)結(jié)果進(jìn)行比較,結(jié)果表明貝葉斯預(yù)測(cè)模型具有明顯的優(yōu)越性。
說到貝葉斯模型,就算是不搞數(shù)據(jù)分析的都會(huì)有所耳聞,因?yàn)樗膽?yīng)用范圍實(shí)在是太廣泛了。
大數(shù)據(jù)、機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘、數(shù)據(jù)分析等領(lǐng)域幾乎都能找到貝葉斯模型的影子,在疾病診斷、金融投資、日常生活中也都會(huì)用到。
貝葉斯公式不僅可以幫助人們確定導(dǎo)致某一事件發(fā)生的最可能的原因,而且在數(shù)量上刻畫了隨著新信息的加入,人們對(duì)一個(gè)事物的認(rèn)識(shí)如何從先驗(yàn)概率過渡到后驗(yàn)概率。
要了解貝葉斯,我們先來看看條件概率。
一、條件概率
條件概率是指事件A在事件B發(fā)生的條件下發(fā)生的概率,條件概率表示為:P(A|B)。
來看下面這個(gè)例子:
假設(shè)現(xiàn)在有一個(gè)裝了7個(gè)石塊的罐子,其中4塊是紅色的,3塊是白色的,如圖:
問題1:如果從罐子中隨機(jī)取出一塊石頭,那么是白色的可能性是多少?
回答1:由于取石頭有7種可能,其中3塊是白色,所以取出白色石頭的概率為3/7。
問題2:取出紅色的概率是多少?
回答2:很顯然,答案是4/7。
我們用P(white)來表示取到白色石頭的概率,用P(red)來表示取到紅色石頭的概率,那么:P(white)=3/7,P(red)=4/7。
很簡(jiǎn)單,對(duì)吧?
問題來了:現(xiàn)在,我們把這7塊石頭放到兩個(gè)桶中,上述概率該如何計(jì)算呢?
問題分析:要計(jì)算P(white)或者P(red),事先得知道石頭所在桶的信息會(huì)不會(huì)改變結(jié)果?
假定計(jì)算的是從B桶取到白色石頭的概率,這個(gè)概率可以記作P(white|B),我們稱之為“在已知石頭出自B桶的條件下,取出白色石頭的概率”,這就是條件概率。
從上圖可以看出P(white|A)=2/4,P(white|B)=1/3,依然很簡(jiǎn)單。
條件概率的計(jì)算公式如下:
P(white|B)=P(white and B)/P(B)
我們來驗(yàn)證下上述公式:
- P(white and B)=球是白色且球是從B桶中取到的=1/7;
- P(B)=從B桶中取到球的概率=3/7;
- P(white|B)=P(white and B)/P(B)=(1/7)/(3/7)=1/3;
為了方便起見,我們將white替換為A,條件概率可以表示為P(A|B)=P(A and B)/P(B)。
二、貝葉斯公式
知道了條件概率,現(xiàn)在,我們來推算貝葉斯公式:
1. 第一步
條件概率公式兩邊都乘以P(B),可以得到:
P(A and B)=P(A|B)*P(B)
這個(gè)公式表示,條件A 和 B同時(shí)發(fā)生的概率等于B條件下A事件發(fā)生的概率乘以B事件發(fā)生的概率。
2. 第二步
順序調(diào)換。假設(shè)條件A 和條件B是兩個(gè)獨(dú)立的事件,所以我們可以將上述公式順序調(diào)換,即:
P(A and B)=P(B and A)=P(B|A)*P(A)
這個(gè)公式表示,條件A 和 B同時(shí)發(fā)生的概率等于B條件下A事件發(fā)生的概率乘以B事件發(fā)生的概率。
3. 第三步
重新代入條件概率公式:
P(A|B)=P(A and B)/P(B)
代入第二步的公式:
P(A and B)=P(B|A)P(A)
可以得到:
P(A|B)=P(B|A)P(A)/P(B)
貝葉斯公式告訴我們?nèi)绾谓粨Q條件概率的條件與結(jié)果,即如果已知P(B|A),要求P(A|B),那么可以使用上述計(jì)算方法。
上述公式中,每個(gè)概率又有不同的說法:
- P(A)被稱為先驗(yàn)概率;
- P(B|A)被稱為后驗(yàn)概率;
- P(B)被稱為全概率。
三、貝葉斯公式的應(yīng)用
以下摘一段 wikipedia 上對(duì)貝葉斯的簡(jiǎn)介:
所謂的貝葉斯方法源于他生前為解決一個(gè)“逆概”問題寫的一篇文章,而這篇文章是在他死后才由他的一位朋友發(fā)表出來的。
在貝葉斯寫這篇文章之前,人們已經(jīng)能夠計(jì)算“正向概率”,如“假設(shè)袋子里面有N個(gè)白球,M個(gè)黑球,你伸手進(jìn)去摸一把,摸出黑球的概率是多大”。
而一個(gè)自然而然的問題是反過來:“如果我們事先并不知道袋子里面黑白球的比例,而是閉著眼睛摸出一個(gè)(或好幾個(gè))球,觀察這些取出來的球的顏色之后,那么我們可以就此對(duì)袋子里面的黑白球的比例作出什么樣的推測(cè)”。
這個(gè)問題,就是所謂的逆概問題。
貝葉斯是機(jī)器學(xué)習(xí)的核心方法之一。
這背后的深刻原因在于,現(xiàn)實(shí)世界本身就是不確定的,人類的觀察能力是有局限性的。
沿用剛才那個(gè)袋子里面取球的比方,我們往往只能知道從里面取出來的球是什么顏色,而并不能直接看到袋子里面實(shí)際的情況。
這個(gè)時(shí)候,我們就需要提供一個(gè)猜測(cè)(hypothesis)。所謂猜測(cè),當(dāng)然就是不確定的,但也絕對(duì)不是兩眼一抹黑瞎蒙——具體地說,我們需要做兩件事情:
- 算出各種不同猜測(cè)的可能性大小。
- 算出最靠譜的猜測(cè)是什么。
以病人的分類為例,某個(gè)醫(yī)院早上收了六個(gè)門診病人,如下表:
現(xiàn)在又來了第七個(gè)病人,是一個(gè)打噴嚏的建筑工人,請(qǐng)問他患上感冒的概率有多大?
根據(jù)貝葉斯定理:
可得:
假定”打噴嚏”和”建筑工人”這兩個(gè)特征是獨(dú)立的,因此,上面的等式就變成了:
這是可以計(jì)算的。
因此,這個(gè)打噴嚏的建筑工人,有66%的概率是得了感冒;同理,可以計(jì)算這個(gè)病人患上過敏或腦震蕩的概率,比較這幾個(gè)概率,就可以知道他最可能得什么病。
這就是貝葉斯分類器的基本方法:在統(tǒng)計(jì)資料的基礎(chǔ)上,依據(jù)某些特征,計(jì)算各個(gè)類別的概率,從而實(shí)現(xiàn)分類。
本文由 @CARRIE 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于CC0協(xié)議
如何結(jié)合業(yè)務(wù)使用呢?
讓我想起了大學(xué)被高數(shù)支配的恐懼
有點(diǎn)不太明白最后一個(gè),打噴嚏的建筑工人為什么是0.33*0.5,請(qǐng)賜教,謝謝
感冒是3/6,就是0.5,感冒中有2個(gè)打噴嚏,所以是2/3,就是0.66,感冒中有1個(gè)建筑工人,所以是1/3,也就是0.33;因?yàn)榇驀娞绾徒ㄖと耸仟?dú)立的,所以P(打噴嚏*建筑工人|感冒) = P(打噴嚏|感冒)*P(建筑工人|感冒)
因?yàn)榇驀娞绾徒ㄖと耸仟?dú)立的,所以p(打噴嚏*建筑工人)=p(打噴嚏)*p(建筑工人)=3/6*2/6=0.5*0.33
感謝賜教,已懂