《為什麼》4:貝葉斯的方法
用一句話概括貝葉斯思想,就是〝觀點隨事發生改變〞。就如卓克老師愛說的一句話:〝知識這東西就得經常地核實和訂正〞。這個道理很簡單,你有一個信念,當這個信念的新事實進來之後,你就得修正這個信念。
那怎麼修正呢?堅定不移 — 不對,聽風就是雨 — 也不對。
科學的修正,就是貝葉斯的方法。
貝葉斯的方法有點像破案。福爾摩斯愛說自己用的是演繹法,其實不準確。破案是〝歸納法〞,演繹法是按照規則推導一件事情的結果,歸納法是從結果追溯緣故。你是從一具屍體出發,推測是誰殺了他。
貝葉斯方法的本質,就是從結果推測緣故。你懷疑兇手是老王,但是你沒有任何證據,所以你的懷疑度比較低。有一天終於從老王家搜出了兇器,這個證據會使你對老王的懷疑加重,你要重新對老王的懷疑。這就是觀點隨事實發生改變。
而這首先就是哲學問題。
1. 信仰是一種概率
俗人一說信仰都是堅定不移的,而哲學家會有不同的意見。
1,748年,蘇格蘭哲學家大衛.休漠寫了一篇文章叫《論奇蹟》。說像死人復活這種明顯違反自然常識的事情,只有幾個目擊者說看見了這個證據是不是有點太弱了?休漠說的其實就是耶穌復活,當然他不敢直接點名。
休漠說的沒毛病。平常的事情我們容易接受奇蹟則需要更強的證據。卡爾.薩根講過一句話,〝超乎尋常的論斷需要超乎尋常的證據。〞
那怎麼量化證據和論斷的聯繫呢?貝葉斯提出,什麼叫〝信〞、什麼叫〝不信〞呢?貝葉斯說,你對某個假設的相信程度,應該用一個概率來表示:
P ( 假設 )
P = 1 就是絕對相信, P = 0 就是絕對不信, P = 15% 就是有一點信,我們先把信仰給量化。
有了新的證據我們要更新這個概率,變成:
P ( 假設 | 證據 )
這個叫條件概率。一般來說 P ( A | B ) 的意思是〝在 B 事件是真的條件下, A 事件的概率〞。我們舉個例子,A 表示下雨, B 表示帶傘。一般來說這個地方不常下雨,所以 P ( A ) = 0.1 。但是今天你注意到愛看天氣預報的老張上班帶了傘,那你就可以推斷,今天下雨的機率應該會增加 — 在〝老張帶傘〞這個條件下的下傘機率,就是 P ( A | B ) 。
注意如果我們畫個因果關系,緣故 → 結果,在這裡就是〝下雨 → 帶傘〞, A → B,和〝老王是兇手 → 在老王家裡找到兇器〞,它們都相當於〝假設 →證據〞。
現在我們想算的是 P ( 假設 | 證據 ) 是從結果倒推緣故這叫〝逆概率〞,這個不好算。一般都是從緣故推結果容易算。比如說你看見一個小孩向窗戶扔球,你可以估計窗戶被打碎的概率有多大這是〝正向概率〞。但如果你看到窗戶碎了,想要推測窗戶是怎麼碎的那就非常困難了。
所以我們要算的是一個逆概率這要怎麼算呢?這就是貝葉斯的方法。
2. 貝葉斯公式
為了計算 P ( A | B ) ,我們考慮這麼一個問題: A 和 B 都發生的概率有多大?
這道題有兩個算法。一個辦法是先算出 B 發生的概率有多大,是 P ( B );再算 B 發生的情況下, A 也發生的概率有夕大,是 P ( A | B ) ,那麼 A、B 都發生的概率,就是把這兩個數相乘,結果是 P ( A | B ) x P ( B ) 。同樣道理,先考慮 A 發生再考慮 A 發生的條件下 B 也發生,結果是 P ( B | A ) x P ( A )。這兩個算法的結果一定相對,即 P ( A | B ) x P ( B ) = P ( B | A ) x P ( A ),於是
這就是貝葉斯公式,之所以要這算,就是因為常常是P ( A )、P ( B )和 P ( B | A ) 都容易知道,而這個逆概率 P ( A | B ) 只能用這個公式間接知道。
我們現在來算一個具體的應用。有一位40歲的女性去做乳腺癌的檢查,檢查結果是陽性。那請問,這位女性真的得了乳腺癌的概率有多大。
我們用 D 表示她得了乳腺癌,T 表示測試結果為陽性,這個因果關係是乳腺癌導致陽性,D→ T。我們要計算 P ( D | T ) 。根據貝葉斯公式我們需要 P ( D ) 、P ( T ) 和 P ( T | D )。
在有新證據之前,P ( D ) 就是一般相同年齡段女性得乳腺癌的概率,統計表明是1 / 700。
P ( T | D ) 是如果這個人真有乳腺癌,她的監測結果為陽性的可能性。這是由檢測儀器的敏感度決定的答案是73%儀器並不怎麼準確。
P ( T ) 是隨便找個人,給她檢測出陽性的可能性是多大。這個我們沒有直接的數據,要拆成這個人有乳腺癌( D ) 和沒有乳腺癌 ( ~D ) 兩種情況其中 P ( ~D ) = 1- P ( D ) = 699 / 700 。剛才說了有乳腺癌、檢測為陽性的概率是73%。而沒有乳腺癌的人還可能會被誤診成陽性,已知這個誤診率是 P ( T | ~D ) = 12%。於是
P ( T ) = P ( T | D ) x P ( D ) + P ( T | ~D ) x P ( ~D ) = 12.1 %
把這些數字帶入公式,我們最終得到 P ( D | T ) = 1 / 116。也就是說,哪怕這位女性被檢測出來的乳腺癌陽性,她真的得乳腺癌概率也只有不到 1 %。
這是一個非常出乎意料的結論。但是貝葉斯公式不是什麼黑箱操作的魔法,你還可以用下面這張圖參詳一下。假設有 3,000 名 40 歲的女性,根據前面說的各項數據,其中只有4人真有乳腺癌,而被正確檢測為陽性的只有三人。另一方面,被檢測儀器誤診為陽性的,卻有360人。所以在所有陽性診斷之中,只有不到 1% 的人真有乳腺癌。
出現這種情況的根本原因就在於乳腺癌的患者比例很小,而檢測儀器又很不准確。幾乎每一本講貝葉斯方法的書都會使用一個這樣的例子,你想明白一個就想明白了所有的。
請注意如果這位女性本身攜帶容易得乳腺癌的基因,那我們一開始選用的 P ( D ) 就不是1 / 700了,而應該是 1 / 20。用這個數算,最後的 P ( D | T ) = 1/3,這就非常不一樣了。
這是一個關鍵問題。一開始,你到底憑什麼選擇 P ( D ) 的數值呢?
那是你的主觀判斷。
3. 信念的傳播
我們再看一眼貝葉斯公式:
右邊乘法的第一項 P ( B | A ) / P ( B ) , 有時候被稱為〝似然比〞。那麼貝葉斯公式可以寫成:
P ( 假設 | 證據 ) = 似然比 x P ( 假設 )
你可以把它理解成〝觀念更新〞的公式。 P ( 假設 ) 是你的老觀念,新證據發生之後,你的新觀念是 P ( 假設 | 證據 ) 。新觀念等於老觀念乘以似然比。
你的觀點隨著事實發生了改變。
那我們設想一下,如果每個人的閱歷和想法不同,一開始的觀點不一樣,那麼哪怕是面對同樣的證據,人們更新之後的觀點也還是不一樣的!所以貝葉斯方法本質上是個主觀的判斷方法:同樣的證據它允許你有不同的判斷!
這就是為什麼有很多統計學家攻擊貝葉斯方法,人們總是覺得科學方法應該是完全客觀的才對!
但貝葉斯方法實際上是對科學方法的重大升級。
傳統的科學方法是:
-
提出一個理論假設;
-
做實驗驗證;
-
如果實驗結果符合理論這個理論就暫時站得住腳,如果不符合,理論就證偽了。
這是非黑即白的劇情,理論要嘛就繼續保留,要嘛就徹底拋棄。
而貝葉斯方法則是先給理論假設設定一個可信度。新證據並不直接證實或者證偽理論,只是調整可信度的大,小做一個動態的判斷。
貝葉斯方法是一種實用主義的態度。具實我們想想,我們搞研究的目的並不一定是了解〝絕對真實〞的世界 ― 也許絕對真實的世界根本就不可知 ― 我們的目的是通過獲取實用的知識,做出盡可能準確的判斷和決策。這跟前面說的不追求絕對的因果關係和為什麼,,只追求回答三種實用的因果問題是一樣的道理。
1982年,珀爾本人把貝葉斯方法引入了人工智能領域,發明了貝葉斯網路。我們說的因果關係網路就是一種貝葉斯網路。
一般的貝葉斯網路並不要求有因果關係,箭頭 A→ B 僅僅代表從 A 到 B 有條件概率。工程師先給網絡上每一個節點設置一個信念值,然後用大量數據、用貝葉斯方法去更新這些信念值,計算P ( B | A ) 或者 P ( A | B ) 。每一次新數據都能讓網路上的信念值更新一遍叫做〝信念傳播〞。
傳統的貝葉斯網絡仍然是基於經驗的,但是比以前那種暴力式的數據分析要精確得多.用網路結構取代了老式人工智能算法的黑箱操作。貝葉斯網絡的計算方法完全適用於因果關係圖。
統計學家可能還在爭論這個方法到底對不對, 但是所有人都得承認貝葉斯方法的好處。每次你用手機打電話把語音信號變成數字信號,再把數字信號編碼再解碼,其中用的就是貝葉斯方法。語音識別、垃圾郵件過濾、油井鑽探、FDA批准新藥、Xbox給你的遊戲水平打分……各種你想到和想不到的應用,都在使用貝葉斯方法。
休漠問了一句〝我們到底應該怎麼看待證據〞,貝葉斯給的答案是一整套玩轉世界的方法。
4. 貝葉斯方法
-
先評估一下自己的信念,設定 P ( 信念 );
-
等待新證據;
-
證據出來之後,用貝葉斯公式更新自己的信念,計算 P ( 信念 | 證據 );
-
繼續等待新證據。
不要說什麼〝埾定不移〞,也不要聽風就是雨。保持開放心態,讓你的觀點隨事實發生改變,用一個量化的數值決定你的判斷。雖然永遠都擺脫不了主觀的成份,但是你會做出更科學的決策。
來源:《萬維綱-貝葉斯的方法》