【專欄】數學之美番外篇:平凡而又神奇的貝葉斯方法(4)
猜測h不成立,因為P(D|h)太?。ㄌ珊希┝?。我們的直覺是:巧合(小概率)事件不會發生。所以當一個猜測(假設)使得我們的觀測結果成為小概率事件的時候,我們就說“才怪呢,哪能那么巧呢?!”
模型比較理論(Model Comparasion)與貝葉斯奧卡姆剃刀(Bayesian Occam’s Razor)
實際上,模型比較就是去比較哪個模型(猜測)更可能隱藏在觀察數據的背后。其基本思想前面已經用拼寫糾正的例子來說明了。我們對用戶實際想輸入的單詞的猜測就是模型,用戶輸錯的單詞就是觀測數據。我們通過:
P(h|D)∝P(h)*P(D|h)
來比較哪個模型最為靠譜。前面提到,光靠P(D|h)(即“似然”)是不夠的,有時候還需要引入P(h)這個先驗概率。奧卡姆剃刀就是說P(h)較大的模型有較大的優勢,而最大似然則是說最符合觀測數據的(即P(D|h)最大的)最有優勢。整個模型比較就是這兩方力量的拉鋸。我們不妨再舉一個簡單的例子來說明這一精神:你隨便找枚硬幣,擲一下,觀察一下結果。好,你觀察到的結果要么是“正”,要么是“反”(不,不是少林足球那枚硬幣:P),不妨假設你觀察到的是“正”?,F在你要去根據這個觀測數據推斷這枚硬幣擲出“正”的概率是多大。根據最大似然估計的精神,我們應該猜測這枚硬幣擲出“正”的概率是1,因為這個才是能最大化P(D|h)的那個猜測。然而每個人都會大搖其頭——很顯然,你隨機摸出一枚硬幣這枚硬幣居然沒有反面的概率是“不存在的”,我們對一枚隨機硬幣是否一枚有偏硬幣,偏了多少,是有著一個先驗的認識的,這個認識就是絕大多數硬幣都是基本公平的,偏得越多的硬幣越少見(可以用一個beta 分布來表達這一先驗概率)。將這個先驗正態分布p(θ)(其中θ表示硬幣擲出正面的比例,小寫的p代表這是概率密度函數)結合到我們的問題中,我們便不是去最大化P(D|h),而是去最大化P(D|θ)*p(θ),顯然θ=1是不行的,因為P(θ=1)為0,導致整個乘積也為0。實際上,只要對這個式子求一個導數就可以得到最值點。
以上說的是當我們知道先驗概率P(h)的時候,光用最大似然是不靠譜的,因為最大似然的猜測可能先驗概率非常小。然而,有些時候,我們對于先驗概率一無所知,只能假設每種猜測的先驗概率是均等的,這個時候就只有用最大似然了。實際上,統計學家和貝葉斯學家有一個有趣的爭論,統計學家說:我們讓數據自己說話。言下之意就是要摒棄先驗概率。而貝葉斯支持者則說:數據會有各種各樣的偏差,而一個靠譜的先驗概率則可以對這些隨機噪音做到健壯。事實證明貝葉斯派勝利了,勝利的關鍵在于所謂先驗概率其實也是經驗統計的結果,譬如為什么我們會認為絕大多數硬幣是基本公平的?為什么我們認為大多數人的肥胖適中?為什么我們認為膚色是種族相關的,而體重則與種族無關?先驗概率里面的“先驗”并不是指先于一切經驗,而是僅指先于我們“當前”給出的觀測數據而已,在硬幣的例子中先驗指的只是先于我們知道投擲的結果這個經驗,而并非“先天”。
作者:劉未鵬 出版:電子工業出版社
然而,話說回來,有時候我們必須得承認,就算是基于以往的經驗,我們手頭的“先驗”概率還是均勻分布,這個時候就必須依賴用最大似然,我們用前面留下的一個自然語言二義性問題來說明這一點:
The girl saw the boy with a telescope.
到底是The girl saw-with-a-telescope the boy這一語法結構,還是The girl saw the-boy-with-a-telescope呢?兩種語法結構的常見程度都差不多(你可能會覺得后一種語法結構的常見程度較低,這是事后偏見,你只需想想The girl saw the boy with a book就知道了。當然,實際上從大規模語料統計結果來看后一種語法結構的確稍稍不常見一丁點,但是絕對不足以解釋我們對第一種結構的強烈傾向)。那么到底為什么呢?
我們不妨先來看看MacKay在書中舉的一個漂亮的例子:
樹后面到底有多少個箱子?
圖中有多少個箱子?特別地,那棵書后面是一個箱子?還是兩個箱子?還是三個箱子?你可能會覺得樹后面肯定是一個箱子,但為什么不是兩個呢?如下圖:
兩種可能的解釋
很簡單,你會說:要是真的有兩個箱子那才怪了,怎么就那么巧這兩個箱子剛剛好顏色相同,高度相同呢?
用概率論的語言來說,你剛才的話就翻譯為:猜測h不成立,因為P(D|h)太?。ㄌ珊希┝?。我們的直覺是:巧合(小概率)事件不會發生。所以當一個猜測(假設)使得我們的觀測結果成為小概率事件的時候,我們就說“才怪呢,哪能那么巧呢?!”
現在我們可以回到那個自然語言二義性的例子,并給出一個完美的解釋了:如果語法結構是The girl saw the-boy-with-a-telecope的話,怎么那個男孩偏偏手里拿的就是望遠鏡——一個可以被用來saw-with的東東呢?這也忒小概率了吧。他咋就不會拿本書呢?拿什么都好。怎么偏偏就拿了望遠鏡?所以唯一的解釋是,這個“巧合”背后肯定有它的必然性,這個必然性就是,如果我們將語法結構解釋為The girl saw-with-a-telescope the boy的話,就跟數據完美吻合了——既然那個女孩是用某個東西去看這個男孩的,那么這個東西是一個望遠鏡就完全可以解釋了(不再是小概率事件了)。
自然語言二義性很常見,譬如這句話就有二義性:
參見《決策與判斷》以及《Rationality for Mortals》第12章:小孩也可以解決貝葉斯問題
到底是參見這兩本書的第12章,還是僅僅是第二本書的第12章呢?如果是這兩本書的第12章那就是咄咄怪事了,怎么恰好兩本書都有第12章,都是講同一個問題,更詭異的是,標題還相同呢?
注意,以上做的是似然估計(即只看P(D|h)的大?。?,不含先驗概率。通過這兩個例子,尤其是那個樹后面的箱子的例子我們可以看到,似然估計里面也蘊含著奧卡姆剃刀:樹后面的箱子數目越多,這個模型就越復雜。單個箱子的模型是最簡單的。似然估計選擇了更簡單的模型。
這個就是所謂的貝葉斯奧卡姆剃刀(Bayesian Occam’s Razor),因為這個剃刀工作在貝葉斯公式的似然(P(D|h))上,而不是模型本身(P(h))的先驗概率上,后者是傳統的奧卡姆剃刀。關于貝葉斯奧卡姆剃刀我們再來看一個前面說到的曲線擬合的例子:如果平面上有N個點,近似構成一條直線,但絕不精確地位于一條直線上。這時我們既可以用直線來擬合(模型1),也可以用二階多項式(模型2)擬合,也可以用三階多項式(模型3)……,特別地,用N-1階多項式便能夠保證肯定能完美通過N個數據點。那么,這些可能的模型之中到底哪個是最靠譜的呢?前面提到,一個衡量的依據是奧卡姆剃刀:越是高階的多項式越是繁復和不常見。然而,我們其實并不需要依賴于這個先驗的奧卡姆剃刀,因為有人可能會爭辯說:你怎么就能說越高階的多項式越不常見呢?我偏偏覺得所有階多項式都是等可能的。好吧,既然如此那我們不妨就扔掉P(h)項,看看P(D|h)能告訴我們什么。我們注意到越是高階的多項式,它的軌跡彎曲程度越是大,到了八九階簡直就是直上直下,于是我們不僅要問:一個比如說八階多項式在平面上隨機生成的一堆N個點偏偏恰好近似構成一條直線的概率(即P(D|h))有多大?太小太小了。反之,如果背后的模型是一條直線,那么根據該模型生成一堆近似構成直線的點的概率就大得多了。這就是貝葉斯奧卡姆剃刀。
這里只是提供一個關于貝葉斯奧卡姆剃刀的科普,強調直觀解釋,更多理論公式請參考MacKay的著作《Information Theory : Inference and Learning Algorithms》第28章。
(待續;此文的修訂版已收錄《暗時間》一書,由電子工業出版社2011年8月出版。作者于2009年7月獲得南京大學計算機系碩士學位,現在微軟亞洲研究院創新工程中心從事軟件研發工程師工作。)
網絡編輯:謝小跳