你真的理解【條件概率】嗎

2021-02-08 數學 算法 生活





條件概率是指,在事件A已經發生的條件下,事件B發生的概率

數學表達式為:

P(B|A)


它的計算公式為:P(B|A)=P(AB)/P(A)


這是高中就學過的概念,對於此大家肯定不陌生,做題估計也不下萬卷,小編最近複習這個知識點時,被一道題卡住了,後來查閱了很多資料,思忖了好幾天才想通的。先給出題目(三門問題):


你參加一個節目,很幸運獲得上臺抽獎的機會。臺上有A、B、C三個道具門,一輛最新款的特斯拉就在一扇門後,猜對了,車就可以直接開走。每個概率都是三分之一,你選了B。這時,主持人打開另外兩扇門中的一扇,空的。主持人額外送了你一次改變的機會,問你是堅持選B,還是選另一扇門?

(註:這個問題是小編在得到app潤總《五分鐘商學院》遇到的,評論區很多推導邏輯,但是都不能讓我100%信服,後來還是發現從數學上嚴格證明吧,也讓自己加深對條件概率的理解)


答案先按下不表。我們先來說說另外一個例子——關於三個囚犯的問題。


這個案例出自《推斷統計》一書,聽說是清華本科的教材,題目是這樣的:


有三個囚徒,A,B,C等待判決,國王宣布,他們中的一個人將會被赦免,另兩個將會被處決。在執行的前夜,A很希望能夠知道自己的命運,於是詢問監獄長W,監獄長W雖然知道結果,但按照規定不能提前告訴犯人。W想了一下,就告訴了A,B將一定會被處決。A聽了很高興,因為他認為B一定被處決,所以自己獲釋的概率就由1/3上升到了1/2。但W認為結果並沒有改變,A被處決的概率還是1/3,請問W和A誰想的有道理?


要解決這個問題,除了知道條件概率外,還需要理解另外一個公式:貝葉斯公式。我們先來介紹。





先直接給公式:




第一個等號表明,要求事件A發生條件下事件B發生的概率,可以先求事件B發生條件下事件A發生的概率。第一個等號證明過程很簡單,利用條件概率計算公式即可:



第二個等號其實是利用了全概率公式:



這裡需要注意的是,B1,B2,...,Bn必須為一個完備事件組。


貝葉斯公式的意義是:觀點隨事實發生變化。


它的意思的是,對於一個事件發生的概率,會因為新的事實而更改。

舉一個例子,比如拋硬幣,出現正面的概率我們知道為1/2,但是如果在特定的環境下,連拋20次硬幣都是正面朝上,我們有充分的理由懷疑這枚硬幣的質地性。因此,「連拋20次硬幣都是正面朝上」這個結果就是一個事實,我們原先對「拋硬幣正面朝上概率為1/2」的觀點要因為這個新的事實發生改變,那麼更新後的概率是什麼呢,就是在原有概率(先驗概率)基礎上乘以一個似然比,這就是貝葉斯公式的含義了:


(Bi更新的概率) = (似然比)X (Bi的先驗概率)


對應貝葉斯公式為:



註:關於貝葉斯公式更多的大白話解釋,請參考小編另外一篇文章《貝葉斯思維》


為了便於加深對貝葉斯公式的理解,以一道例題說明:


一起撞車逃跑事件,一座城市只有兩種顏色的車,藍色15%,綠色85%,事發時只有一人在現場,指證是藍車,但專家分析,當時那種條件,看正確的可能性為80%,那麼肇事車為藍車的概率為多少?


定義事件A:肇事車為藍車;事件B:看到車是藍色

求:P(A|B)


P(B) = P(A)*P(B|A)+P(~A)*P(B|~A)=15%*80%+85%*20%=0.29

P(B|A) = 80%

P(A|B) = P(A)*[P(B|A)/P(B)] = 15%*(80%/0.29)= 41%


這是關鍵點在於理解「那種條件,看正確的可能性為80%」這句話,它包含了是綠車看正確的可能性和是藍車看正確的可能性。所以,看到車是藍色要包含兩部分概率(全概率):(1)是藍車看對的概率(2)不是藍車看錯的概率。於是P(B) = P(A)*P(B|A)+P(~A)*P(B|~A)=15%*80%+85%*20%=0.29





有了貝葉斯公式和全概率公式,我們可以解答三個囚犯問題了:


定義事件A:A被赦免;事件B:B被赦免;事件C:C被赦免;事件Wb:W說B被處決

求:P(A|Wb)


P(A)=P(B)=P(C)=1/3,

P(Wb|A)=1/2,

P(Wb)=P(Wb|A)*P(A)+P(Wb|B)*P(B)+P(Wb|C)*P(C)

      =(1/2)*(1/3)+0*(1/3)+1*(1/3)=1/2,

P(A|Wb)=P(A)*[P(Wb|A)/P(Wb)]=(1/3)*[(1/2)/(1/2)]=1/3,

注意,此時的

P(C|Wb)=P(C)*[P(Wb|C)/P(Wb)]=(1/3)*[1/(1/2)]=2/3


因此,W想得有道理


這裡需要解釋一波:這裡要理解的關鍵點在於,監獄長說B被處決的概率,並非是B真正被處決的概率。因為監獄長必須是有條件的選擇說出B是否被處決。因為如果A被赦免,那麼從BC任意選擇一個說被處死就行,這時概率是1/2;而如果C被赦免,那麼只能說B被處決,這時的概率是1;如果B被赦免,那麼說B被處決不可能,所以概率為0.因此,P(Wb)是要通過全概率來求解。也是在這裡,A和C的平衡性被打破。理解Wb是有條件的是理解本題的關鍵。






三門問題和三個囚犯問題是一個情形的,解答思路如下:


不失一般性,設主持人打開空的門是A.

定義事件A:A門有獎;事件B:B門有獎;事件C:C門有獎;事件Wa:主持人打開A門沒獎

求:P(B|Wa)

P(A)=P(B)=P(C)=1/3

P(Wa|B)=1/2

P(Wa)=P(Wa|A)*P(A)+P(Wa|B)*P(B)+P(Wa|C)*P(C)=0*(1/3)+(1/2)*(1/3)+1*(1/3)=1/2

P(B|Wa)=P(B)*[P(Wa|B)/P(Wa)]=(1/3)*[(1/2)/(1/2)]=1/3

注意,此時的

P(C|Wa)=P(C)*[P(Wa|C)/P(Wa)]=(1/3)*[1/(1/2)]=2/3


顯然,選擇換門中獎的概率翻倍,從1/3上升到2/3。也就是,不堅持中獎概率更高。


如果數學看不懂,還可以這樣想:
你第一次選中的概率是1/3,另兩扇門加在一起是2/3。現在,主持人在另兩扇中去除了一扇沒有獎品的門,那麼2/3的概率就落在了剩下的那扇門上。所以,換,獲獎的概率從1/3增加到2/3。


如果還是不懂,那麼只能給你更多的資料自己意會了:劉潤:充電5分鐘,理性2小時





如果你還不相信,我們利用代碼復現這個過程


import random
import numpy as np
import pandas as pd


def Monty_Hall_Problem(n):
    
    car_door = random.randint(1,n) #藏著車的門編碼
    first_choice = random.randint(1,n) #第一次選擇的門
    
    #主持人繼續遊戲,打開額外沒有車的門
    if first_choice == car_door: #如果參與者第一次選中了車,那麼從剩餘沒有車的n-1扇門剔除n-2扇門
        all_door = [i for i in range(1,n+1)]
        all_door.remove(first_choice)
        keep_door = random.choice(all_door)#保留一扇門不打開
    else: #如果參與者第一次沒選中車,那麼保留有車的門
        keep_door = car_door
              
    second_choice = random.choice([first_choice,keep_door])#第二次選擇,從 first_choice 和 keep_door裡面二選一
    
    return [first_choice,second_choice,car_door]


def get(x,y):
    if x == y:
        return True
    else:
        False



D = []
for i in range(100000):#進行10萬次模擬
    li = Monty_Hall_Problem(3)
    D.append(li)
    
D = pd.DataFrame(D,columns=['第一次選擇','第二次選擇','有車的門'])

D['是否堅持'] = D.apply(lambda row:get(row['第一次選擇'],row['第二次選擇']),axis=1)
D['是否堅持'] = D['是否堅持'].apply(lambda x: '堅持' if x == True else '不堅持')
D['是否中獎'] = D.apply(lambda row:get(row['第二次選擇'],row['有車的門']),axis=1)
D['是否中獎'] = D['是否中獎'].apply(lambda x: '中獎' if x == True else '不中獎')


table = pd.pivot_table(D[['是否堅持','是否中獎']],index=['是否堅持'],columns=['是否中獎'],aggfunc=np.alen, margins=True).fillna(0)
table['中獎率'] = table['中獎']/table['All']

table


來看看結果:



可以看到,進行10萬次的模擬,在換門的情況下,中獎概率為66.7%;堅持不換門的中獎率33.6%,兩者接近計算出來的值2/3和1/3.


參考資料:

《推斷統計(翻譯版原書第2版)》

《概率論與數理統計第二版》

https://blog.csdn.net/mousever/article/details/9242565

相關焦點

  • 條件概率的理解
    概率的複習與拓展9課程中,條件概率的理解是一個難點。這裡,我們對概念和例題作一些補充講解。希望能對大家有一點啟發。
  • 條件概率與貝葉斯統計
    圖1 太陽爆炸了嗎?圖 1 中畫的是什麼情況呢?頻率論統計學家很清楚,只有兩種可能:探測器擲出一對 6,表示它說了謊;或者擲出其他的數,表示它說的是真的。因為沒有擲出一對 6 的概率是 35/326(97.22%),所以頻率論統計學家得出結論,探測器可能說的是真話。因此,太陽真的可能爆炸了。貝葉斯統計學家在建立概率模型時會加入額外的信息。
  • 通俗理解:概率分布函數、概率密度函數
    接下來講概率分布,顧名思義就是概率的分布,這個概率分布還是講概率的。我認為在理解這個概念時,關鍵不在於「概率」兩個字,而在於「分布」這兩個字。為了理解「分布」這個詞,我們來看一張圖。在很多教材中,這樣的列表都被叫做離散型隨機變量的「概率分布」。其實嚴格來說,它應該叫「離散型隨機變量的值分布和值的概率分布列表」,這個名字雖然比「概率分布」長了點,但是肯定好理解了很多。
  • 條件概率和貝葉斯公式:機器翻譯
    那麼條件概率是怎麼計算的呢?為了簡單起見,我們這裡先不從嚴格的數學公式講起,先從經驗出發講一下近似的計算方法,以便於理解。我們先來說說無條件的概率是如何估算的。你可以看出,一個隨機事件發生的條件概率,取決於兩個因素,一個是這個條件本身出現的次數,在上面的問題中就是「中藥」出現的那10萬次;另一個是,這個條件和這個隨機事件一同出現的次數,在上面的問題中,就是「中藥田七」這四個字出現的那1000次。條件概率就是後者加了條件後的「中藥田七」對前者「中藥」這個詞本身的概率比值。在這個例子中,比值就是百分之一。
  • 令人困惑的條件概率——紅球藍球概率問題
    如果你還是覺得困惑,我們來看下面這個關於概率的例子。假如你認識了一個朋友,她說她有兩個孩子,其中一個是女孩,那麼她的兩個孩子都是女孩的概率是多少答案是 1/3。問她的兩個孩子都是女孩的概率是多少。答案是1/2。你是不是很起奇怪,這和上一題的問法有什麼區別?有的,因為你見到了這個女孩,即使你不知道她是老大還是老二,都只有兩種等可能的情況。
  • 【暑期必備46個知識點:41】:條件概率公式
    在講了兩天概率的基本性質之後,今天又回到了高中的知識,你可能會問:「條件概率也是高中知識?我怎麼沒印象」,那只能說明你忘了。條件概率在高中也算是一個非常重要的考點,接下來,我先舉個例子,來說明條件概率的重要性。
  • 貝葉斯系統學習之一:我是如何理解先驗概率和後驗概率的
    所以關於概率與統計的學習我是覺得越來越重要了,所以我之前在公眾號裡轉發了很多關於這方面的知識,最近也想系統的學習整理一下,在正式介紹貝葉斯相關應用的之前,先從最基本的概念開始吧,本文先介紹兩個你既熟悉,但又不能完全理解明白的概念,先驗概率和後驗概率。
  • 【概率筆記】條件概率這樣學才快啦
    】基礎之概率概論與集合論【概率筆記】這些概率公理性質你需要會的呀條件概率(Conditional Probability)比如,一個上學期間整天鬼混的學沫,根本就不好好學習,對於他而言,選擇題的四個選項ABCD被他選取的概率就為1/4。
  • 大數據分析為什麼要學習R種的條件概率
    在大數據分析為什麼要學習R種的條件概率中,您將學習條件概率的基礎知識,然後深入研究更高級的概念,例如貝葉斯定理和樸素貝葉斯算法。當你學習,你會用你[R技能,把理論付諸實踐,並建立一個工作的這些關鍵統計的概念知識。
  • 教學研討|2.2.1 條件概率
    ▍來源:網絡 研討素材一2.2.1 條件概率 甘肅省白銀市景泰縣景泰二中 胡鈺敏 一、教學目標 知識與技能:初步理解條件概率的概念與表示,理解條件概率的一般計算公式,會正確使用公式分析和解決一些條件概率的具體問題.
  • 概率密度函數及在信號方面的簡單理解(上)
    總是心心念念著他們,最近又琢磨起此事,查了很多帖子論壇發現很少有把這三者結合起來討論的,那行,我就來做吧,就按自己的想法寫下了一些簡單的理解。如有錯誤,歡迎指正。本篇分為上中下三部分:上篇是對概率密度函數相關的基礎的理解;中篇為頻譜密度函數的簡單理解,下篇為功率譜密度的簡單理解。
  • 13張動圖助你徹底看懂馬爾科夫鏈、PCA和條件概率!
    [ 導讀 ]馬爾科夫鏈、主成分分析以及條件概率等概念,是計算機學生必學的知識點,然而理論的抽象性往往讓學生很難深入地去體會和理解
  • 你真的理解了素質教育嗎?
    人人都在吹捧,可是你真的理解嗎?從古雅典的柏拉圖式教育到現在的特色自由教育,這些都離不開一個條件就是:「素質教育」是一個針對性的教育,如果中國的學生和教師的比例能幾乎平衡才行。這個條件就限制了很多的事情,在如今的義務教育中是不可能存在的,義務教育是公共教育,特點是一對多的模式,儘量的會降低成本,讓更多的孩子能夠享受義務教育,與「素質教育」就已經背道而馳了,向每個學生都享受「素質教育」是不現實的。那麼真正的「素質教育」在哪裡呢?
  • 理論基石-條件概率
    概率論與數理統計算是機器學習的重要理論基石,從這一篇開始,我們就正式進入到概率統計的內容板塊中了
  • 正好遇見條件概率,而且還是幾何概型
    正好遇見條件概率筆者近日正好複習條件概率,然後又湊巧做到河南2020年適應性測試的試卷中一道條件概率的試題,而且還是附帶考查幾何概型的,於是就想寫一篇推文記錄一下教學隨想。條件概率的考查點往往偏向於古典概型,這次試題的命制讓人耳目一新。
  • 緣分是真的嗎?用概率揭開緣分的面紗
    生活中經常會遇到各種有緣的事情,比如說你和你傾慕的人竟然是同一天生日,比如說在異國他鄉遇到多年未見的同學等等,比如說在你的微信朋友圈上,有兩個絕對不可能認識的人竟然互相點讚。你會感嘆真巧啊,世界真小啊。緣分是真的嗎?今天用概率揭開緣分的面紗。(本文只講結論,不講公式推導,有興趣的同學可以自己查證。)
  • 高中數學說課實例,《概率的意義》,你學會了嗎?
    1)理解概率的含義並能通過大量重複試驗確定概率。問題2:下面兩個隨機事件發生的可能性一樣嗎?問題3:在一定條件下,這些隨機事件發生的可能性到底有多大呢?第三步:觀察數學家的試驗問題3:通過以上的三個試驗,你能得到什麼結論?
  • 概率的騙局,你識破了嗎
    假設樣本是一百,對於作為分子的「幾」來說,被砸中的概率就是百分之百。對於分母中的大多數,除了「幾」之外的其他人,遭遇的概率則是零。那些可能讓你僥倖或讓你害怕的中間概率,無非都來自於一定數量的零,和一定數量的百分之百。所有概率的來源,都只有這兩個數字。
  • 《條件概率與獨立事件》教學設計
    本節課的學習目標如下:【學習目標】(1)能辨別條件概率和非條件概率、掌握條件概率的相關數學表示(2)能夠用公式法計算條件概率,能夠運用古典概型求條件概率(3)能從條件概率角度定義相互獨立事件的概念,能直觀判斷事件的獨立性(4)能建模分析、完成獨立事件相關的概率問題的計算【重點難點】重點:條件概率與獨立事件概率的計算
  • 人生贏家都是概率贏家,你算對了嗎?
    怎麼讓你想傳播的信息瘋傳? 加薪能提升員工的績效嗎? 請明星做廣告能在多大程度上助力產品的暢銷? 這些實驗證明了,常識不僅在解釋一個人的個體行為的時候容易出現偏差,在解釋群體行為和歷史事件上,也很容易出現偏差。