貝葉斯定理相關的一些理解

近日在看阮一峯翻譯的《黑客與畫家》,書中的第8章介紹了以貝葉斯定理和推斷爲基礎實現的一個垃圾郵件過濾器。文章對其實現過程介紹比較粗略,爲此阮一峯後續還專門做了深入的研究,分別發表了兩篇博文進行更深入的闡述,可見:貝葉斯推斷及其互聯網應用(一):定理簡介貝葉斯推斷及其互聯網應用(二):過濾垃圾郵件。理解這些文章的過程中,也順便回顧了貝葉斯定理相關的內容。以下爲個人認爲的理解中需要注重的幾個知識點:

1. 條件概率和聯合概率

拋出這個問題,一是因爲它們是貝葉斯定理的基礎,而是因爲我突然有一天覺得它們兩個好像是一回事,直到做了仔細的甄別之後......

條件概率就是事件A在另外一個事件B已經發生條件下的發生概率,表示爲P(A|B),讀作“在B條件下A的概率”。聯合概率表示兩個事件共同發生的概率,表示爲P(AB)。兩者關係可表現爲公式:P(A|B)=P(AB)/P(B)

打個比方:假設一個班男生佔40人,女生佔60人,身高在一米七以上有30人,其中男生20人,女生10人。定義事件A:學生身高一米七以上,事件B:學生爲男生。
聯合概率:現在班上任選一人是男生並且身高在一米七以上的概率有多大?這就是聯合概率,很明顯P(AB)=20/100=0.2。

條件概率:如果已知抽到的是男生,那麼他身高在一米七以上的概率有多大?這就是條件概率,很明顯P(B)=40/100=0.4,則利用公式P(A|B)=P(AB)/P(B)可得P(A|B)=(20/100)/(40/100)=0.5。其實更簡單的算法是20/40,從這個簡單算法可以看到:條件的出現縮小了樣本空間。

2. 貝葉斯定理和貝葉斯推斷

貝葉斯定理可表示爲:P(A|B)=P(B|A)P(A)/P(B),或者


後者是全概率的表示方式。這裏P(A)通常被稱爲先驗概率,P(A|B)通常被稱爲後驗概率

貝葉斯推斷是貝葉斯定理的變形,公式表示爲:P(A|B)=P(A)P(B|A)/P(B)。這種表示是爲了將P(B|A)/P(B)作爲一個整體,稱爲“調整因子”,即P(A|B)=P(A)*調整因子。這樣可以更直觀的反映貝葉斯推斷的含義:先預估一個"先驗概率",然後加入實驗結果,看這個實驗到底是增強還是削弱了"先驗概率",由此得到更接近事實的"後驗概率"。如果調整因子>1,意味着"先驗概率"被增強,事件A的發生的可能性變大;如果調整因子=1,意味着B事件無助於判斷事件A的可能性;如果調整因子<1,意味着"先驗概率"被削弱,事件A的可能性變小。

關於貝葉斯定理和推斷的詳細說明,大家可以參考阮一峯的第一篇博文

3. 聯合概率推導過程

拋出這個問題,一是因爲書中的第8章提到的第二個公式。初看這個公式時,我就產生了疑問:這個公式怎麼得出的?二是因爲阮一峯雖然在第二篇博文中介紹了公式的推導過程,但是讀者(包括我)爭議較大。直到發現了一篇文章,突然對這個公式豁然開朗了。下面將這篇文章中的公式的推導過程截圖出來:


4. 關於過濾器的最後一點說明

這個過濾器的實現中,有一些貝葉斯定理之外的經驗值,例如:書中的第8章提到的第一個公式中的0.01、0.99等,個人覺得:這些經驗值的選取,比利用貝葉斯定理要難多了......

阮一峯的第二篇博文中提到“這種過濾器還具有自我學習的功能”,而且書中也在129頁提到“過濾器的過濾能力可以隨垃圾郵件一起進化”。個人認爲學習或進化功能是過濾器工具的功能,而不是貝葉斯定理和推斷本身的功能,或者更通俗的說,過濾器雖然基於貝葉斯定理和推斷開發,但是定理和推斷的實現並不能完全代表整個過濾器。一個可以想到的方法就是:過濾器工具每隔一段時間後,基於已有的垃圾郵件和正常郵件重新訓練過濾器,這樣也就體現出了學習能力。

發佈了66 篇原創文章 · 獲贊 6 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章