貝葉斯定理的由來
貝葉斯定理是18世紀英國數學家托馬斯·貝葉斯(Thomas Bayes)提出得重要概率論理論。貝葉斯定理源於他生前爲解決一個“逆概”問題寫的一篇文章,而這篇文章是在他死後才由他的一位朋友發表出來的。在貝葉斯寫這篇文章之前,人們已經能夠計算“正向概率”,如“假設袋子裏面有 N 個白球,M 個黑球,你伸手進去摸一把,摸出黑球的概率是多大”。
而一個自然而然的問題是反過來:“如果我們事先並不知道袋子裏面黑白球的比例,而是閉着眼睛摸出一個(或好幾個)球,觀察這些取出來的球的顏色之後,那麼我們可以就此對袋子裏面的黑白球的比例作出什麼樣的推測”。這個問題,就是所謂的逆向概率問題。
貝葉斯定理的思想出現在18世紀,但真正大規模派上用途還得等到計算機的出現。因爲這個定理需要大規模的數據計算推理才能凸顯效果,它在很多計算機應用領域中都大有作爲,如自然語言處理,機器學習,推薦系統,圖像識別,博弈論等等。
貝葉斯定理的定義與推導
機器學習可以理解爲通過觀測數據(x)推測結果(y),同時學習推斷規則(c),使得推斷結果:
與真實值 y誤差儘可能的小。舉個例子,我拿到了一個硬幣,並觀察到了它的尺寸(x),就可以通過推斷規則(c)來估計投擲結果是正面還是反面(y),下面都會舉硬幣的例子,我們能觀測到硬幣的尺寸X(大、中、小),可能的投擲結果爲y:正(1)、反(0)。
1. 當我們一無所知時,如何進行推斷?
假設我們第一次接觸硬幣正反的問題,什麼都不知道。因爲一無所知,只能預測正面和反面的概率都是0.5。
假設我們雖然第一次接觸硬幣問題,但神告訴我們這種硬幣出現正面的概率 ,反面的概率是 ,在這種情況下,我們就會傾向於預測結果是正面,且預測錯誤的概率是
此處的p(1)=0.8和p(0)=0.2就叫做先驗概率(prior probability),指的是在觀測前我們就已知的結果概率分佈。此處我們不需要觀測硬幣尺寸,就可以大膽推測硬幣的正反。
2. 當我們有了更多信息,該如何利用它們?
顯然,前文提到的估算方法是很不準確的,因爲沒有考慮到硬幣的屬性。而且現實情況中我們往往可以觀測到硬幣的一些屬性,而非完全一無所知。因此,我們嘗試回答:“當我觀測到硬幣大小時,它正面朝上的概率是多少?”用數學語言表達就是估計:
相似的,代表當我們觀測到硬幣屬性X時,它被投擲後是反面的概率。
我們給和 起了個名字,叫做後驗概率(posterior probability),指的是在觀測到X後我們對結果y的估計。和p(y=1)不同,它不是計算y=1的概率,而是計算僅當X被觀測到時(滿足x條件時)y=1的概率。
先驗概率和後驗概率之間的關係是什麼?簡單來看,後驗概率可以被看做是對先驗概率的一種“更加細緻的刻畫和更新“,因爲此時我們觀測到了X,有了額外的信息。
所以後驗概率比先驗概率更有意義,因爲引入了額外的觀測信息,所以預測的準確度得到了加強。而大部分機器學習模型嘗試得到的,就是後驗概率。
3. 如何得到後驗概率?爲什麼要引入貝葉斯公式?
後驗概率無法直接獲得,因此我們需要找到方法來計算它,而解決方法就是引入貝葉斯公式。後驗概率這種表達叫做條件概率(conditional probability),一般寫作 ,即僅當B事件發生時A發生的的概率,假設p(A)和p(B)都大於0,易得:
,變形後得到
,變形後得到
觀察後易發現兩式左邊的聯合概率p(AB)和p(BA)是等價的因此右邊也等價,得到:=。於是我們就推出了大名鼎鼎的貝葉斯公式:
將其帶入我們上文中的後驗概率中去:
·公式1:正面向上的後驗概率於是可以改寫成
·公式2:背面向上的後驗概率於是可以改寫成
我們發現,在通過貝葉斯公式變形後,後驗概率變得可以計算了。觀察公式1和2的等號右邊,發現這些概率都可以通過觀測獲得。
舉個例子,我們假設做了100次硬幣實驗,有大中小三種硬幣(X)。其中30次結果是反面(y=0),在反面時小硬幣出現6次。在70次正面向上的情況中(y=1)小硬幣出現了7次。我們此時假設X指的是小硬幣,觀察公式1&2:
分母p(x)代表特定觀測X爲小硬幣出現的概率。那麼小硬幣的
分子上的p(X|y=0)代表當結果是反面時,小硬幣的概率。這個也可以通過做實驗進行統計, 。而分子上的。於是我們就可以因此計算當觀測到小硬幣時正面的後驗概率:
同理也可計算觀測到小硬幣時正面的後驗概率:
貝葉斯決策的預測值是選取後驗概率最大的結果。在二分類問題中,也就是對比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),尤其是誤差的上界比較有意義。