數(shù)據(jù)分析經(jīng)典模型——樸素貝葉斯

6 評論 12282 瀏覽 60 收藏 9 分鐘

編輯導(dǎo)語:做過數(shù)據(jù)分析的人,想必對貝葉斯模型都不會陌生。貝葉斯預(yù)測模型是運(yùn)用貝葉斯統(tǒng)計進(jìn)行的一種預(yù)測,不同于一般的統(tǒng)計方法,其不僅利用模型信息和數(shù)據(jù)信息,而且充分利用先驗(yàn)信息。通過實(shí)證分析的方法,將貝葉斯預(yù)測模型與普通回歸預(yù)測模型的預(yù)測結(jié)果進(jìn)行比較,結(jié)果表明貝葉斯預(yù)測模型具有明顯的優(yōu)越性。

說到貝葉斯模型,就算是不搞數(shù)據(jù)分析的都會有所耳聞,因?yàn)樗膽?yīng)用范圍實(shí)在是太廣泛了。

大數(shù)據(jù)、機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘、數(shù)據(jù)分析等領(lǐng)域幾乎都能找到貝葉斯模型的影子,在疾病診斷、金融投資、日常生活中也都會用到。

貝葉斯公式不僅可以幫助人們確定導(dǎo)致某一事件發(fā)生的最可能的原因,而且在數(shù)量上刻畫了隨著新信息的加入,人們對一個事物的認(rèn)識如何從先驗(yàn)概率過渡到后驗(yàn)概率。

要了解貝葉斯,我們先來看看條件概率。

一、條件概率

條件概率是指事件A在事件B發(fā)生的條件下發(fā)生的概率,條件概率表示為:P(A|B)。

來看下面這個例子:

假設(shè)現(xiàn)在有一個裝了7個石塊的罐子,其中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。

很簡單,對吧?

問題來了:現(xiàn)在,我們把這7塊石頭放到兩個桶中,上述概率該如何計算呢?

問題分析:要計算P(white)或者P(red),事先得知道石頭所在桶的信息會不會改變結(jié)果?

假定計算的是從B桶取到白色石頭的概率,這個概率可以記作P(white|B),我們稱之為“在已知石頭出自B桶的條件下,取出白色石頭的概率”,這就是條件概率。

從上圖可以看出P(white|A)=2/4,P(white|B)=1/3,依然很簡單。

條件概率的計算公式如下:

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)

這個公式表示,條件A 和 B同時發(fā)生的概率等于B條件下A事件發(fā)生的概率乘以B事件發(fā)生的概率。

2. 第二步

順序調(diào)換。假設(shè)條件A 和條件B是兩個獨(dú)立的事件,所以我們可以將上述公式順序調(diào)換,即:

P(A and B)=P(B and A)=P(B|A)*P(A)

這個公式表示,條件A 和 B同時發(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),那么可以使用上述計算方法。

上述公式中,每個概率又有不同的說法:

  • P(A)被稱為先驗(yàn)概率;
  • P(B|A)被稱為后驗(yàn)概率;
  • P(B)被稱為全概率。

三、貝葉斯公式的應(yīng)用

以下摘一段 wikipedia 上對貝葉斯的簡介:

所謂的貝葉斯方法源于他生前為解決一個“逆概”問題寫的一篇文章,而這篇文章是在他死后才由他的一位朋友發(fā)表出來的。

在貝葉斯寫這篇文章之前,人們已經(jīng)能夠計算“正向概率”,如“假設(shè)袋子里面有N個白球,M個黑球,你伸手進(jìn)去摸一把,摸出黑球的概率是多大”。

而一個自然而然的問題是反過來:“如果我們事先并不知道袋子里面黑白球的比例,而是閉著眼睛摸出一個(或好幾個)球,觀察這些取出來的球的顏色之后,那么我們可以就此對袋子里面的黑白球的比例作出什么樣的推測”。

這個問題,就是所謂的逆概問題。

貝葉斯是機(jī)器學(xué)習(xí)的核心方法之一。

這背后的深刻原因在于,現(xiàn)實(shí)世界本身就是不確定的,人類的觀察能力是有局限性的。

沿用剛才那個袋子里面取球的比方,我們往往只能知道從里面取出來的球是什么顏色,而并不能直接看到袋子里面實(shí)際的情況。

這個時候,我們就需要提供一個猜測(hypothesis)。所謂猜測,當(dāng)然就是不確定的,但也絕對不是兩眼一抹黑瞎蒙——具體地說,我們需要做兩件事情:

  1. 算出各種不同猜測的可能性大小。
  2. 算出最靠譜的猜測是什么。

以病人的分類為例,某個醫(yī)院早上收了六個門診病人,如下表:

現(xiàn)在又來了第七個病人,是一個打噴嚏的建筑工人,請問他患上感冒的概率有多大?

根據(jù)貝葉斯定理:

可得:

假定”打噴嚏”和”建筑工人”這兩個特征是獨(dú)立的,因此,上面的等式就變成了:

這是可以計算的。

因此,這個打噴嚏的建筑工人,有66%的概率是得了感冒;同理,可以計算這個病人患上過敏或腦震蕩的概率,比較這幾個概率,就可以知道他最可能得什么病。

這就是貝葉斯分類器的基本方法:在統(tǒng)計資料的基礎(chǔ)上,依據(jù)某些特征,計算各個類別的概率,從而實(shí)現(xiàn)分類。

 

本文由 @CARRIE 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 如何結(jié)合業(yè)務(wù)使用呢?

    來自江蘇 回復(fù)
  2. 讓我想起了大學(xué)被高數(shù)支配的恐懼

    來自陜西 回復(fù)
  3. 有點(diǎn)不太明白最后一個,打噴嚏的建筑工人為什么是0.33*0.5,請賜教,謝謝

    來自湖北 回復(fù)
    1. 感冒是3/6,就是0.5,感冒中有2個打噴嚏,所以是2/3,就是0.66,感冒中有1個建筑工人,所以是1/3,也就是0.33;因?yàn)榇驀娞绾徒ㄖと耸仟?dú)立的,所以P(打噴嚏*建筑工人|感冒) = P(打噴嚏|感冒)*P(建筑工人|感冒)

      來自江蘇 回復(fù)
    2. 因?yàn)榇驀娞绾徒ㄖと耸仟?dú)立的,所以p(打噴嚏*建筑工人)=p(打噴嚏)*p(建筑工人)=3/6*2/6=0.5*0.33

      來自北京 回復(fù)
    3. 感謝賜教,已懂

      來自湖北 回復(fù)