【機器學習】一文理解貝葉斯定理

貝葉斯定理的由來


貝葉斯定理是18世紀英國數學家托馬斯·貝葉斯(Thomas Bayes)提出得重要概率論理論。貝葉斯定理源於他生前爲解決一個“逆概”問題寫的一篇文章,而這篇文章是在他死後才由他的一位朋友發表出來的。在貝葉斯寫這篇文章之前,人們已經能夠計算“正向概率”,如“假設袋子裏面有 N 個白球,M 個黑球,你伸手進去摸一把,摸出黑球的概率是多大”。

在這裏插入圖片描述

而一個自然而然的問題是反過來:“如果我們事先並不知道袋子裏面黑白球的比例,而是閉着眼睛摸出一個(或好幾個)球,觀察這些取出來的球的顏色之後,那麼我們可以就此對袋子裏面的黑白球的比例作出什麼樣的推測”。這個問題,就是所謂的逆向概率問題。

在這裏插入圖片描述

貝葉斯定理的思想出現在18世紀,但真正大規模派上用途還得等到計算機的出現。因爲這個定理需要大規模的數據計算推理才能凸顯效果,它在很多計算機應用領域中都大有作爲,如自然語言處理,機器學習,推薦系統,圖像識別,博弈論等等。

 

貝葉斯定理的定義與推導


機器學習可以理解爲通過觀測數據((x)x)推測結果(y),同時學習推斷規則(c),使得推斷結果:

                                                                          \LARGE \hat{y}=c\left ( x \right )

與真實值 y誤差儘可能的小。舉個例子,我拿到了一個硬幣,並觀察到了它的尺寸((x)x),就可以通過推斷規則(c)來估計投擲結果是正面還是反面(y),下面都會舉硬幣的例子,我們能觀測到硬幣的尺寸X(大、中、小),可能的投擲結果爲y:正(1)、反(0)。

 

1. 當我們一無所知時,如何進行推斷?

假設我們第一次接觸硬幣正反的問題,什麼都不知道。因爲一無所知,只能預測正面和反面的概率都是0.5。

假設我們雖然第一次接觸硬幣問題,但神告訴我們這種硬幣出現正面的概率 p\left ( 1 \right )= 0.8,反面的概率是 p\left ( 0 \right )= 0.2,在這種情況下,我們就會傾向於預測結果是正面,且預測錯誤的概率是1-p\left ( 1 \right )=p\left ( 0 \right )=0.2

此處的p(1)=0.8和p(0)=0.2就叫做先驗概率(prior probability指的是在觀測前我們就已知的結果概率分佈。此處我們不需要觀測硬幣尺寸,就可以大膽推測硬幣的正反。

 

2. 當我們有了更多信息,該如何利用它們?

顯然,前文提到的估算方法是很不準確的,因爲沒有考慮到硬幣的屬性。而且現實情況中我們往往可以觀測到硬幣的一些屬性,而非完全一無所知。因此,我們嘗試回答:“當我觀測到硬幣大小時,它正面朝上的概率是多少?”用數學語言表達就是估計:

                                                                           \LARGE p(y=1|x)

相似的,p(y=0|x)代表當我們觀測到硬幣屬性X時,它被投擲後是反面的概率。

我們給p(y=1|x)p(y=0|x)起了個名字,叫做後驗概率(posterior probability),指的是在觀測到X後我們對結果y的估計。和p(y=1)不同它不是計算y=1的概率,而是計算僅當X被觀測到時(滿足x條件時)y=1的概率。

 

先驗概率和後驗概率之間的關係是什麼?簡單來看,後驗概率可以被看做是對先驗概率的一種“更加細緻的刻畫和更新“,因爲此時我們觀測到了X,有了額外的信息。

所以後驗概率比先驗概率更有意義,因爲引入了額外的觀測信息,所以預測的準確度得到了加強。而大部分機器學習模型嘗試得到的,就是後驗概率

 

3. 如何得到後驗概率?爲什麼要引入貝葉斯公式?

後驗概率無法直接獲得,因此我們需要找到方法來計算它,而解決方法就是引入貝葉斯公式。後驗概率這種表達叫做條件概率(conditional probability),一般寫作 p\left ( A|B \right ),即僅當B事件發生時A發生的的概率,假設p(A)和p(B)都大於0,易得:

P\left ( A|B \right )=\frac{P\left ( AB \right )}{P\left ( B\right )} ,變形後得到p\left ( AB \right )=p\left ( A|B \right )\cdot p\left ( B \right )

P\left ( B|A \right )=\frac{P\left ( BA\right )}{P\left ( A\right )} ,變形後得到p\left ( BA \right )=p\left ( B|A \right )\cdot p\left ( A \right )

觀察後易發現兩式左邊的聯合概率p(AB)和p(BA)是等價的因此右邊也等價,得到:p\left ( A|B \right )\cdot p\left ( B \right )=p\left ( B|A \right )\cdot p\left ( A \right )。於是我們就推出了大名鼎鼎的貝葉斯公式

                                                                         \large P\left ( A|B \right )=\frac{P\left ( A \right )\cdot P\left ( B|A\right )}{P\left ( B\right )}

將其帶入我們上文中的後驗概率中去:

   ·公式1:正面向上的後驗概率於是可以改寫成 P\left ( y=1|X \right )=\frac{P\left ( y=1\right )\cdot P\left ( X|y=1 \right )}{P\left (X\right )}

   ·公式2:背面向上的後驗概率於是可以改寫成P\left ( y=0|X \right )=\frac{P\left ( y=0\right )\cdot P\left ( X|y=0 \right )}{P\left (X\right )}

我們發現,在通過貝葉斯公式變形後,後驗概率變得可以計算了。觀察公式1和2的等號右邊,發現這些概率都可以通過觀測獲得

舉個例子,我們假設做了100次硬幣實驗,有大中小三種硬幣(X)。其中30次結果是反面(y=0),在反面時小硬幣出現6次。在70次正面向上的情況中(y=1)小硬幣出現了7次。我們此時假設X指的是小硬幣,觀察公式1&2:

分母p(x)代表特定觀測X爲小硬幣出現的概率。那麼小硬幣的 P\left ( X\right )=\frac{6+7}{100}=0.13

分子上的p(X|y=0)代表當結果是反面時,小硬幣的概率。這個也可以通過做實驗進行統計, P\left ( X|y=0\right )=\frac{6}{30}=0.2。而分子上的P\left ( X|y=0\right )=\frac{6}{30}=0.2。於是我們就可以因此計算當觀測到小硬幣正面的後驗概率

P\left ( y=1|X \right )=\frac{P\left ( y=1\right )\cdot P\left ( X|y=1 \right )}{P\left (X\right )}=\frac{0.1\times 0.7}{0.13}=0.54 .

同理也可計算觀測到小硬幣正面的後驗概率:

P\left ( y=0|X \right )=\frac{P\left ( y=0\right )\cdot P\left ( X|y=0 \right )}{P\left (X\right )}=\frac{0.2\times 0.3}{0.13}=0.46

貝葉斯決策的預測值是選取後驗概率最大的結果。在二分類問題中,也就是對比p(X|y=0)與p(X|y=1),並選擇較大的那一個。因爲正面的後驗概率更大(0.54>0.46),因此我們認爲觀測到小硬幣時的結果是反面的概率更大。

 

4. 貝葉斯決策理論有什麼用?

既然貝葉斯決策理論這麼好用且最優,爲什麼不蓋過深度學習的鋒芒呢?

玩笑過後,需要解釋根本原因是貝葉斯決策中假設比較強,實際操作起來並不容易:

我們無法獲得真實的先驗概率等其他計算要件,需要通過統計學方法進行估計,存在一定的誤差。比如我們上面給的例子就是一種估計,而並非直接使用概率計算。

計算所需要的概率往往是不可能的,會面臨維度災難(the curse of dimensionality)在條件概率p(X|y=0)與p(X|y=1),要考慮到觀察的特徵不止一個(不僅僅是大中小)可能還有重量等其他特徵。而且實際計算時往往面臨很多數值穩定性問題,所以樸素貝葉斯纔會介紹平滑(smoothing)來解決一些特例。

綜上所述,直接利用貝葉斯理論進行後驗概率估算是不大實用的但對於理論上計算邊界(bound),尤其是誤差的上界比較有意義。 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章