貝葉斯的理解

2022-06-23 21:21:08 字數 3865 閱讀 1145

參考部落格:

貝葉斯的介紹

貝葉斯本質就一個條件概率公式p(a|b),也就是在b事件發生的情況下,a事件發生的概率。貝葉斯推斷是一種統計學方法,用來估量統計量的某種性質。英國數學家托馬斯·貝葉斯(thomas bayes)在1763年發表的一篇**中,首先提出了這個定理,因此為貝葉斯定理。

貝葉斯定理

要理解貝葉斯推斷,必須先理解貝葉斯定理。後者實際上就是計算"條件概率"的公式。

所謂"條件概率"(conditional probability),就是指在事件b發生的情況下,事件a發生的概率,用$p(a|b)$來表示。

根據文氏圖,可以很清楚地看到在事件b發生的情況下,事件a發生的概率就是$p(a\cap b)$除以$p(b)$。

$p(a|b)=\frac$

因此$p(a \cap b)=p(a|b)p(b)$

同理可得

$p(a \cap b)=p(b|a)p(a)$

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

即$p(a|b)=\frac$

這就是條件概率的計算公式

全概率公式

由於後面要用到,所以除了條件概率以外,這裡還要推導全概率公式。

假定樣本空間s,是兩個事件a與a'的和。

上圖中,紅色部分是事件a,綠色部分是事件a',它們共同構成了樣本空間s。

在這種情況下,事件b可以劃分成兩個部分。

即$p(b)=p(b\cap a)+p(b\cap a')$

在上一節的推導當中,我們已知

$p(b\cap a)=p(b|a)p(a)$

所以,$p(b)=p(b|a)p(a)+p(b|a')p(a')$

這就是全概率公式。它的含義是,如果a和a'構成樣本空間的一個劃分,那麼事件b的概率,就等於a和a'的概率分別乘以b對這兩個事件的條件概率之和。

將這個公式代入上一節的條件概率公式,就得到了條件概率的另一種寫法:

$p(a|b)=\frac$

貝葉斯推斷的含義

對條件概率公式進行變形,可以得到如下形式:

$p(a|b)=p(a)*\frac$

$p(a)$稱為"先驗概率"(prior probability),即在b事件發生之前,我們對a事件概率的一個判斷。

$p(a|b)$稱為"後驗概率"(posterior probability),即在b事件發生之後,我們對a事件概率的重新評估。

$p(b|a)/p(b)$稱為"可能性函式"(likelyhood),這是 一個調整因子,使得預估概率更接近真實概率。

所以,條件概率可以理解成下面的式子:

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

這就是貝葉斯推斷的含義。我們先預估一個"先驗概率",然後加入實驗結果,看這個實驗到底是增強還是削弱了"先驗概率",由此得到更接近事實的"後驗概率"

在這裡,如果"可能性函式"$p(b|a)/p(b)>1$,意味著"先驗概率"被增強,事件a的發生的可能性變大;

如果"可能性函式"=1,意味著b事件無助於判斷事件a的可能性;

如果"可能性函式"<1,意味著"先驗概率"被削弱,事件a的可能性變小。

水果糖問題

為了加深對貝葉斯推斷的理解,我們看兩個例子。

第一個例子。兩個一模一樣的碗,一號碗有30顆水果糖和10顆巧克力糖,二號碗有水果糖和巧克力糖各20顆。現在隨機選擇一個碗,從中摸出一顆糖,發現是水果糖。請問這顆水果糖來自一號碗的概率有多大?

我們假定,h1表示一號碗,h2表示二號碗。由於這兩個碗是一樣的,所以p(h1)=p(h2),也就是說,在取出水果糖之前,這兩個碗被選中的概率相同。因此,$p(h1)=0.5$,我們把這個概率就叫做"先驗概率",即沒有做實驗之前,來自一號碗的概率是0.5。

再假定,e表示水果糖,所以問題就變成了在已知e的情況下,來自一號碗的概率有多大,即求$p(h1|e)$。我們把這個概率叫做"後驗概率",即在e事件發生之後,對p(h1)的修正。

根據條件概率公式,得到

$p(h1|e)=p(h1)*\frac$

已知,p(h1)等於0.5,p(e|h1)為一號碗中取出水果糖的概率,等於0.75,那麼求出p(e)就可以得到答案。根據全概率公式,

$p(e)=p(e|h1)p(h1)+p(e|h2)p(h2)$

所以,$p(e)=0.750.5+0.50.5=0.625$

將數字代入原方程,得到

$p(h1|e)=0.5*0.75/0.625=0.6$

這表明,來自一號碗的概率是0.6。也就是說,取出水果糖之後,h1事件的可能性得到了增強。

假陽性問題

第二個例子是一個醫學的常見問題,與現實生活關係緊密。

已知某種疾病的發病率是0.001,即1000人中會有1個人得病。現有一種試劑可以檢驗患者是否得病,它的準確率是0.99,即在患者確實得病的情況下,它有99%的可能呈現陽性。它的誤報率是5%,即在患者沒有得病的情況下,它有5%的可能呈現陽性。現有一個病人的檢驗結果為陽性,請問他確實得病的可能性有多大?

假定a事件表示得病,那麼p(a)為0.001。這就是"先驗概率",即沒有做試驗之前,我們預計的發病率。

再假定b事件表示陽性,那麼要計算的就是p(a|b)。這就是"後驗概率",即做了試驗以後,對發病率的估計。

根據條件概率公式

$p(a|b)=\frac$

用全概率公式改寫分母

$p(b)=p(b|a)p(a)+p(b|\overline)p(\overline)$

$p(a|b)=\frac$

$p(a|b)=\frac)p(\overline)}$

將數字代入,

$p(a|b)=0.001\frac=0.019$

我們得到了一個驚人的結果,p(a|b)約等於0.019。也就是說,即使檢驗呈現陽性,病人得病的概率,也只是從0.1%增加到了2%左右。這就是所謂的"假陽性",即陽性結果完全不足以說明病人得病。

為什麼會這樣?為什麼這種檢驗的準確率高達99%,但是可信度卻不到2%?答案是與它的誤報率太高有關。

如果誤報率從5%降為1%,請問病人得病的概率會變成多少?

$p(a|b)=0.001\frac=0.0902$

有興趣的朋友,還可以算一下"假陰性"問題,即檢驗結果為陰性,但是病人確實得病的概率有多大。然後問自己,"假陽性"和"假陰性",哪一個才是醫學檢驗的主要風險?

某種疾病的發病率是0.001,即1000人中會有1個人得病

它的準確率是0.99,即在患者確實得病的情況下,它有99%的可能呈現陽性,因此還有0.01的概率為陰性

它的誤報率是5%,即在患者沒有得病的情況下,它有5%的可能呈現陽性,0.95的可能呈陰性

如果檢測結果為陰性,病人確實得病的概率為$p(a|y)=\frac)*p(y|\overline)}$

所以醫學檢測中,檢測結果若為陰性,結果有誤的概率非常小,因此結果為陰性的被檢測者可以不去複查了。

陽性的話,根據推算可知,誤報率比較高,需要進一步、最好使用其他方式複查

理解索羅斯做空英鎊

1 假設鷹國有 1000金幣 ,英棒和金幣兌換是 1比1,國內的人覺得國內經濟不好。去國外賺錢,於是把英棒換成金幣,1比1的換 。 2 換了...

對迪傑斯特拉演算法的理解

計算圖中某個頂點到其他頂點的最短路徑,邊的權值不能為負數 數學上的證明 扣鼎之歌的回答 清晰地證明了dist j min 貪心演算法的最優子結構性質 整體最優必定區域性最優,但並不是所有區域性最優解都被整體最優解包含 根據上述資料可以瞭解到,每當確定了一個頂點 初始頂點也算在內 的最短路徑,並對所有已找到...

深入理解迪傑斯特拉演算法

這裡需要一個很好的例子,這裡先拿網上流傳的例子作為反例。 問題1 不符合勾股定理 ac 3,cb 2,ab 6 難道這樣真的無傷大雅嗎?假設...