例項詳解貝葉斯推理的原理

喬永琪發表於2017-06-12

例項詳解貝葉斯推理的原理

貝葉斯推理是一種精確的資料預測方式。在資料沒有期望的那麼多,但卻想毫無遺漏地,全面地獲取預測資訊時非常有用。


提及貝葉斯推理時,人們時常會帶著一種敬仰的心情。其實並非想象中那麼富有魔力,或是神祕。儘管貝葉斯推理背後的數學越來越縝密和複雜,但其背後概念還是非常容易理解。簡言之,貝葉斯推理有助於大家得到更有力的結論,將其置於已知的答案中。


貝葉斯推理理念源自托馬斯貝葉斯。三百年前,他是一位從不循規蹈矩的教會長老院牧師。貝葉斯寫過兩本書,一本關於神學,一本關於概率。他的工作就包括今天著名的貝葉斯定理雛形,自此以後應用於推理問題,以及有根據猜測(educated guessing)術語中。貝葉斯理念如此流行,得益於一位名叫理查·布萊斯牧師的大力推崇。此人意識到這份定理的重要性後,將其優化完善並發表。因此,此定理變得更加準確。也因此,歷史上將貝葉斯定理稱之為 Bayes-Price法則。


譯者注:educated guessing 基於(或根據)經驗(或專業知識、手頭資料、事實等)所作的估計(或預測、猜測、意見等)


影院中的貝葉斯推理


640?wx_fmt=jpeg


試想一下,你前往影院觀影,前面觀影的小夥伴門票掉了,此時你想引起他們的注意。此圖是他們的背影圖。你無法分辨他們的性別,僅僅知道他們留了長頭髮。那你是說,女士打擾一下,還是說,先生打擾一下。考慮到你對男人和女人髮型的認知,或許你會認為這位是位女士。(本例很簡單,只存在兩種髮長和性別)


現在將上面的情形稍加變化,此人正在排隊準備進入男士休息室。依靠這個額外的資訊,或許你會認為這位是位男士。此例採用常識和背景知識即可完成判斷,無需思考。而貝葉斯推理是此方式的數學實現形式,得益於此,我們可以做出更加精確的預測。


640?wx_fmt=jpeg


我們為電影院遇到的困境加上數字。首先假定影院中男女各佔一半,100個人中,50個男人,50個女人。女人中,一半為長髮,餘下的25人為短髮。而男人中,48位為短髮,兩位為長髮。存在25個長髮女人和2位長髮男人,由此推斷,門票持有者為女士的可能性很大。


640?wx_fmt=jpeg


100個在男士休息室外排隊,其中98名男士,2位女士為陪同。長髮女人和短髮女人依舊對半分,但此處僅僅各佔一種。而男士長髮和短髮的比例依舊保持不變,按照98位男士算,此刻短髮男士有94人,長髮為4人。考慮到有一位長髮女士和四位長髮男士,此刻最有可能的是持票者為男士。這是貝葉斯推理原理的具體案例。事先知曉一個重要的資訊線索,門票持有者在男士休息室外排隊,可以幫助我們做出更好的預測。


為了清晰地闡述貝葉斯推理,需要花些時間清晰地定義我們的理念。不幸的是,這需要用到數學知識。除非不得已,我儘量避免此過程太過深奧,緊隨我檢視更多的小節,必定會從中受益。為了大家能夠建立一個基礎,我們需要快速地提及四個概念:概率、條件概率、聯合概率以及邊際概率。


概率


640?wx_fmt=jpeg


一件事發生的概率,等於該事件發生的數目除以所有事件發生的數目。觀影者為一個女士的概率為50位女士除以100位觀影者,即0.5 或50%。換作男士亦如此。


640?wx_fmt=jpeg


而在男士休息室排列此種情形下,女士概率降至0.02,男士的概率為0.98。


條件概率


640?wx_fmt=jpeg


條件概率回答了這樣的問題,倘若我知道此人是位女士,其為長髮的概率是多少?條件概率的計算方式和直接得到的概率一樣,但它們更像所有例子中滿足某個特定條件的子集。本例中,此人為女士,擁有長髮的人士的條件概率,P(long hair | woman)為擁有長髮的女士數目,除以女士的總數,其結果為0.5。無論我們是否考慮男士休息室外排隊,或整個影院。


640?wx_fmt=jpeg


同樣的道理,此人為男士,擁有長髮的條件概率,P(long hair | man)為0.4,不管其是否在佇列中。


640?wx_fmt=jpeg


很重要的一點,條件概率P(A | B)並不等同於P(B | A)。比如P(cute | puppy)不同於P(puppy | cute)。倘若我抱著的是小狗,可愛的概率是很高的。倘若我抱著一個可愛的東西,成為小狗的概率中等偏下。它有可能是小貓、小兔子、刺蝟,甚至一個小人。


聯合概率


640?wx_fmt=jpeg


聯合概率適合回答這樣的問題,此人為一個短髮女人的概率為多少?找出答案需要兩步。首先,我們先看概率是女人的概率,P(woman)。接著,我們給出頭髮短人士的概率,考慮到此人為女士,P(short hair | woman)。通過乘法,進行聯合,給出聯合概率,P(woman with short hair) = P(woman) * P(short hair | woman)。利用此方法,我們便可計算出我們已知的概率,所有觀影中P(woman with long hair)為0.25,而在男士休息室佇列中的P(woman with long hair)為0.1。不同是因為兩個案例中的P(woman)不同。


640?wx_fmt=jpeg


相似的,觀影者中P(man with long hair) 為0.02,而在男士休息室佇列中概率為0.04。


640?wx_fmt=jpeg


和條件概率不同,聯合概率和順序無關,P(A and B)等同於P(B and A)。比如,同時擁有牛奶和油炸圈餅的概率,等同於擁有油炸圈餅和牛奶的概率。


邊際概率


640?wx_fmt=jpeg


我們最後一個基礎之旅為邊際概率。特別適合回答這樣的問題,擁有長髮人士的概率?為計算出結果,我們須累加此事發生的所有概率——即男士留長髮的概率加女士留長髮的概率。加上這兩個概率,即給出所有觀影者P(long hair)的值0.27,而男休息室佇列中的P(long hair)為0.05。


貝葉斯定理


現在到了我們真正關心的部分。我們想回答這樣的問題,倘若我們知道擁有長髮的人士,那他們是位女士或男士的概率為?這是一個條件概率,P(man | long hair),為我們已知曉的P(long hair | man)逆方式。因為條件概率不可逆,因此,我們對這個新條件概率知之甚少。


幸運的是托馬斯觀察到一些很酷炫的知識可以幫到我們。


640?wx_fmt=jpeg


根據聯合概率計算規則,我們給出方程P(man with long hair)和P(long hair and man)。因為聯合概率可逆,因此這兩個方程等價。


640?wx_fmt=jpeg


藉助一點代數知識,我們就能解出P(man | long hair)。


640?wx_fmt=jpeg


表示式採用A和B,替換“man”和“long hair”,於是我們得到貝葉斯定理。


640?wx_fmt=jpeg


我們回到最初,藉助貝葉斯定理,解決電影院門票困境。


640?wx_fmt=jpeg


首先,需要計算邊際概率P(long hair)。


640?wx_fmt=jpeg


接著代入資料,計算出長髮中是男士的概率。對於男士休息室佇列中的觀影者而言,P(man | long hair)微微0.8。這讓我們更加確信一直覺,掉門票的可能是一男士。貝葉斯定理抓住了在此情形下的直覺。更重要的是,更重要的是吸納了先驗知識,男士休息室外佇列中男士遠多於女士。借用此先驗知識,更新我們對一這情形的認識。


概率分佈


諸如影院困境這樣的例子,很好地解釋了貝葉斯推理的由來,以及作用機制。然而,在資料科學應用領域,此推理常常用於資料解釋。有了我們測出來的先驗知識,藉助小資料集便可得出更好的結論。在開始細說之前,請先允許我先介紹點別的。就是我們需要清楚一個概率分佈。


此處可以這樣考慮概率,一壺咖啡正好裝滿一個杯子。倘若用一個杯子來裝沒有問題,那不止一個杯子呢,你需考慮如何將這些咖啡分這些杯子中。當然你可以按照自己的意願,只要將所有咖啡放入某個杯子中。而在電影院,一個杯子或許代表女士或者男士。


640?wx_fmt=jpeg


或者我們用四個杯子代表性別和髮長的所有組合分佈。這兩個案例中,總咖啡數量累加起來為一杯。


640?wx_fmt=jpeg


通常,我們將杯子挨個擺放,看其中的咖啡量就像一個柱狀圖。咖啡就像一種信仰,此概率分佈用於顯示我們相信某件事情的強烈程度。


640?wx_fmt=jpeg


假設我投了一塊硬幣,然後蓋住它,你會認為正面和反面朝上的機率是一樣的。


640?wx_fmt=jpeg


假設我投了一個骰子,然後蓋住它,你會認為六個面中的每一個面朝上的機率是一樣的。


640?wx_fmt=jpeg


假設我買了一期強力球彩票,你會認為中獎的可能性微乎其微。投硬幣、投骰子、強力球彩票的結果,都可以視為收集、測量資料的例子。


640?wx_fmt=jpeg


毫無意外,你也可以對其它資料持有某種看法。這裡我們考慮美國成年人的身高,倘若我告訴你,我見過,並測量了某些人的身高,那你對他們身高的看法,或許如上圖所示。此觀點認為一個人的身高可能介於150和200cm之間,最有可能的是介於180和190cm之間。


640?wx_fmt=jpeg


此分佈可以分成更多的方格,視作將有限的咖啡放入更多的杯子,以期獲得一組更加細顆粒度的觀點。


640?wx_fmt=jpeg


最終虛擬的杯子數量將非常大,以至於這樣的比喻變得不恰當。這樣,分佈變得連續。運用的數學方法可能有點變化,但底層的理念還是很有用。此圖表明瞭你對某一事物認知的概率分佈。


感謝你們這麼有耐心!!有了對概率分佈的介紹,我們便可採用貝葉斯定理進行資料解析了。為了說明這個,我以我家小狗稱重為例。


640?wx_fmt=jpeg


獸醫領域的貝葉斯推理


它叫雅各賓當政,每次我們去獸醫診所,它在秤上總是各種晃動,因此很難讀取一個準確的資料。得到一個準確的體重資料很重要,這是因為,倘若它的體重有所上升,那麼我們就得減少其食物的攝入量。它喜歡食物勝過它自己,所以說風險蠻大的。


最近一次,在它喪失耐心前,我們測了三次:13.9鎊,17.5鎊以及14.1鎊。這是針對其所做的標準統計分析。計算這一組數字的均值,標準偏差,標準差,便可得到小狗當政的準確體重分佈。


640?wx_fmt=jpeg


分佈展示了我們認為的小狗體重,這是一個均值15.2鎊,標準差1.2鎊的正態分佈。真實得測量如白線所示。不幸的是,這個曲線並非理想的寬度。儘管這個峰值為15.2鎊,但概率分佈顯示,在13鎊很容易就到達一個低值,在17鎊到達一個高值。太過寬泛以致無法做出一個確信的決策。面對如此情形,通常的策略是返回並收集更多的資料,但在一些案例中此法操作性不強,或成本高昂。本例中,小狗當政的(Reign )耐心已經耗盡,這是我們僅有的測量資料。


此時我們需要貝葉斯定理,幫助我們處理小規模資料集。在使用定理前,我們有必要重新回顧一下這個方程,檢視每個術語。


640?wx_fmt=gif


我們用“w” (weight)和 “m” (measurements)替換“A” and “B” ,以便更清晰地表示我們如何用此定理。四個術語分別代表此過程的不同部分。


先驗概率,P(w),表示已有的事物認知。本例中,表示未稱量時,我們認為的當政體重w。


似然值,P(m | w),表示針對某個具體體重w所測的值m。又叫似然資料。


後驗概率,P(w | m),表示稱量後,當政為某個體重w的概率。當然這是我們最感興趣的。


譯者注:後驗概率,通常情況下,等於似然值乘以先驗值。是我們對於世界的內在認知。


概率資料,P(m),表示某個資料點被測到的概率。本例中,我們假定它為一個常量,且測量本身沒有偏向。


對於完美的不可知論者來說,也不是什麼特別糟糕的事情,而且無需對結果做出什麼假設。例如本例中,即便假定當Reign的體重為13鎊、或1鎊,或1000000 鎊,讓資料說話。我們先假定一個均一的先驗概率,即對所有值而言,概率分佈就一常量值。貝葉斯定理便可簡化為P(w | m) = P(m | w)。


640?wx_fmt=gif


此刻,藉助Reign的每個可能體重,我們計算出三個測量的似然值。比如,倘若當政的體重為1000鎊,極端的測量值是不太可能的。然而,倘若當政的體重為14鎊或16鎊。我們可以遍歷所有,利用Reign的每一個假設體重值,計算出測量的似然值。這便是P(m | w)。得益於這個均一的先驗概率,它等同於後驗概率分佈 P(w | m)。


這並非偶然。通過均值、標準偏差、標準差得來的,很像答案。實際上,它們是一樣的,採用一個均一的先驗概率給出傳統的統計估測結果。峰值所在的曲線位置,均值,15.2鎊也叫體重的極大似然估計(MLE)。


即使採用了貝葉斯定理,但依舊離有用的估計很遠。為此,我們需要非均一先驗概率。先驗分佈表示未測量情形下對某事物的認知。均一的先驗概率認為每個可能的結果都是均等的,通常都很罕見。在測量時,對某些量已有些認識。年齡總是大於零,溫度總是大於-276攝氏度。成年人身高罕有超過8英尺的。某些時候,我們擁有額外的領域知識,一些值很有可能出現在其它值中。


640?wx_fmt=jpeg


在Reign的案例中,我確實擁有其它的資訊。我知道上次它在獸醫診所稱到的體重是14.2鎊。我還知道它並不是特別顯胖或顯瘦,即便我的胳膊對重量不是特別敏感。有鑑於此,它大概重14.2鎊,相差一兩鎊上下。為此,我選用峰值為14.2鎊。標準偏差為0.5鎊的正態分佈。


640?wx_fmt=gif


先驗概率已經就緒,我們重複計算後驗概率。為此,我們考慮某一概率,此時Reign體重為某一特定值,比如17鎊。接著,17鎊這一似然值乘以測量值為17這一條件概率。接著,對於其它可能的體重,我們重複這一過程。先驗概率的作用是降低某些概率,擴大另一些概率。本例中,在區間13-15鎊增加更多的測量值,以外的區間則減少更多的測量值。這與均一先驗概率不同,給出一個恰當的概率,當政的真實體重為17鎊。藉助非均勻的先驗概率,17鎊掉入分散式的尾部。乘以此概率值使得體重為17鎊的似然值變低。


640?wx_fmt=jpeg


通過計算當政每一個可能的體重概率,我們得到一個新的後驗概率。後驗概率分佈的峰值也叫最大後驗概率(MAP),本例為14.1鎊。這和均一先驗概率有明顯的不同。此峰值更窄,有助於我們做出一個更可信的估測。現在來看,小狗當政的體重變化不大,它的體型依舊如前。


通過吸收已有的測量認知,我們可以做出一個更加準確的估測,其可信度高於其他方法。這有助於我們更好地使用小量資料集。先驗概率賦予17.5鎊的測量值是一個比較低的概率。這幾乎等同於反對此偏離正常值的測量值。不同於直覺和常識的異常檢測方式,貝葉斯定理有助於我們採用數學的方式進行異常檢測。


另外,假定術語P(m)是均一的,但恰巧我們知道稱量存在某種程度的偏好,這將反映在P(m)中。若稱量僅輸出某些數字,或返回讀數2.0,佔整個時間的百分之10,或第三次嘗試產生一個隨機測量值,均需要手動修改P(m)以反映這一現象,以便後驗概率更加準確。


規避貝葉斯陷阱


探究Reign的真實體重體現了貝葉斯的優勢。但這也存在某些陷阱。通過一些假設我們改進了估測,而測量某些事物的目的就是為了瞭解它。倘若我們假定對某一答案有所瞭解,我們可能會刪改此資料。馬克·吐溫對強先驗的危害做了簡明地闡述,“將你陷入困境的不是你所不知道的,而是你知道的那些看似正確的東西。”


假如採取強先驗假設,當Reign的體重在13與15鎊之間,再假如其真實體重為12.5鎊,我們將無法探測到。先驗認知認為此結果的概率為零,不論做多少次測量,低於13鎊的測量值都認為無效。


幸運的是,有一種兩面下注的辦法,可以規避這種盲目地刪除。針對對於每一個結果至少賦予一個小的概率,倘若藉助物理領域的一些奇思妙想,當政確實能稱到1000鎊,那我們收集的測量值也能反映在後驗概率中。這也是正態分佈作為先驗概率的原因之一。此分佈集中了我們對一小撮結果的大多數認識,不管怎麼延展,其尾部再長都不會為零。


640?wx_fmt=jpeg


在此,紅桃皇后是一個很好的榜樣:


愛麗絲笑道:“試了也沒用,沒人會相信那些不存在的事情。”


“我敢說你沒有太多的練習”,女王迴應道,“我年輕的時候,一天中的一個半小時都在閉上眼睛,深呼吸。為何,那是因為有時在早飯前,我已經意識到存在六種不可能了。”來自劉易斯·卡羅爾的《愛麗絲漫遊奇境》



編譯: 伯樂線上 - 喬永琪 


☞  哈爾莫斯:怎樣做數學研究

☞  祖克伯2017年哈佛大學畢業演講

☞  線性代數在組合數學中的應用

☞  你見過真的菲利普曲線嗎?

☞  支援向量機(SVM)的故事是這樣子的

☞  深度神經網路中的數學,對你來說會不會太難?

☞  程式設計需要知道多少數學知識?

☞  陳省身——什麼是幾何學

☞  模式識別研究的回顧與展望

☞  曲面論

☞  自然底數e的意義是什麼?

☞  如何向5歲小孩解釋什麼是支援向量機(SVM)?

☞  華裔天才數學家陶哲軒自述

☞  代數,分析,幾何與拓撲,現代數學的三大方法論

640?wx_fmt=gif

演算法數學之美微信公眾號歡迎賜稿

稿件涉及數學、物理、演算法、計算機、程式設計等相關領域。

稿件一經採用,我們將奉上稿酬。

投稿郵箱:math_alg@163.com

640?wx_fmt=gif


相關文章