概率論與數理統計,在生活中實在是太有用了,但由于大學課堂理解不夠深入,不能很好地將這些理論具象化并應用到實際生活中,感到實在是太遺憾了,所以重新學習并用小白式的通俗易懂的語言來解釋記錄,以此來加深理解應用。 先思考一下,數學是怎么產生的? 當祖先遇到一個問題,最終采用了某種方法,把這個問題解決了,非常開心。動物都是有惰性的,為了在下次遇到此類問題時不費吹灰之力,于是就把這種解決問題的思想和方法提取出來,然后就有了數學。為了給更多的人恩惠,就需要把這種方法整理成抽象的,嚴謹的數學理論,傳遞給他人,別人看完,學習到理論,然后去解決新的問題。 簡而言之:
1、祖先是遇到具體的實際問題,然后解決問題,提取方法,整理成抽象的嚴謹的理論。
2、而后人是學習抽象的嚴謹的理論,并利用這些理論去解決新的具體的實際的問題。 看出差別來了吧,祖先創立數學的時候,入手點是具體的實際的問題,很形象。而后人們在學習數學的時候,入手點是抽象的嚴謹的理論。這就是困難所在。 總結一下上面的內容:
所以,要理解學好數學,就必須了解數學的是怎么產生的。所有的數學都是從實際中抽離出來的,是抽象的東西,不要鉆牛角一樣地鉆進去,要聯想實際應用,先去理解,再去摳理論。以上,只是簡單提供一種理解研究數學的方法,接下來我們言歸正傳,從以下4個角度來科普貝葉斯定理及其背后的思維: 1.貝葉斯定理的產生以及意義 2.什么是貝葉斯定理? 3.貝葉斯定理的應用案例 4.生活中的貝葉斯思維
1、貝葉斯定理的產生來源
英國數學家托馬斯·貝葉斯(Thomas Bayes)在1763年發表的一篇論文中,首先提出了這個定理。而這篇論文是在他死后才由他的一位朋友發表出來的。在這篇論文中,他為了解決一個“逆向概率”問題,而提出了貝葉斯定理。 在貝葉斯寫這篇文章之前,人們已經能夠計算**“正向概率”**,比如杜蕾斯舉辦了一個抽獎,抽獎桶里有10個球,其中2個白球,8個黑球,抽到白球就算你中獎。你伸手進去隨便摸出1顆球,摸出中獎球的概率是多大。根據頻率概率的計算公式,你可以輕松的知道中獎的概率是2/10。
而貝葉斯在他的文章中是為了解決一個“逆概率”的問題。同樣以抽獎為例,我們并不知道抽獎桶里有什么,而是摸出一個球,通過觀察這個球的顏色,來預測這個桶里里白色球和黑色球的比例。
這個預測其實就可以用貝葉斯定理來做。貝葉斯當時的論文只是對“逆概率”這個問題的一個直接的求解嘗試,這哥們當時并不清楚這里面這里面包含著的深刻思想。然而后來,貝葉斯定理席卷了概率論,并將應用延伸到各個問題領域。可以說,所有需要作出概率預測的地方都可以見到貝葉斯定理的影子,特別地,貝葉斯是機器學習的核心方法之一。為什么貝葉斯定理在現實生活中這么有用呢?這是因為現實生活中的問題,大部分都是像上面的**“逆概率”問題**。生活中絕大多數決策面臨的信息都是不完全的,我們手中只有有限的信息。既然無法得到全面的信息,我們就應該在信息有限的情況下,盡可能做出一個最優的預測。 比如,天氣預報說,明天降雨的概率是30%。這是什么意思呢?因為我們無法像計算頻率概率那樣,重復地把明天過上100次,然后計算出大約有30次會下雨,所以只能利用有限的信息(過去天氣的測量數據),采用貝葉斯定理來預測出明天下雨的概率是多少。 同樣的,在現實世界中,我們每個人都需要預測。要想深入分析未來、思考是否買股票、政策給自己帶來哪些機遇、提出新產品構想,或者只是計劃一周的飯菜。 貝葉斯定理就是為了解決這些問題而誕生的,它可以根據過去的數據來預測出概率。貝葉斯定理的思考方式為我們提供了明顯有效的方法來幫助我們提供能力,以便更好地預測未來的商業、金融、以及日常生活??偨Y下第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的發生調整,作用是,使得先驗概率更接近真實概率。**可能性函數你可以理解為新信息過來后,對先驗概率的一個調整。比如上面的例子 在女神沒有對笑之前,你覺得女神喜歡你的概率50%(先驗概率/主管判斷),女生經常對你笑(調整因子/新的信息),使得你覺得女神喜歡你的概率上升而超過50%(后驗概率);又比如我們剛開始看到“人工智能”這個信息,你有自己的理解(先驗概率/主觀判斷),但是當你學習了一些數據分析,或者看了些這方面的書后(新的信息),然后你根據掌握的最新信息優化了自己之前的理解(可能性函數/調整因子),最后重新理解了“人工智能”這個信息(后驗概率)如果"可能性函數"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個人得病?,F有一種試劑可以檢驗患者是否得病,它的準確率是0.99,即在患者確實得病的情況下,它有99%的可能呈現陽性。它的誤報率是5%,即在患者沒有得病的情況下,它有5%的可能呈現陽性?,F有一個病人的檢驗結果為陽性,請問他確實得病的可能性有多大? 好了,我知道你面對這一大推信息又頭大了,我也是。但是我們有模板套路,下面開始。第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%將說明它是垃圾郵件。 用貝葉斯過濾器可以識別很多改寫過的垃圾郵件,而且錯判率非常低。甚至不要求對初始值有多么精確,精度會在隨后計算中逐漸逼近真實情況。
4、生活中的貝葉斯思維
貝葉斯定理與人腦的工作機制很像,這也是為什么它能成為機器學習的基礎。如果你仔細觀察小孩學習新東西的這個能力,會發現,很多東西根本就是看一遍就會。比如我3歲的外甥,看了我做俯臥撐的動作,也做了一次這個動作,雖然動作不標準,但是也是有模有樣。 同樣的,我告訴他一個新單詞,他一開始并不知道這個詞是什么意思,但是他可以根據當時的情景,先來個猜測(先驗概率/主觀判斷)。一有機會,他就會在不同的場合說出這個詞,然后觀察你的反應。如果我告訴他用對了,他就會進一步記住這個詞的意思,如果我告訴他用錯了,他就會進行相應調整。(可能性函數/調整因子)。經過這樣反復的猜測、試探、調整主觀判斷,就是貝葉斯定理思維的過程。 同樣的,我們成人也在用貝葉斯思維來做出決策。比如,你和女神在聊天的時候,如果對方說出“雖然”兩個字,你大概就會猜測,對方后繼九成的可能性會說出“但是”。我們的大腦看起來就好像是天生在用貝葉斯定理,即根據生活的經歷有了主觀判斷(先驗概率),然后根據搜集新的信息來修正(可能性函數/調整因子),最后做出高概率的預測(后驗概率)。 其實這個過程,就是下面圖片的大腦決策過程:
所以,在生活中涉及到預測的事情,用貝葉斯的思維可以提高預測的概率。你可以分3個步驟來預測:1.分解問題
簡單來說就像小學生做應用題的感覺,先列出要解決的問題是什么?已知條件有哪些?2. 給出主觀判斷
不是瞎猜,而是根據自己的經歷和學識來給出一個主觀判斷。3.搜集新的信息,優化主觀判斷
持續關于你要解決問題相關信息的最新動態,然后用獲取到的新信息來不斷調整第2步的主觀判斷。如果新信息符合這個主觀判斷,你就提高主觀判斷的可信度,如果不符合,你就降低主觀判斷的可信度。 比如我們剛開始看到“人工智能是否造成人類失業”這個信息,你有自己的理解(主觀判斷),但是當你學習了一些數據分析,或者看了些這方面的最新研究進展(新的信息),然后你根據掌握的最新信息優化了自己之前的理解(調整因子),最后重新理解了“人工智能”這個信息(后驗概率)。這也就是胡適說的“大膽假設,小心求證”。
-
函數
+關注
關注
3文章
4371瀏覽量
64204 -
數學
+關注
關注
0文章
99瀏覽量
19477 -
貝葉斯
+關注
關注
0文章
77瀏覽量
12720
原文標題:小白之通俗易懂的貝葉斯定理
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
評論