用於精準判斷的貝葉斯定理

2021-12-29 16:12:03 字數 3798 閱讀 7868

說起貝葉斯定理,不得不說條件概率,所謂「條件概率」(conditional probability),指在事件b發生的情況下,事件a發生的概率,用p(a|b)來表示。條件概率計算公式為p(a|b) = p(ab)/p(b)。

條件概率公式是乙個定義公式,或者說是公理化的,不好證明和推導。只能通過邏輯來理解了,ab都發生的概率可以理解成b發生的概率乘以b發生的情況下a發生的概率,也即p(ab)=p(b)p(a|b),兩邊除以p(b),得到p(a|b)=p(ab)/p(b)。

舉個例子:根據大量資料統計,大熊貓活到十歲的概率是0.8,活到十五歲的概率是0.6,若現有乙隻大熊貓已經十歲了,則他活到十五歲的概率是多少?

根據條件概率公式:p(15歲|10歲)=p(15歲*10歲)/p(10歲),大熊貓活到十五歲,顯然就活過了十歲,所以p(15歲*10歲)=p(15歲),則p(15歲|10歲)=p(15歲)/p(10歲)=0.6/0.8=0.75。

理解了條件概率後,我們再來看看貝葉斯定理。

貝葉斯定理由英國數學家貝葉斯 ( thomas bayes 1702-1761 )提出,即:p(a|b)=p(b|a)p(a)/p(b)。

有了條件概率公式,貝葉斯定理的推導和證明非常簡單。

根據條件概率定義:

p(a|b)=p(ab)/p(b),同理p(b|a)=p(ba)/p(a)

則:p(ab)=p(a|b)p(b),p(ba)=p(b|a)p(a)

p(ab)表示a、b同時發生的概率,p(ba)表示b、a同時發生的概率,根據交換律,p(ab)=p(ba)

所以,p(a|b)p(b)=p(b|a)p(a)

則:p(a|b)=p(b|a)p(a)/p(b)

貝葉斯定理本身和其證明過程都簡單明瞭,看起來不起眼,但在實際應用中卻顯示出了令人吃驚的強大!

在舉例項之前,先了解下貝葉斯定理中的一些概念,把貝葉斯公式作下變形,得到如下形式:

p(a|b) = (p(b|a)/p(b))*p(a)

其中,把p(a)稱為「先驗概率」(prior probability),即在b事件發生之前,我們對a事件概率的乙個判斷。p(a|b)稱為「後驗概率」(posterior probability),即在b事件發生之後,我們對a事件概率的重新評估。p(b|a)/p(b)稱為「調整因子」,調整因子可以大於1,也可以小於1,即b事件發生後,對a事件發生的概率是增強作用還是削弱作用。

即貝葉斯定理可表述成:

後驗概率 = 調整因子 * 先驗概率

當然還有把p(b|a)稱為「似然度」,p(b)稱為「標準化常量」等。但個人認為不摻雜太多的概念,先把貝葉斯定理理解成「後驗概率 = 調整因子 * 先驗概率」的方式更利於對該定理的理解。

貝葉斯定理在做判斷上的應用:

(1)有兩個碗,1號碗裡有30顆水果糖和10塊巧克力糖,2號碗裡有20顆水果糖和20塊巧克力糖。然後把碗蓋住。隨機選擇乙個碗,從裡面摸出了一顆水果糖。問題:這顆水果糖來自1號碗的概率是多少?

我們希望得到概率p(1號碗|水果糖),但怎樣進行計算並非顯而易見。問題如果換成在1號碗中水果糖的概率則簡單的多,p(水果糖|1號碗)=30顆水果糖/(30顆水果糖和10塊巧克力糖)=3/4,但可惜的是條件概率並不滿**換律,p(1號碗|水果糖)和p(水果糖|1號碗)並不相同。有時,如果p(a|b)不好計算,而p(b|a)較好計算,那麼可以試試貝葉斯定理,提供一種從p(b|a)得到p(a|b)的方法。

p(1號碗|水果糖)=(p(水果糖|1號碗)/p(水果糖))*p(1號碗)

1).p(水果糖|1號碗)前面算過=3/4;

2).兩個碗的選擇是隨機的,所以p(1號碗)=1/2;

3).p(水果糖),兩個碗總糖果數是30顆水果糖+10塊巧克力糖+20顆水果糖+20塊巧克力糖=80,水果糖的數量是30+20=50,因此p(水果糖)=50/80=5/8;(注意這裡是特例,因為選擇兩個碗的機會相等,兩個碗中糖果的數量又都一樣,一般情況下需要使用全概率公式計算。)

4).因此,p(1號碗|水果糖)=((3/4)/(5/8))*(1/2)=3/5。

5).這個例子我們需要關注的是資訊條件:抓出的是水果糖。如果沒有這個條件的存在,先驗概率p(1號碗)=1/2(50%),有個這個條件後,後驗概率提公升到了3/5(60%)。

看到這裡,很多朋友就要問了,能解決這個例子又有什麼用呢?現實世界可不是摸個水果糖這麼簡單。我們再看下乙個例子:

(2)北京地區肝癌發病率為萬分之四(0.0004),使用甲胎蛋白法檢測,患者確實得病的情況下,99%呈現陽性,患者沒有得病的情況下,0.1%呈現陽性。現在乙個患者肝癌檢測出陽性,問題:該患者患肝癌的概率是多少?

我們把這兩個應用對應下:

有兩個碗(乙個患肝癌碗,乙個不患肝癌碗),1號碗裡有水果糖99個(陽性糖99個),巧克力糖1個(陰性糖1個),2號碗裡有水果糖1個(陽性糖1個),巧克力糖999個(陰性糖999個),隨機選擇乙個碗,從裡面摸出了一顆水果糖(陽性糖)。問題:這顆水果糖(陽性糖)來自1號碗(患肝癌碗)的概率是多少?

看到沒,除了水果糖和巧克力糖的數量不一樣,其他是不是一模一樣的!

我們來計算下:

p(患肝癌|陽性)=(p(陽性|患肝癌)/p(陽性))*p(患肝癌)

1).p(陽性|患肝癌)=0.99;

2).p(患肝癌)=0.0004

3).p(陽性)的計算稍微複雜些,在這第二個例子中,患肝癌碗和不患肝癌碗的選擇機會是不均等的,2個碗中糖果的數量也不一樣。一般的,採用全概率公式來計算p(b)。設事件a為患肝癌,a-為不患肝癌,顯然a和a-是互斥和完備的,構成全集空間,則根據全概率公式(推導過程見最後):p(b)=p(a)p(b|a)+p(a-)p(b|a-)。p(陽性)=p(患肝癌)p(陽性|患肝癌)+p(不患肝癌)p(陽性|不患肝癌)=0.0004*0.99+(1-0.0004)*(0.001)=0.001392

4).因此,p(患肝癌|陽性)=(p(陽性|患肝癌)/p(陽性))*p(患肝癌)=((0.99)/(0.001392))*(0.0004)=28.45%。

上面疾病檢測的例子在網上有很多,基本都從「假陽性」的方面說明陽性結果不足以說明病人得病。但從貝葉斯思想的角度上看,患肝癌的先驗概率p(患肝癌)=0.0004(0.04%)的概率很低,在檢測結果呈陽性事件發生後,患肝癌的後驗概率達到了28.45%,即呈陽性的事件大大增強了患肝癌的概率,這時候需要的是引起高度重視。當然,從結果上看,檢測結果呈陽性而真實患肝癌的概率不到30%,這也是為什麼肝癌檢測第一次呈陽性的人,還需要做第二次檢測的原因。

附:全概率公式的推導

設紅色部分a和綠色部分a-構成全集空間s。

則b可分為2部分:白色斜線部分和黑色橫線部分。這兩部分分別等於p(ba)和p(ba-)。

因此,p(b)=p(ba)+p(ba-),根據條件概率公式:

p(b|a)=p(ba)/p(a),p(b|a-)=p(ba-)/p(a-),則:

p(ba)=p(b|a)p(a),p(ba-)=p(b|a-)p(a-)

所以:p(b)=p(b|a)p(a)+p(b|a-)p(a-)

機器學習筆記之貝葉斯定理的通俗理解

樸素貝葉斯是一種基於貝葉斯定理的簡單概率分類器 分類又被稱為監督式學習,所謂監督式學習即從已知樣本資料中的特徵資訊去推測可能出現的輸出以完成分類,反之聚類問題被稱為非監督式學習 樸素貝葉斯在處理文字資料時可以得到較好的分類結果,所以它被廣泛應用於文字分類 垃圾郵件過濾 自然語言處理等場景。了解貝葉斯...

可怕的貝葉斯定理,看完後忍不住感慨數學太重要了

夏一夜百家號 17 09 10 22 54 眾所周知,貝葉斯定理是一種在已知其他概率的情況下求概率的方法 那我們怎麼去理解這個傳說中不黃但很暴力的貝葉斯定理呢,貝葉斯定理是如何暴力狂虐數學界的?首先,對於貝葉斯定理,還是要先了解各個概率所對應的事件。p a b 是在 b 發生的情況下 a 發生的概率...

正定矩陣(用於SVM的Mercer定理)

定義 乙個n n的實對稱矩陣 m 是正定的當且僅當對於所有的非零實係數向量 z,都有 z tmz 0。正定矩陣判定 1.矩陣m的所有的特徵值 i都是正的。根據譜定理,m必然與乙個實對角矩陣 d相似 也就是說m p 1d p,其中p是么正矩陣,或者說m在某 個正交基可以表示為乙個實對角矩陣 因此,m是...