怎樣用非數學語言講解貝葉斯定理(Bayes"s theorem)?
讓我們從一個故事開始。
1 看著後視鏡往前開車
想像這麼一個場景,我開著車,經過筆直的大道,快速地往下一個路口駛去。我知道,到了下一個路口就要右轉了。
這件事情很簡單,我坐在駕駛室內,看到下一個路口,往右邊打方向盤就好了:
突然,不管什麼原因(這故事是我寫的,可以安排一百種原因,乾脆就不解釋),反正前擋風玻璃碎了:
不要糾結我這幅圖,反正你已經無法看清前面的路了,那怎麼知道什麼時候該右轉?
還好,開車的是一位數學家,智商及時上線。
數學家根據自己的經驗,估計這條筆直的道路上:
這也就意味著如果隨意的右轉,有 的概率是錯誤的。
數學家從後視鏡看出去,發現後面有一輛車在打右轉彎燈,他意識到:
新的信息出現了,此時如果右轉,錯誤的概率就比之前小很多。
這種思考方法,就是貝葉斯定理所闡述的思考方法。
2 結合開車來理解貝葉斯公式
我們來看看貝葉斯公式是怎麼寫的:
先把剛才的開車給符號化:
我們再來理解下貝葉斯公式:
如果我們知道,在整個車輛行駛過程中,會有 的概率打右轉彎燈,即 ,我們就可以計算 了。
因此貝葉斯公式實際上闡述了這麼一個事情:
我們再通過韋恩圖來理解一下這個事情(為了觀看方便,下面的 的圓形面積是示意):
新的信息的出現,比如之前看到了亮著右轉彎燈的車,就好比知道點已經落入了 。
至於為什麼 事件發生後導致的調整為:
這就需要代數了,推導也不複雜,這裡就不演算了。
2.1 小結
我們可以看到有形的十字路口,卻看不到明天是否下雨,我們可以看到前方是否有路障,卻不清楚下一次飛機是否會出事。甚至有時候,眼睛還會欺騙我們。
很多時候,我們不得不看著後視鏡開車,這個時候概率論、貝葉斯定理就是我們的指路明燈。
看著後視鏡開車,肯定常常會撞車,沒關係,我們可以不斷的去修正我們的假設。
比如,撞了幾次車之後,就發現可能之前估計的在十字路口打右轉彎燈的數據明顯偏大了,我們修正之後再繼續開車。我們人類的學習,本身也是一個試錯的過程。
3 貝葉斯定理與人腦
貝葉斯定理現在很多人在研究,就是因為不少人相信貝葉斯定理和人腦的工作機制很像(此處頗多爭論,望自行判斷),因此成為機器學習的基礎。
比如,你和對方聊天的時候,如果對方說出「雖然」兩個字,你大概就會猜測,對方後繼九成的可能性會說出「但是」。我們的大腦看起來就好像是天生在用貝葉斯定理。
吳軍博士在他的著作《數學之美》裡面就提到了,最早的自然語言處理,比如翻譯、語音識別,都是通過語法分析來進行的,就是把「主謂賓」分析清楚,然後處理,正確率慘不忍睹。
後來,google由自然語言處理專家賈里尼克領導的部門,通過統計、概率方法進行上述研究,正確率提高了很多。在書中也列舉了貝葉斯定理是如何參與自然語言處理的。
書中還有一句業界廣為流傳的名言:
語法是人類後來總結出來的,我們天生是不需要語法就可以開口說話的,或許,人腦真的是貝葉斯大腦。
最後,有一個小小的問題,根據我們的經驗,硬幣正反兩面出現的概率都是 ,如果我扔了一千次都是正面,那說明了什麼?
這道題心算即可——
(1)先驗比率是75% : (1-75%) = 3 : 1;
(2)似然比率(Likelihood ratio)= 90% : 30% = 3;
(3)兩者相乘,得後驗比率 = 9 : 1;然後
(4)標準化(normalize),得後驗概率 = 9 / (9+1) = 90%。【故事】
讓我們先來做一道小學數學題。問:假設如來佛和玉皇大帝要打架,如來擁有全宇宙戰鬥力的 75%,剩下的戰鬥力都歸玉帝。那麼,玉帝的戰鬥力佔全宇宙的多少?
答:太簡單了,100% - 75% = 25%問:此時,如來和玉帝的戰力比是多少?
答:容易,75% : 25% = 3 : 1。問:好了,現在,假設太上老君發明了一種仙丹,能增強戰鬥力,如來佛和玉帝都偷吃了一顆。可是,如來和玉帝體質不同——如來吃了之後,戰鬥力增加了 90 倍;玉帝吃了之後,戰鬥力只增加 30 倍。請問,兩人偷吃仙丹之後,如來佛和玉帝的戰力比變成了多少?
答:這也不難——如來相對戰鬥力 = 3 x 90 = 270,玉帝相對戰鬥力 = 1 x 30 = 30。
因此,如來戰力:玉帝戰力 = 270 : 30 = 9 : 1問:好了,如來、玉帝吃了仙丹之後,如來佔全宇宙戰鬥力的多大比例?
答:如來戰鬥力佔比 = 9 / (9 + 1) = 90%。【解釋】
我覺得,理解貝葉斯定理的最大障礙,不是原理,而是太多小數、分數、百分數,比來比去、極易混淆。如果全部都是整數,那就好理解多了。實現方法是,先把題目的小數化為整數(之比),作運算,最後再化為小數。現在讓我把上面的故事翻譯一下,套到題目上。
(1) 你一開始有兩個假說,良好(H1)和故障(H2),
H1和H2的先驗概率比 = P(H1) : P(H2) = 3 : 1。【用P(良好) = 75%即可推出。】(2)現在你拿到了一個證據E:第一天產品是合格的。這個證據的作用,在於改變兩個假說的概率之比。
根據貝葉斯定理,這個「1 個零件合格」的證據會產生兩個效果:
a. 會讓 「機器良好」(H1) 的相對概率增加 90 倍 【因為 P(E|H1) = 90% 】,及
b. 會讓 「機器故障」(H2) 的相對概率增加 30 倍 【因為 P(E|H2) = 30% 】。
【公式上看,應該是分別縮減到 0.9 倍和 0.3 倍,但是化為整數比較容易思考。】(3) 根據(2),我們有了證據 E 之後,良好和故障的概率之比變為 3 x 90 : 1 x 30 = 270 : 30 = 9 : 1。
(4) 根據現有條件,其實還算不出 P(良好|1個合格) 。要算出 P(良好|1個合格) 的具體數值,還須明確給出一個條件,即「良好」和「故障」已經包括所有的假設了:
P(良好|1個合格) + P(故障|1個合格) = 1。
然後聯立剛才得到的
P(良好|1個合格) : P(故障|1個合格) = 9 : 1,可解出
P(良好|1個合格) = 90%。這就是一開始的計算思路。
【公式】
對應剛才的推理的,是貝葉斯定理常見形式的一個變體——分別對H1、H2列式,兩式相除即可得。
最左邊一項是先驗比率(如來和玉帝吃仙丹前的實力對比),
中間一項是似然比率(仙丹對兩人的效用比),
最右邊一項是後驗比率(如來和玉帝吃了仙丹後的實力對比)。上述運算過程,實際上用的是下式,與上式有微妙區別:
【拓展】
這個形式的好處是非常容易拓展,比如說,如果要考慮3個(獨立的)證據Ea、Eb、Ec:回到原題。若問,假設這個機器第一天不是生產了 1 個零件,而是生產了 3 個零件,而且 3 個都合格(零件合格的概率互相獨立),那機器良好的概率是多少?
(用故事的語言就是,如果如來和玉帝連吞3顆仙丹,那麼如來的戰鬥力佔全宇宙的多少?)
答案:
P(良好|3個合格) : P(故障|3個合格) = (3 : 1) x 3 x 3 x 3 = 81 : 1。【3 個合格零件,所以乘3次】
假設 P(良好|3個合格) + P(故障|3個合格) = 1,則
P(良好|三個合格) = 81 / (81 + 1) = 98.8%【思考題】
假設機器生產了 100 個零件,61 個合格,39 個不合格(各個零件的生產相互獨立),機器良好的概率是多少?
(提示:不合格零件的「效力」比合格零件的「效力」大。)
與@陳浩 的表格一樣,但是以前我才開始學的時候,更喜歡畫圖:我們可以換一個角度看這個問題,假設你是負責這台機器保養的,你關注這台機器是否運作正常,那麼從直覺上說,如果這台機器的次品率升高,就很可能意味著這台機器出了問題;合格率高,可能意味著機器運作良好。
當然,人的直覺是非常粗糙的,所以我們還是要藉助數學公式來更精確的刻劃這件事情,所以有如下你已經知道的經典貝葉斯公式:
其中M 表示機器(machine)運行良好,G表示產品(goods)合格。
表示機器運行良好情況下生產合格品的可能性,
表示我們觀察到一件合格品後,有多大信心認為機器運作良好。你應該已經和清楚這個公式是如何從聯合概率推導而來,我就不再重複教科書,但求闡釋這個公式和我們直覺間的聯繫。
如果你的領導跑過來問你,機器今天怎麼樣,你說應該沒問題啊,並且拿給剛剛做好的一個產品給他看——「瞧,這個產品是好的,所以機器多半也是好的」。在這個過程中,這個產品的好壞,實際上是被你當作了一個證據(Evidence)來支持機器運作正常這個假設(Hypotheis)。
但是僅有這個證據,實際上是不夠的。
我們可以把上述貝葉斯公式稍微改寫一下,成為:
現在可以看到等式右側被分成了兩部分:
1. 反映了我們的直覺——假設成立的話,那麼多大可能性會產生這個證據
2. 反映了假設和證據各自先驗概率對最終結果的影響。我務必要在這裡插播一些題外話,這樣看待貝葉斯公式的視角非常重要,因為人通常重視證據,但是忽略先驗概率,這也是很多歧視,偏見,以及無謂恐慌的來源。
譬如如果你得知自己的一項檢測指標呈陽性,而某種絕症患者中99%這個指標上都會呈陽性,切莫忙著絕望,而是一定要弄清楚這種絕症本身以及該指標呈陽性的先驗概率,
假如絕症概率非常小,小的可以忽略,譬如10億分之一,而陽性概率非常大(譬如心跳次數大於60),那麼這個證據完全是可以忽略的。只有在絕症概率並不小,而呈陽性非常罕見的情況下,我們才需要給予重視。
回到機器保養的問題上來,我們的目標是根據產品合格這個證據來倒推機器運作良好這個假設成立的可能性,那麼良好機器會產生合格產品的概率 我們已經知道是90%,接下來就是要考慮兩個先驗概率:
在不了解產品情況下,機器本身有多大可能性是運作良好的,這個可以基於機器出廠指標,或者歷史數據來得到,這裡我們已經知道是75%。
產品合格的先驗概率是多少。這裡一定要注意不能因為你手上拿了一件合格產品,就說 是100%,實際上這個概率是要根據以下這個公式(即全概率公式)計算出來的:什麼意思呢,就是產品合格的概率等於機器運作良好和不良好各自情況下的加權和,權重自然是機器運作良好與否的概率。
說到這裡,計算就是水到渠成了。
請看阮一峰的blog,上面很清楚的講解和實例。
http://www.ruanyifeng.com/blog/2011/08/bayesian_inference_part_two.html概率也就是測度。樓主說要用非數學的語言,那我嘗試用集合的圖形法來說明下貝葉斯的意義。
首先把全空間分割成若干個集合 ,如圖1
接著全空間里還有另外一個集合(事件) ,見圖2灰色區域
現在全空間可以更加細緻的分割為圖3
現在考察綠色方塊,也就是 區域
我們借用物理學中的參考系概念。
以全空間為參考系,則事件 和 發生的概率分別為
,
上述的概率其實也可以等效於圖2中相應的方塊面積。
但是事件 在不同的參考系下看的結果是不一樣的,有句古話說"情人眼裡出西施",一樣的道理。我看先看下圖
如果以 為參考系(以 為視角),看待 發生的概率(也就是所謂的條件概率)為
上述公式本質上就是進行了歸一化,也就是從全空間的角度切換到了參考系A。同樣一個事件 我們也可以從 的視角來看待(關注右上角的方塊),得到
於是有了
上述公式本質上說的是在不同相對坐標系下一個事件發生的概率,都可以轉換到同一個絕對坐標系下來。另外一個很不嚴謹的類比就是不同速度飛行的飛船來觀察某個物理現象,得到的結論不太一致,但是卻有著本質的聯繫。
貝葉斯其實是想告訴我們,一千個讀者有一千個哈姆雷特,但是世界上(全空間坐標系,唯物主義)只有一個哈姆雷特。。。
言歸正傳,題主想要的公式就是
貝斯公式和全概率公式的意思差不多相反。
全概率公式是說;某件事情的發生可以由很多情況導致,那麼這件事情發生的概率,就是每件事情導致他發生的概率,乘以每件事情發生的概率。
貝斯公式的意思是:某件事情還是由剛才所說的那些事件引起的,你已經知道某件事情發生了,那麼他是由哪件事情引起的呢?就可以又貝斯公式A事件引起他發生的概率。
舉個例子:地球爆炸可能由小行星撞擊導致,也可能被奧特曼的激光引爆。我現在想知道地球爆炸的概率是多少,那麼就是,小行星撞地球的概率X把地球撞爆的概率+奧特曼向地球發射激光的概率X地球被激光引爆的概率。這就是全概率
換句話說,現在地球爆炸了,當時我正在火星旅遊,現在我想知道,是小行星撞爆了地球,還是奧特曼射爆了地球?我就可以用貝斯公式算出他們的概率。以前糾結過類似的問題,當時模模糊糊地有這麼幾點東西,希望有幫助:
1.概率和真實情況沒關係。概率是根據我們知道的信息去推理的。
若我們知道的信息不同,推出的結果也不同。
而真實情況永遠是同樣的,一點也沒有變。
所以,別對「條件概率」有偏見。
我當時就總覺得條件概率,多了條件兩個字,它就低人一等,像是某種不符合真實情況的假設。2.
我覺得貝葉斯公式就是條件概率公式。
想像一個樹狀結構。
第一個點是原點,畫出兩個線條,兩個線條末端各有一個節點,分別是機器故障,機器好。
這兩個節點再各自分支成生產產品合格,生產產品不合格。我以前比較熟悉的條件概率的推理是,從第二級的某一個節點到第三級的某個節點。
幸運的是,用條件概率公式計算兩種條件概率的分子是一樣的,這是我覺得最巧妙的部分。
而現在要進行的條件概率推理是,第三級的兩個節點到第二級的一個節點。好吧. 受邀來回答一下. bayes定律其實很簡單的. 剛好這個東西在團隊內分享過, 也基於此做過一個模型. 同意 @陳浩 最好用2x2的表格最直觀了.
順便舉一個最直觀例子做說明: 女生一般都喜歡長發, 男生都喜歡短髮. 你在路上看到一個長發飄飄的背影, 自然上去搭訕, 結果發現是人妖的概率應該很低吧? 這時候看概率的個格子就是橫向兩種性別縱向長短髮. bayes說的就是要定位到其中任一個格子, 先橫後豎還是先豎後橫都一樣.看了這麼多答案,怎麼沒有人提平行宇宙解釋。我忘記是不是在《黑客與畫家》中看到的了。容我在此複述一下。
假設有1000個平行宇宙,這些宇宙中時間同步前進。
這一天,管理員小王天起床,走到車間。此時有750個宇宙,這機器都是好的。而另有250個宇宙,機器是壞的。
但是在所有的宇宙中,小王都忘記檢查機器了(100%忘記檢查的人物設定),然後機器開工,生產了一個產品。
我們看這750個良好機器的宇宙中,有90%的宇宙,也就是675個宇宙,都產生了好產品,而75個宇宙,生產了壞的產品。
我們再看這250個故障機器的宇宙中,有30%的宇宙,也就是75個宇宙生產了好產品,有175個宇宙生產了壞產品。
在那些生產了好產品的宇宙中,小王此時才想起來檢查機器。生產好產品的宇宙一共有675+75 = 750 個宇宙,其中675 個宇宙是良好機器的宇宙,另外75 個宇宙是故障機器的宇宙。
問,此時(生產了好產品時)發現故障機器的概率?
豈不是太簡單。
75/750 = 0.1
推薦閱讀阮一峰老師關於貝葉斯的一篇博文。
貝葉斯推斷及其互聯網應用(一):定理簡介
希望對題主有幫助。
這裡貼出來自 http://matrix67.com 的一篇博文。原文自Matrix67: My Blog 。講的非常好。沒有聽過Matrix67的可以看一下這篇文章:Matrix67:文科班裡的數學狂。
以下的文章比較完美地解決了題主的問題。概率論教你說謊:直覺思維的科學解釋
昨夜,M同學牽著女朋友的手走出宿舍樓,整夜沒有回來;直到今天早晨,大家才見他支著腰回到寢室,樣子十分疲憊。我們幾個好友似乎已經心領神會,於是一行人走上前去,帶著淫邪的笑容拷問他:昨晚幹啥了,那麼疲憊?本以為M同學會支支吾吾答不上話來,殊不知他義正嚴詞地答道:我和女朋友去看通宵電影去了。幾個人不服氣,問他,那電影票呢?誰知他說了一句「忘了放哪兒了」後,還真煞有其事地在包里翻來翻去。一群人大笑著說,唉呀,你就別裝了吧。兩分鐘後,我們全都傻了眼——M同學還真摸出兩張電影票。一哥們兒猛地拍了一下M同學的肩膀說,唉呀,為了騙過我們真是煞費苦心啊,居然到影院門口找散場觀眾買了兩張票根!
笑過之後,我突然開始想,假如M同學為了掩飾自己的惡劣行徑,真的準備好了偽證的話,他的演技可不是一般的高明。試著想像以下兩個畫面:1. 幾個人不服氣,問他,那電影票呢?M同學不急不慢地從口袋裡掏出兩張電影票說,在這兒呢。
2. 幾個人不服氣,問他,那電影票呢?M同學假裝到處尋找電影票,過了兩分鐘才翻出來。顯然,第二種做法更令人相信,他真的跑去看通宵電影去了。事實上,M同學還能做得更好:
3. 幾個人不服氣,問他,那電影票呢?M同學條件反射式地說,電影票早就扔了。我們繼續追問,不會吧,跟女朋友的電影票就這樣扔了,不是你的作風啊。M同學繼續狡辯,電影票真沒了,是不小心被搞丟的……半個小時後,M同學終於(裝作)妥協了,說,那你們看了電影票不要笑我哦。於是,他(假裝)不好意思地交齣電影票。我們接過來一看,然後指著他大笑:你居然和女朋友一起去看見過大爺?!還是愛國電影通宵連映?!
這個效果絕對一流,估計我們幾乎百分之百地會相信他是真的去看電影去了。事實上,很多電影和小說中也有類似的情節,比如《達芬奇密碼》中爵士以隱私權為由拒絕警方進入飛機搜查,而事實上警方強行進入後卻發現飛機里根本沒有別人。爵士事先讓大伙兒撤離飛機,並在警方要求搜查飛機時故意造成飛機里還有別人的假象,這樣為什麼就會讓人更加相信爵士反而沒有隱瞞什麼呢?有趣的是,從概率論的角度來說,這個直覺思維有一個很具有啟發性的科學解釋。在概率論中,在知道事件B已經發生的情況下,事件A發生的概率就記作P(A|B),它應該等於P(A∩B)/P(B)。例如,投擲一顆骰子,如果已經知道它的點數不超過3,那麼這個點數是奇數的概率就應該等於2/6除以3/6,即2/3。而上述公式中的P(A∩B)又可以等於P(B|A)·P(A),因此我們得到公式P(A|B) = P(B|A)·P(A)/P(B)。這個公式叫做Bayes定理,它的直觀意義就是,當你獲知了一個新的信息後,你對原事件的看法有什麼改變。若令事件A等於「M同學去開房」,事件B等於「M同學有電影票」,讓我們來看看公式中的各個概率的意義:
P(A):M同學昨晚去開房了的概率
P(B):M同學手中有電影票的概率
P(A|B):M同學手中的電影票被發現後,他昨晚去開房了的概率
P(B|A):如果昨晚M同學真的去開房了,他手中會有電影票的概率
其中P(A|B)就是當事人提供了新的證據之後人們對原事件發生概率的看法。利用Bayes定理P(A|B) = P(B|A)·P(A)/P(B),我們發現,P(A|B)與P(A)和P(B|A)成正比,與P(B)成反比。因此,為了讓人們相信事件A沒有發生,作為偽證的事件B一定要具有這樣的性質:它本來很可能發生,但伴隨著事件A一起發生就很不可思議了。通宵電影票就具有這樣的性質:有一張通宵電影票根並不罕見,罕見的就是昨晚開了房之後還有一張通宵電影票。為了充分利用這個偽證,讓P(A|B)變得更低,我們可以從以下三個角度入手:
減小P(B|A):不要輕易拿出證據(前文所說的策略)。故意做出沒法給出證據的樣子,讓人越來越堅信在事件A發生後還能給出證據B的概率有多麼小。增加P(B):平時做好鋪墊工作。長期保存電影票根,經常提起自己保留紀念物的喜好,讓人們相信證據本身的存在並不是什麼怪事。
減小P(A):不要長得那麼猥瑣。努力提高自己在別人心目中的人品。去整形醫院改頭換面,讓自己的面容端莊善良、和藹可親,不致於讓人一看見你就說你怎麼看上去那麼淫蕩是不是昨晚又沒幹好事。
最近正好在研究這個,寫了一篇文章:從貝葉斯定理說開去
貼在這裡:簡介
貝葉斯定理是18世紀英國數學家托馬斯·貝葉斯(Thomas Bayes)提出得重要概率論理論。以下摘一段 wikipedia 上的簡介:
所謂的貝葉斯定理源於他生前為解決一個「逆概」問題寫的一篇文章,而這篇文章是在他死後才由他的一位朋友發表出來的。在貝葉斯寫這篇文章之前,人們已經能夠計算「正向概率」,如「假設袋子裡面有 N 個白球,M 個黑球,你伸手進去摸一把,摸出黑球的概率是多大」。而一個自然而然的問題是反過來:「如果我們事先並不知道袋子裡面黑白球的比例,而是閉著眼睛摸出一個(或好幾個)球,觀察這些取出來的球的顏色之後,那麼我們可以就此對袋子裡面的黑白球的比例作出什麼樣的推測」。這個問題,就是所謂的逆向概率問題。
貝葉斯定理的思想出現在18世紀,但真正大規模派上用途還得等到計算機的出現。因為這個定理需要大規模的數據計算推理才能凸顯效果,它在很多計算機應用領域中都大有作為,如自然語言拼寫檢查,機器學習,推薦系統,圖像識別,博弈論等等。
定義條件概率就是事件 A 在另外一個事件 B 已經發生條件下的發生概率。條件概率表示為P(A|B),讀作「在 B 發生的條件下 A 發生的概率」。
聯合概率表示兩個事件共同發生(數學概念上的交集)的概率。A 與 B 的聯合概率表示為
貝葉斯定理是關於隨機事件 A 和 B 的條件概率:
其中P(A|B)是在 B 發生的情況下 A 發生的可能性。
在貝葉斯定理中,每個名詞都有約定俗成的名稱:
P(A)是 A 的先驗概率,之所以稱為「先驗」是因為它不考慮任何 B 方面的因素。
P(A|B)是已知 B 發生後 A 的條件概率,也由於得自 B 的取值而被稱作 A 的後驗概率。
P(B|A)是已知 A 發生後 B 的條件概率,也由於得自 A 的取值而被稱作 B 的後驗概率。
P(B)是 B 的先驗概率,也作標淮化常量(normalizing constant)。
按這些術語,貝葉斯定理可表述為:
後驗概率 = (相似度 * 先驗概率)/標淮化常量
也就是說,後驗概率與先驗概率和相似度的乘積成正比。
另外,比例P(B|A)/P(B)也有時被稱作標淮相似度(standardised likelihood),Bayes定理可表述為:
後驗概率 = 標淮相似度 * 先驗概率
推導
我們可以從條件概率的定義推導出貝葉斯定理。
根據條件概率的定義,在事件 B 發生的條件下事件 A 發生的概率為:
同樣地,在事件 A 發生的條件下事件 B 發生的概率為:
結合這兩個方程式,我們可以得到:
這個引理有時稱作概率乘法規則。上式兩邊同除以 P(A),若P(A)是非零的,我們可以得到貝葉斯定理:
解釋通常,事件 A 在事件 B 發生的條件下的概率,與事件 B 在事件 A 發生的條件下的概率是不一樣的;然而,這兩者是有確定關係的,貝葉斯定理就是這種關係的陳述。
貝葉斯公式的用途在於通過己知三個概率來推測第四個概率。它的內容是:在 B 出現的前提下,A 出現的概率等於 A 出現的前提下 B 出現的概率乘以 A 出現的概率再除以 B 出現的概率。通過聯繫 A 與 B,計算從一個事件發生的情況下另一事件發生的概率,即從結果上溯到源頭(也即逆向概率)。
通俗地講就是當你不能確定某一個事件發生的概率時,你可以依靠與該事件本質屬性相關的事件發生的概率去推測該事件發生的概率。用數學語言表達就是:支持某項屬性的事件發生得愈多,則該事件發生的的可能性就愈大。這個推理過程有時候也叫貝葉斯推理。
示例示例一:應當根據新情況更新先驗概率《決策與判斷》第十二章中講到人們都有保守主義情結,即使出現了新信息,也不願意根據新信息來更新先驗概率。用前面解釋裡面的話說就是:新信息是 B 事件不斷發生,人們本應該根據這個信息去更新 A 事件發生的概率,但人們卻更願意固守之前估計的 A 事件發生的概率。
書中舉了這樣一個調查案例:
假設有兩個各裝了100個球的箱子,甲箱子中有70個紅球,30個綠球,乙箱子中有30個紅球,70個綠球。假設隨機選擇其中一個箱子,從中拿出一個球記下球色再放回原箱子,如此重複12次,記錄得到8次紅球,4次綠球。問題來了,你認為被選擇的箱子是甲箱子的概率有多大?
調查結果顯示,大部分人都低估了選擇的是甲箱子的概率。根據貝葉斯定理,正確答案是96.7%。下面容我來詳細分析解答。
剛開始選擇甲乙兩箱子的先驗概率都是50%,因為是隨機二選一(這是貝葉斯定理二選一的特殊形式)。即有:
P(甲) = 0.5, P(乙) = 1 - P(甲);
這時在拿出一個球是紅球的情況下,我們就應該根據這個信息來更新選擇的是甲箱子的先驗概率:
P(甲|紅球1) = P(紅球|甲) × P(甲) / (P(紅球|甲) × P(甲) + (P(紅球|乙) × P(乙)))
P(紅球|甲):甲箱子中拿到紅球的概率
P(紅球|乙):乙箱子中拿到紅球的概率因此在出現一個紅球的情況下,選擇的是甲箱子的先驗概率就可被修正為:
P(甲|紅球1) = 0.7 × 0.5 / (0.7 × 0.5 + 0.3 × 0.5) = 0.7
即在出現一個紅球之後,甲乙箱子被選中的先驗概率就被修正為:
P(甲) = 0.7, P(乙) = 1 - P(甲) = 0.3;
如此重複,直到經歷8次紅球修正(概率增加),4此綠球修正(概率減少)之後,選擇的是甲箱子的概率為:96.7%。
我寫了一段 Python 代碼來解這個問題:
計算選擇的是甲箱子的概率:該代碼放在在線編譯器 idone 上,大家可以訪問這裡:http://ideone.com/MPtfT1,修改參數,點擊按鈕 ideone it 運行。
def bayesFunc(pIsBox1, pBox1, pBox2):
return (pIsBox1 * pBox1)/((pIsBox1 * pBox1) + (1 - pIsBox1) * pBox2)def redGreenBallProblem(pIsBox1, pRed, pGreen, countRed, countGreen):
# consider red ball
for i in range(1, countRed + 1):
pIsBox1 = bayesFunc(pIsBox1, pRed, pGreen)
print (" After red happened %d times, probability is %f" % (i, pIsBox1))# consider green ball
for i in range(1, countGreen + 1):
pIsBox1 = bayesFunc(pIsBox1, pGreen, pRed)
print (" After green happened %d times, probability is %f" % (i, pIsBox1))redGreenBallProblem(0.5, 0.7, 0.3, 8, 4)
在這個調查問題裡面,8次紅球與4次綠球出現的順序並不重要,因為紅球的出現總是使選擇的是甲箱子的概率增加,而綠球的出現總是減少。因此,為了簡化編程,我將紅球出現的情況以及綠球出現的情況擺在一起了。
程序運行結果如下:
After red happened 1 times, probability is 0.700000
After red happened 2 times, probability is 0.844828
After red happened 3 times, probability is 0.927027
After red happened 4 times, probability is 0.967365
After red happened 5 times, probability is 0.985748
After red happened 6 times, probability is 0.993842
After red happened 7 times, probability is 0.997351
After red happened 8 times, probability is 0.998863
After green happened 1 times, probability is 0.997351
After green happened 2 times, probability is 0.993842
After green happened 3 times, probability is 0.985748
After green happened 4 times, probability is 0.967365
從程序運行結果來看,很明顯可以看到紅球的出現是增加選擇甲箱子的概率,而綠球則相反。
示例二:頻率更適合用來解答概率問題《進化心理學》第十三章(428頁)講到人類的心理從進化角度來看,更偏好使用頻率(我最近十次打獵八次有收穫)而不是概率(我最近打獵有80%的成功率)。
書中舉了同一個問題用不同方式表述使得問題的難易程度迥然不同:
表述一:有一種疾病的發病率是千分之一,醫院有一種化驗技術可以對這種疾病進行診斷,但是卻又百分之五的誤診率(也即是說儘管有百分之五的人沒有病,但是化驗結果卻顯示為陽性(即假陽性))。現在假設一個人的化驗結果顯示為有病,僅根據這一化驗結果推測,那麼這個人確實患病的概率有多大?
這個問題也可以用貝葉斯定理來解決,不過在看分析之前,你可以先估算下你自己的答案,然後再和正確答案比較。
這個問題的分析過程如下:
已知先驗概率:P(患病) = 0.001,P(正常) = 0.999;
該化驗技術的準確率(即患病化驗結果顯示為陽性的概率)為:P(準確率) = 1.00;
該化驗技術的誤診率(即正常化驗結果顯示為陽性的概率)為:P(誤診率) = 0.05。根據上面的數據,我們就能夠推測出一個人化驗為陽性的情況下,這個人確實患病的概率有多大:
P(患病|陽性) = P(患病) × P(準確率) / (P(患病) × P(準確率) + P(正常) × P(誤診率))
= 0.001 × 1.00 / (0.001 × 1.00 + 0.999 × 0.05)
= 0.0198
= 2%結果讓你大吃一驚吧,在沒有其他癥狀增加患病概率的情況下,單憑化驗結果顯示為陽性來推測的話,其真實患病的概率還不到百分之二。
用頻率作為信息來記憶或回憶更生動也更容易被提取,想想第一次打獵什麼情形,第二次打獵什麼情形,歷歷在目。正因為頻率作為信息存儲載體保留了事件的形象性,提高了記憶的可得性,因此在進化過程中人類的心理機制優先選擇了頻率而不是抽象的概率。而且在人類十多萬年的進化過程中,出現概率概念的文明進程不過幾千年,大腦還沒有對進化到更適應抽象的概率的地步。
所以這個問題如果換成用頻率來表述的話,相信你的答案會大大接近於正確答案。
表述二:在一千個人中,就有一個人患有X疾病(即發病率為千分之一),有一種化驗技術,可以檢驗是否患有該疾病。如果一個人確實患有該病,化驗結果可定顯示為陽性。但有時候也會出現誤診,即在一千個完全健康的人中,有五十個人的化驗結果顯示為陽性(也即是說誤診率為百分之五)。
換成以頻率方式來表述這個問題,答案就顯然易見了:
P(患病|陽性) = 1/(1 + 50) = 1/51 = 0.0196 = 2%
通過這個例子,我們可以懂得,若能把概率問題轉換成頻率來表述,即便是需要使用貝葉斯這樣複雜定理來計算的問題,也能輕而易舉地解答。這就是《你的燈亮著么?》裡面提到的「重述問題」的技巧。
示例三:在博弈論裡面的應用挑戰者 B 不知道原壟斷者 A 是屬於高阻撓成本(為阻止 B 進入而花費的成本)類型還是低阻撓成本類型,但B知道,如果 A 屬於高阻撓成本類型,B 進入市場時A進行阻撓的概率是20%(阻擾成本高,因此阻撓概率低);如果 A 屬於低阻撓成本類型,B 進入市場時 A 進行阻撓的概率是100%。
博弈開始時,B 認為 A 屬於高阻撓成本企業的概率為70%,因此,B 估計自己在進入市場時,受到 A 阻撓的概率為:
P(阻撓) = 0.7 × 0.2 + 0.3 × 1.0 = 0.44
0.44 是在 B 給定 A 所屬類型的先驗概率下,A 可能採取阻撓行為的概率。
當 B 進入市場時,若 A 確實進行阻撓。根據貝葉斯定理,從 A 進行阻撓這一行為,B 可修正 A 屬於高阻撓成本企業的概率為::
P(高成本阻擾企業) = 0.7 × 0.2 ÷ 0.44 × 1.0 = 0.32
根據這一新的先驗概率,B 估計自己在進入市場時,受到 A 阻撓的概率為:
P(阻撓) = 0.32 × 0.2 + 0.68 × 1 = 0.744
若 B 再一次進入市場時,A 又進行了阻撓。根據貝葉斯定理,從 A 再次進行阻撓這一行為,B 可修正 A 屬於高阻撓成本企業的概率為
P(高成本阻擾企業) = 0.32 × 0.2 ÷ 0.744 × 1.0 = 0.086
這樣,根據 A 一次又一次的阻撓行為,B 不斷修正判斷 A 為高阻撓成本的概率(越來越低了),從而越來越傾向於將 A 判斷為低阻撓成本企業。
示例四:在計算機領域中的應用貝葉斯定理在計算機領域中的應用那可是太多了,無論是在機器學習,自然語言處理,圖像識別,推薦演算法,搜索演算法還是垃圾郵件處理中都大有用途。這些應用中都有一個特點,那就是根據既有輸入,在龐大的已有資料庫中尋找匹配程度(也即是發生概率)最高的那些項。由於這些話題太大,在這裡就不展開了。
徐宥翻譯過 Peter Norvig 寫的一篇怎樣寫一個拼寫檢查器的文章,作者只用了 20 行 Python 代碼就實現了拼寫檢查/糾錯,相當強大。文章也寫得深入淺出,推薦看看,翻譯版本在這裡。
參考
- WikiPedia 貝葉斯定理
- Mbalib 貝葉斯法則
- 《決策與判斷》
- 《進化心理學》
- 劉未鵬數學之美番外篇:平凡而又神奇的貝葉斯方法
- Peter Norvig,徐宥譯怎樣寫一個拼寫檢查器
受邀
2X2的表格,四格分別對應:
很奇怪的要求……那就畫表格吧……本質還是貝葉斯
機器好,產品好:0.75*0.9
機器壞,產品好:0.25*0.3
機器好,產品壞:0.75*0.1
機器壞,產品壞:0.25*0.7
現在就容易看出產品好的條件下,機器好的概率了。自己試一下吧。
只要一觀測。總概率就坍縮。
這個吧,
條件概率是由原因知結果。由著涼導致了感冒?
貝葉斯定理就是由結果追溯原因。他感冒了,那是什麼引起的?病毒or著涼or飲食不凈?貝葉斯定理太有用了,不管是在投資領域,還是機器學習,或是日常生活中高手幾乎都在用到它。
生命科學家用貝葉斯定理研究基因是如何被控制的;教育學家突然意識到,學生的學習過程其實就是貝葉斯法則的運用;基金經理用貝葉斯法則找到投資策略;Google用貝葉斯定理改進搜索功能,幫助用戶過濾垃圾郵件;無人駕駛汽車接收車頂感測器收集到的路況和交通數據,運用貝葉斯定理更新從地圖上獲得的信息;人工智慧、機器翻譯中大量用到貝葉斯定理。
我將從以下4個角度來科普貝葉斯定理及其背後的思維:
1.貝葉斯定理有什麼用?
2.什麼是貝葉斯定理?
3.貝葉斯定理的應用案例
4.生活中的貝葉斯思維
1.貝葉斯定理有什麼用?
英國數學家托馬斯·貝葉斯(Thomas Bayes)在1763年發表的一篇論文中,首先提出了這個定理。而這篇論文是在他死後才由他的一位朋友發表出來的。
(ps:貝葉斯定理其實就是下面圖片中的概率公式,這裡先不講這個公式,而是重點關注它的使用價值,因為只有理解了它的使用意義,你才會更有興趣去學習它。)
在這篇論文中,他為了解決一個「逆概率」問題,而提出了貝葉斯定理。
在貝葉斯寫這篇文章之前,人們已經能夠計算「正向概率」,比如杜蕾斯舉辦了一個抽獎,抽獎桶里有10個球,其中2個白球,8個黑球,抽到白球就算你中獎。你伸手進去隨便摸出1顆球,摸出中獎球的概率是多大。
根據頻率概率的計算公式,你可以輕鬆的知道中獎的概率是2/10
如果還不懂怎麼算出來的,可以看我之前寫的科普概率的回答:猴子:如何理解條件概率?
而貝葉斯在他的文章中是為了解決一個「逆概率」的問題。比如上面的例子我們並不知道抽獎桶里有什麼,而是摸出一個球,通過觀察這個球的顏色,來預測這個桶里里白色球和黑色球的比例。
這個預測其實就可以用貝葉斯定理來做。貝葉斯當時的論文只是對「逆概率」這個問題的一個直接的求解嘗試,這哥們當時並不清楚這裡面這裡面包含著的深刻思想。
然而後來,貝葉斯定理席捲了概率論,並將應用延伸到各個問題領域。可以說,所有需要作出概率預測的地方都可以見到貝葉斯定理的影子,特別地,貝葉斯是機器學習的核心方法之一。
為什麼貝葉斯定理在現實生活中這麼有用呢?
這是因為現實生活中的問題,大部分都是像上面的「逆概率」問題。生活中絕大多數決策面臨的信息都是不全的,我們手中只有有限的信息。既然無法得到全面的信息,我們就在信息有限的情況下,儘可能做出一個好的預測。
比如天氣預報說,明天降雨的概率是30%,這是什麼意思呢?
我們無法像計算頻率概率那樣,重複地把明天過上100次,然後計算出大約有30次會下雨。
而是只能利用有限的信息(過去天氣的測量數據),用貝葉斯定理來預測出明天下雨的概率是多少。
同樣的,在現實世界中,我們每個人都需要預測。想要深入分析未來、思考是否買股票、政策給自己帶來哪些機遇、提出新產品構想,或者只是計劃一周的飯菜。
貝葉斯定理就是為了解決這些問題而誕生的,它可以根據過去的數據來預測出概率。
貝葉斯定理的思考方式為我們提供了明顯有效的方法來幫助我們提供能力,以便更好地預測未來的商業、金融、以及日常生活。
總結下第1部分:貝葉斯定理有什麼用?
在有限的信息下,能夠幫助我們預測出概率。
所有需要作出概率預測的地方都可以見到貝葉斯定理的影子,特別地,貝葉斯是機器學習的核心方法之一。例如垃圾郵件過濾,中文分詞,艾滋病檢查,肝癌檢查等。
2.什麼是貝葉斯定理?
貝葉斯定理長這樣:
到這來,你可能會說:猴子,說人話,我一看到公式就頭大啊。
其實,我和你一樣,不喜歡公式。我們還是從一個例子開始聊起。
我的朋友小鹿說,他的女神每次看到他的時候都沖他笑,他想知道女神是不是喜歡他呢?
誰讓我學過統計概率知識呢,下面我們一起用貝葉斯幫小鹿預測下女神喜歡他的概率有多大,這樣小鹿就可以根據概率的大小來決定是否要表白女神。
首先,我分析了給定的已知信息和未知信息:
1)要求解的問題:女神喜歡你,記為A事件
2)已知條件:女神經常沖你笑,記為B事件
所以說,P(A|B)是女神經常沖你笑這個事件(B)發生後,女神喜歡你(A)的概率。
從公式來看,我們需要知道這麼3個事情:
1)先驗概率
我們把P(A)稱為"先驗概率"(Prior probability),即在不知道B事件的前提下,我們對A事件概率的一個主觀判斷。這個例子里就是在不知道女神經常對你笑的前提下,來主觀判斷出女神喜歡一個人的概率,這裡我們假設是50%,也就是不能喜歡你,可能不喜歡還你的概率都是一半。
2)可能性函數
P(B|A)/P(B)稱為"可能性函數"(Likelyhood),這是一個調整因子,即新信息B帶來的調整,作用是使得先驗概率更接近真實概率。
可能性函數你可以理解為新信息過來後,對先驗概率的一個調整。比如我們剛開始看到「人工智慧」這個信息,你有自己的理解(先驗概率/主觀判斷),但是當你學習了一些數據分析,或者看了些這方面的書後(新的信息),然後你根據掌握的最新信息優化了自己之前的理解(可能性函數/調整因子),最後重新理解了「人工智慧」這個信息(後驗概率)
如果"可能性函數"P(B|A)/P(B)&>1,意味著"先驗概率"被增強,事件A的發生的可能性變大;
如果"可能性函數"=1,意味著B事件無助於判斷事件A的可能性;
如果"可能性函數"&<1,意味著"先驗概率"被削弱,事件A的可能性變小。
還是剛才的例子,根據女神經常沖你笑這個新的信息,我調查走訪了女神的閨蜜,最後發現女神平日比較高冷,很少對人笑。所以我估計出"可能性函數"P(B|A)/P(B)=1.5(具體如何估計,省去1萬字,後面會有更詳細科學的例子)
3)後驗概率
P(A|B)稱為"後驗概率"(Posterior probability),即在B事件發生之後,我們對A事件概率的重新評估。這個例子里就是在女神沖你笑後,對女神喜歡你的概率重新預測。
帶入貝葉斯公式計算出P(A|B)=P(A)* P(B|A)/P(B)=50% *1.5=75%
因此,女神經常沖你笑,喜歡上你的概率是75%。這說明,女神經常沖你笑這個新信息的推斷能力很強,將50%的"先驗概率"一下子提高到了75%的"後驗概率"。
在得到預測概率後,小鹿自信滿滿的發了下面的表白微博:
稍後,果然收到了女神的回復。預測成功。
現在我們再看一遍貝葉斯公式,你現在就能明白這個公式背後的最關鍵思想了:
我們先根據以往的經驗預估一個"先驗概率"P(A),然後加入新的信息(實驗結果B),這樣有了新的信息後,我們對事件A的預測就更加準確。
因此,貝葉斯定理可以理解成下面的式子:
後驗概率(新信息出現後的A概率) = 先驗概率(A概率) x 可能性函數(新信息帶來的調整)
貝葉斯的底層思想就是:
如果我能掌握一個事情的全部信息,我當然能計算出一個客觀概率(古典概率)。
可是生活中絕大多數決策面臨的信息都是不全的,我們手中只有有限的信息。既然無法得到全面的信息,我們就在信息有限的情況下,儘可能做出一個好的預測。也就是,在主觀判斷的基礎上,你可以先估計一個值(先驗概率),然後根據觀察的新信息不斷修正(可能性函數)。
如果用圖形表示就是這樣的:
其實阿爾法狗也是這麼戰勝人類的,簡單來說,阿爾法狗會在下每一步棋的時候,都可以計算自己贏棋的最大概率,就是說在每走一步之後,他都可以完全客觀冷靜的更新自己的信念值,完全不受其他環境影響。
3.貝葉斯定理的應用案例
前面我們介紹了貝葉斯定理公式,及其背後的思想。現在我們來舉個應用案例,你會更加熟悉這個牛瓣的工具。
為了後面的案例計算,我們需要先補充下面這個知識。
1.全概率公式
這個公式的作用是計算貝葉斯定理中的P(B)。
假定樣本空間S,由兩個事件A與A"組成的和。例如下圖中,紅色部分是事件A,綠色部分是事件A",它們共同構成了樣本空間S。
這時候來了個事件B,如下圖:
全概率公式:
它的含義是,如果A和A"構成一個問題的全部(全部的樣本空間),那麼事件B的概率,就等於A和A"的概率分別乘以B對這兩個事件的條件概率之和。
看到這麼複雜的公式,記不住沒關係,因為我也記不住,下面用的時候翻到這裡來看下就可以了。
案例1:貝葉斯定理在做判斷上的應用
有兩個一模一樣的碗,1號碗里有30個巧克力和10個水果糖,2號碗里有20個巧克力和20個水果糖。
然後把碗蓋住。隨機選擇一個碗,從裡面摸出一個巧克力。
問題:這顆巧克力來自1號碗的概率是多少?
好了,下面我就用套路來解決這個問題,到最後我會給出這個套路。
第1步,分解問題
1)要求解的問題:取出的巧克力,來自1號碗的概率是多少?
來自1號碗記為事件A1,來自2號碗記為事件A2
取出的是巧克力,記為事件B,
那麼要求的問題就是P(A1|B),即取出的是巧克力,來自1號碗的概率
2)已知信息:
1號碗里有30個巧克力和10個水果糖
2號碗里有20個巧克力和20個水果糖
取出的是巧克力
第2步,應用貝葉斯定理
1)求先驗概率
由於兩個碗是一樣的,所以在得到新信息(取出是巧克力之前),這兩個碗被選中的概率相同,因此P(A1)=P(A2)=0.5,(其中A1表示來自1號碗,A2表示來自2號碗)
這個概率就是"先驗概率",即沒有做實驗之前,來自一號碗、二號碗的概率都是0.5。
2)求可能性函數
P(B|A1)/P(B)
其中,P(B|A1)表示從一號碗中(A1)取出巧克力(B)的概率。
因為1號碗里有30個水果糖和10個巧克力,所以P(B|A1)=30/(30+10)=75%
現在只有求出P(B)就可以得到答案。根據全概率公式,可以求得P(B)如下圖:
圖中P(B|A1)是1號碗中巧克力的概率,我們根據前面的已知條件,很容易求出。
同樣的,P(B|A2)是2號碗中巧克力的概率,也很容易求出(圖中已給出)。
而P(A1)=P(A2)=0.5
將這些數值帶入公式中就是小學生也可以算出來的事情了。最後P(B)=62.5%
所以,可能性函數P(A1|B)/P(B)=75%/62.5%=1.2
可能性函數&>1.表示新信息B對事情A1的可能性增強了。
3)帶入貝葉斯公式求後驗概率
將上述計算結果,帶入貝葉斯定理,即可算出P(A1|B)=60%
這個例子中我們需要關注的是約束條件:抓出的是巧克力。如果沒有這個約束條件在,來自一號碗這件事的概率就是50%了,因為巧克力的分布不均把概率從50%提升到60%。
現在,我總結下剛才的貝葉斯定理應用的套路,你就更清楚了,會發現像小學生做應用題一樣簡單:
第1步. 分解問題
簡單來說就像做應用題的感覺,先列出解決這個問題所需要的一些條件,然後記清楚哪些是已知的,哪些是未知的。
1)要求解的問題是什麼?
識別出哪個是貝葉斯中的事件A(一般是想要知道的問題),哪個是事件B(一般是新的信息,或者實驗結果)
2)已知條件是什麼?
第2步.應用貝葉斯定理
第3步,求貝葉斯公式中的2個指標
1)求先驗概率
2)求可能性函數
3)帶入貝葉斯公式求後驗概率
案例2:貝葉斯定理在疾病檢測中的應用
每一個醫學檢測,都存在假陽性率和假陰性率。所謂假陽性,就是沒病,但是檢測結果顯示有病。假陰性正好相反,有病但是檢測結果正常。
假設檢測準備率是99%,如果醫生完全依賴檢測結果,也會誤診,即假陽性的情況,也就是說根據檢測結果顯示有病,但是你實際並沒有得病。
舉個更具體的例子,因為艾滋病潛伏期很長,所以即便感染了也可能在相當長的一段時間身體沒有任何感覺,所以艾滋病檢測的假陽性會導致被測人非常大的心理壓力。
你可能會覺得,檢測準確率都99%了,誤測幾乎可以忽略不計了吧?所以你覺得這人肯定沒有患艾滋病了對不對?
但我們用貝葉斯分析算一下,你會發現你的直覺是錯誤的。
假設某種疾病的發病率是0.001,即1000人中會有1個人得病。現有一種試劑可以檢驗患者是否得病,它的準確率是0.99,即在患者確實得病的情況下,它有99%的可能呈現陽性。它的誤報率是5%,即在患者沒有得病的情況下,它有5%的可能呈現陽性。現有一個病人的檢驗結果為陽性,請問他確實得病的可能性有多大?
好了,我知道你面對這一大推信息又頭大了,我也是。但是我們有模板套路,下面開始。
第1步,分解問題
1)要求解的問題:病人的檢驗結果為陽性,他確實得病的概率有多大?
病人的檢驗結果為陽性(新的信息)為事件B,他得病記為事件A,
那麼求解的就是P(A|B),即病人的檢驗結果為陽性,他確實得病的概率
2)已知信息
疾病的發病率是0.001,即P(A)=0.001
試劑可以檢驗患者是否得病,準確率是0.99,即在患者確實得病的情況下(A),它有99%的可能呈現陽性(B),
也就是P(B|A)=0.99
試劑的誤報率是5%,即在患者沒有得病的情況下,它有5%的可能呈現陽性
得病我們記為事件A,那麼沒有得病就是事件A的反面,記為A",所以這句話就是P(B|A")=5%
2.應用貝葉斯定理
1)求先驗概率
疾病的發病率是0.001,即P(A)=0.001
2)求可能性函數
P(B|A)/P(B)
其中,P(B|A)表示在患者確實得病的情況下(A),試劑呈現陽性的概率,從前面的已知條件中我們已經知道P(B|A)=0.99
現在只有求出P(B)就可以得到答案。根據全概率公式,可以求得P(B)=0.05如下圖:
所以可能性函數P(B|A)/P(B)=0.99/0.05=19.8
3)帶入貝葉斯公式求後驗概率
我們得到了一個驚人的結果,P(A|B)等於1.98%。
也就是說,篩查的正確性都到了99%以上了,通過體檢判斷有沒有得病的概率也只有1.98%
你可能會說,再也不相信那些吹的天花亂墜的技術了,說好了篩查準確率那麼高,結果篩查的結果對於確診疾病一點用都沒有,這還要醫學技術幹什麼?
沒錯,這就是貝葉斯分析告訴我們的。我們拿艾滋病來說,由於發艾滋病實在是小概率事件,所以當我們對一大群人做艾滋病篩查時,雖說準確率有99%,但仍然會有相當一部分人因為誤測而被診斷為艾滋病,這一部分人在人群中的數目甚至比真正艾滋病患者的數目還要高。
你肯定要問了,那該怎樣糾正測量帶來的這麼高的誤診呢?
造成這麼不靠譜的誤診的原因,是我們無差別地給一大群人做篩查,而不論測量準確率有多高,因為正常人的數目遠大於實際的患者,所以誤測造成的干擾就非常大了。
根據貝葉斯定理,我們知道提高先驗概率,可以有效的提高後驗概率。
所以解決的辦法倒也很簡單,就是先鎖定可疑的樣本,比如10000人中檢查出現問題的那10個人,再獨立重複檢測一次,因為正常人連續兩次體檢都出現誤測的概率極低,這時篩選出真正患者的準確率就很高了,這也是為什麼許多疾病的檢測,往往還要送交獨立機構多次檢查的原因。
這也是為什麼艾滋病檢測第一次呈陽性的人,還需要做第二次檢測,第二次依然是陽性的還需要送交國家實驗室做第三次檢測。
在《醫學的真相》這本書里舉了個例子,假設檢測艾滋病毒,對於每一個呈陽性的檢測結果,只有50%的概率能證明這位患者確實感染了病毒。但是如果醫生具備先驗知識,先篩選出一些高風險的病人,然後再讓這些病人進行艾滋病檢查,檢查的準確率就能提升到95%。
案例4:貝葉斯垃圾郵件過濾器
垃圾郵件是一種令人頭痛的問題,困擾著所有的互聯網用戶。全球垃圾郵件的高峰出現在2006年,那時候所有郵件中90%都是垃圾,2015年6月份全球垃圾郵件的比例數字首次降低到50%以下。
最初的垃圾郵件過濾是靠靜態關鍵詞加一些判斷條件來過濾,效果不好,漏網之魚多,冤枉的也不少。
2002年,Paul Graham提出使用"貝葉斯推斷"過濾垃圾郵件。他說,這樣做的效果,好得不可思議。1000封垃圾郵件可以過濾掉995封,且沒有一個誤判。
因為典型的垃圾郵件辭彙在垃圾郵件中會以更高的頻率出現,所以在做貝葉斯公式計算時,肯定會被識別出來。之後用最高頻的15個垃圾辭彙做聯合概率計算,聯合概率的結果超過90%將說明它是垃圾郵件。
用貝葉斯過濾器可以識別很多改寫過的垃圾郵件,而且錯判率非常低。甚至不要求對初始值有多麼精確,精度會在隨後計算中逐漸逼近真實情況。
(ps:如果留言想詳細了解這個知識的很多,我後面會專門寫文章來回答大家)
4.生活中的貝葉斯思維
貝葉斯定理與人腦的工作機制很像,這也是為什麼它能成為機器學習的基礎。
如果你仔細觀察小孩學習新東西的這個能力,會發現,很多東西根本就是看一遍就會。比如我3歲的外甥,看了我做俯卧撐的動作,也做了一次這個動作,雖然動作不標準,但是也是有模有樣。
同樣的,我告訴他一個新單詞,他一開始並不知道這個詞是什麼意思,但是他可以根據當時的情景,先來個猜測(先驗概率/主觀判斷)。一有機會,他就會在不同的場合說出這個詞,然後觀察你的反應。如果我告訴他用對了,他就會進一步記住這個詞的意思,如果我告訴他用錯了,他就會進行相應調整。(可能性函數/調整因子)。經過這樣反覆的猜測、試探、調整主觀判斷,就是貝葉斯定理思維的過程。
同樣的,我們成人也在用貝葉斯思維來做出決策。比如,你和女神在聊天的時候,如果對方說出「雖然」兩個字,你大概就會猜測,對方後繼九成的可能性會說出「但是」。我們的大腦看起來就好像是天生在用貝葉斯定理,即根據生活的經歷有了主觀判斷(先驗概率),然後根據搜集新的信息來修正(可能性函數/調整因子),最後做出高概率的預測(後驗概率)。
其實這個過程,就是下面圖片的大腦決策過程:
所以,在生活中涉及到預測的事情,用貝葉斯的思維可以提高預測的概率。你可以分3個步驟來預測:
1.分解問題
簡單來說就像小學生做應用題的感覺,先列出要解決的問題是什麼?已知條件有哪些?
2. 給出主觀判斷
不是瞎猜,而是根據自己的經歷和學識來給出一個主觀判斷。
3.搜集新的信息,優化主觀判斷
持續關於你要解決問題相關信息的最新動態,然後用獲取到的新信息來不斷調整第2步的主觀判斷。如果新信息符合這個主觀判斷,你就提高主觀判斷的可信度,如果不符合,你就降低主觀判斷的可信度。
比如我們剛開始看到「人工智慧是否造成人類失業」這個信息,你有自己的理解(主觀判斷),但是當你學習了一些數據分析,或者看了些這方面的最新研究進展(新的信息),然後你根據掌握的最新信息優化了自己之前的理解(調整因子),最後重新理解了「人工智慧」這個信息(後驗概率)。這也就是胡適說的「大膽假設,小心求證」。
概率的基礎知識補充:
猴子:概率(Probability)的本質是什麼?
猴子:如何理解條件概率?
猴子:如何更好地理解「選擇比努力更重要」?
參考資料:
YouTube英文視頻《Thomas Bayes: Probability for Success》
YouTube英文視頻《Everything You Ever Wanted to Know About Bayes" Theorem But Were Afraid To Ask.》
貝葉斯垃圾郵件過濾器:http://www.paulgraham.com/spam.html
貝葉斯垃圾郵件過濾Wiki:https://en.wikipedia.org/wiki/Naive_Bayes_spam_filtering
貝葉斯推斷及其互聯網應用(一):定理簡介 - 阮一峰的網路日誌
何帆 《聯邦黨人文集》背後的統計學幽靈
趕腳就像懸疑劇推理一樣,知道了幾個老實人,在壞人堆里找一個嫌疑最大的貨。
可以這樣想: 第一,先問自己一個問題,若該產品沒告訴你是合格品,那麼該產品是合格品的概率是多少?顯然可以分為2種情況:第一種,機器良好生產合格品:0.75*0.9;第二種,機器故障生產合格品:0.25*0.3。可以看到,合格品種中,機器良好生產的是0.75*0.9,機器故障生產的是0.25*0.3。因此如果該產品是合格的,求機器良好的概率。等價於求在這一堆合格產品中,是機器良好生產的概率,因此就是(0.75*0.9)/(0.75*0.9+0.25*0.3)
當年概率論學葉貝斯公式,發現只要嚴格用公式並且嚴格把符號代表的意義寫上去,解題的時候多看看過程想一想就會知道這公式是顯然的生活經驗^_^
一圖流
以上
推薦閱讀:
※割圓法和萊布尼茲級數式求解圓周率近似值的「計算量」誰大?此類計算量如何量化定義?
※概率論趣題:有空箱子的期望數是多少?
※未來人工智慧能解決數學難題嗎?如黎曼猜想,霍奇猜想之類的?
※分母(除數)為什麼不能為0?
※為什麼西方的數位是三位一進,而東方的是四位一進?