貝氏要回答的問題:把條件反轉過來
你已經知道條件機率會重塑世界:得知 B 發生了,會把樣本空間縮小到 B,於是你在那個較小的世界裡重新計算機率。但條件化是有方向的,而兩個方向並不相同。P(A given B) 與 P(B given A) 問的是真正不同的問題。P(得病 given 檢驗陽性) 是憂心的病人所在意的;P(檢驗陽性 given 得病) 則是實驗室所測量的。貝氏定理就是兩者之間的橋——它讓你從已知的方向,算出你想要的方向。
推導短得幾乎令人不好意思,但值得親手做一次,這樣這條公式就永遠不會像魔術。乘法律說,聯合機率 P(A and B) 可以用兩種方式寫出:寫成 P(A given B) P(B),也同樣可以寫成 P(B given A) P(A)。它們描述的是同一塊重疊,所以兩者相等:P(A given B) P(B) = P(B given A) P(A)。兩邊都除以 P(B),你就得到貝氏定理。整個把戲就是這樣——它不過是關於 P(A and B) 的一個對稱事實,重新排列了一下。
把它寫出來,那一次重排就是整條定理:P(A given B) = P(B given A) P(A) / P(B)。下一節會替這四個部分各取一個名字——答案 P(A given B) 是後驗,P(B given A) 是概似,P(A) 是先驗,而分母 P(B) 是證據。請把聯合機率的「兩向讀法」記在心裡,因為那份對稱,字面上就是貝氏定理的全部。
先驗、概似、後驗:一次更新的解剖
貝氏定理真正的力量不在於代數,而在於它所講述的關於「學習」的故事。把公式從左到右當作一個動詞來讀:它在證據的照映下,把一個信念轉變成另一個。先驗 P(A) 是你在看到證據之前對 A 的相信程度。概似 P(B given A) 是假設 A 對你實際觀察到的證據 B 的預測有多好。後驗 P(A given B) 是看到證據之後你修正過的信念。分母 P(B) 只是一個正規化常數,讓更新後的機率總和為 1。
三個你已見過的東西,快速連結一下。先驗是你的起點,常常就是 A 在母體中的基本率。概似是你從題目讀出來的一個條件機率——請注意它是假設的函數,不是資料的函數,所以不同假設之間的概似值不必加總為 1。後驗就是你一直想要的答案。而分母 P(B) 幾乎總是用上一篇的全機率公式算出來的——把每個假設的「概似乘先驗」加總起來。
一次完整的更新:著名的醫學檢驗
這就是讓大多數人改信貝氏思維的例子,因為誠實的答案與直覺的答案相差太遠。某疾病的盛行率是千分之一。一項檢驗的靈敏度為 99%(能抓出 99% 的真正病例),特異度為 95%(能正確排除 95% 的健康者,因此偽陽性率為 5%)。你檢驗呈陽性。你真正患病的機率是多少?多數人會猜 95% 左右。真相卻在 2% 以下。讓我們一步一步看清楚為什麼。
- 替各部分命名。令 D = 患病、Pos = 檢驗陽性。先驗為 P(D) = 0.001,故 P(no D) = 0.999。概似為 P(Pos given D) = 0.99 與 P(Pos given no D) = 0.05。
- 用全機率公式算出證據 P(Pos):P(Pos) = P(Pos given D) P(D) + P(Pos given no D) P(no D) = 0.99 * 0.001 + 0.05 * 0.999 = 0.00099 + 0.04995 = 0.05094。
- 套用貝氏:P(D given Pos) = P(Pos given D) P(D) / P(Pos) = 0.00099 / 0.05094,約為 0.0194,也就是大約 1.9%。
為什麼答案這麼小?因為這個病很罕見。在十萬人當中,大約只有 100 人患病(其中 99 人會驗出陽性),而其餘 99900 人是健康的——其中 5%,將近 5000 人,也會純粹因誤差而驗出陽性。所以在所有驗出陽性的人裡,真正的病例(99 人)遠遠被偽陽性(約 5000 人)壓過。你的陽性結果是真的資訊——它把你的機率從 0.1% 提高到約 1.9%,幾乎是二十倍的躍升——但它離確定還差得很遠,因為微小的先驗把後驗往下錨定住了。當人們忽視這個錨定效應時,那正是基本率謬誤。
勝算形式:讓更新毫不費力
有一種更乾淨的方式可以執行更新,把惱人的分母剝掉。不用機率,改用勝算——一個假設為真相對於為假的比值。在勝算形式中,貝氏定理變成一個簡單的乘法:後驗勝算 = 先驗勝算 * 概似比。概似比是 P(B given A) / P(B given not A),也就是在假設成立時,證據比在假設不成立時可能多少倍。正規化的 P(B) 會完全消掉,因為它在兩個競爭假設的分子與分母中以相同的形式出現。
Odds form (no denominator needed): posterior odds = prior odds * likelihood ratio Medical test redone in odds: prior odds of disease = 0.001 / 0.999 ~= 1 : 999 likelihood ratio = 0.99 / 0.05 = 19.8 posterior odds = 19.8 / 999 ~= 1 : 50.5 posterior probability = 1 / (1 + 50.5) ~= 0.0194 (same 1.9%)
勝算形式讓一個深刻的觀念變得可見:信念的更新是乘法性的,而且會累積。若第二個獨立的檢驗也驗出陽性,你不必從頭來過——你把第一個檢驗得到的後驗勝算當作新的先驗勝算,再乘上一次概似比。今天的後驗,就成了明天的先驗。這正是貝氏推論背後的引擎:證據一片一片地到來,每一片都依其概似比把你的勝算往上或往下推。概似比大於 1 支持假設,小於 1 反對假設,而恰好等於 1 則表示證據毫無資訊,會讓你的信念保持不變。
誠實的提醒:垃圾先驗,以及「信念」是什麼意思
貝氏定理是一條定理——它精確為真,只是定義的重新排列,裡頭沒有藏任何近似。但它的輸出,只跟它的輸入一樣可信。若你的先驗選得很糟,或你的概似算錯了,後驗就會錯得理直氣壯:垃圾進,垃圾出。這條公式是個誠實的記帳員,不是先知。它告訴你如何把先驗與證據連貫地結合起來;它沒辦法告訴你你的先驗一開始是否合理。先驗從哪裡來——已知的基本率、先前的實驗,還是一個坦白的判斷——是一個你必須自己承擔的真實建模決定。
還有一個值得點明的、安靜的哲學承諾。要對「這枚硬幣有偏」這樣的假設賦予一個先驗機率,你就是在把機率當作一種信念的程度,而不只是長期的頻率。嚴格的頻率論者會反對:硬幣要嘛有偏、要嘛沒偏——並不存在一個可重複的實驗,能讓這個假設有 30% 的時間為真。這是把條件機率的機制套用到信念上,而基本率的紀律讓它站得住腳。當資料充足時,兩種觀點對數字往往一致;當資料稀少、先驗扛起重擔時,分歧最大;兩者都不是放諸四海皆準地「正確」,而把你正在用哪一種講清楚,本身就是誠實的一部分。