貝葉斯方法與其中的思想

content

連續性隨機變量的分佈以及概率密度

似然函數

貝葉斯方法

參考資料(強烈推薦最後一個)


連續性隨機變量的分佈以及概率密度

連續性隨機變量的分佈不能像離散型的分佈那樣去描述。因爲這種變量的取值充滿一個區間,如果取一個點問他的概率,只能是0。
刻畫連續性隨機變量的概率分佈的一個方法是使用概率密度函數
- 定義:設連續型隨機變量X有概率分佈函數F(x),則F(x)的導數f(x) = F‘(x) 稱爲X的概率密度函數。

概率密度函數就是來描述連續性隨機變量的概率分佈的。
- 理解:在連續性隨機變量中去一個點x,事件{x < X ≤ x + h}的概率爲F(x + h) - F(x)。因此[F(x + h) - F(x)] / h 爲在x附近h這個長度上單位長度所佔有的概率。令h趨近於0,則[F(x + h) - F(x)] / h的極限f(x) = F‘(x)爲x點處單位長的概率。


似然函數

似然函數的定義,它是給定聯合樣本值x下關於(未知)參數θ 的函數:L(θ | x) = f(x | θ)
這裏的x是指聯合樣本隨機變量X取到的值,即X = x;
這裏的θ是指未知參數,它屬於參數空間;
這裏的f(x | θ)是一個密度函數,特別地,它表示(給定)θ下關於聯合樣本值x的聯合密度函數。
簡單來說,似然函數是關於θ的函數(通過各種情況的可能性,猜參數)。密度函數是關於x的函數(通過參數,推測各種情況的可能性)。
所以上邊等式的等號=理解爲函數值形式的相等,而不是兩個函數本身是同一函數(根據函數相等的定義,函數相等當且僅當定義域相等並且對應關係相等)。

總結:概率密度表達給定θ下樣本隨機向量X = x的可能性,而似然表達了給定樣本X = x下參數θ1(相對於另外的參數θ2)爲真實值的可能性。


貝葉斯方法 —— 先驗與似然共舞

P(B|A) = P(AB) / P(A)

舉例:糾正拼寫,詳細例子見參考資料平凡而又神奇的貝葉斯方法
如果一個人在打字時輸入了thew,顯然這是一個錯誤的單詞,但是實際上他想輸入的是the還是thaw或者是其他的呢?這裏就引入了糾正拼寫問題。
我們需要得到的結果可以表示爲P(我們猜測他想輸入的 | 輸入的是thew)
設我們猜測他想輸入的爲h1, h2… 統稱爲h
設他實際輸入的是D
則問題轉化爲P(h | D)
使用貝葉斯公式得到P(h | D) = P(h) * P(D | h) / P(D)
也就是P(h | D) ∝ P(h) * P(D | h)
P(h)是什麼: 它是在所有的詞彙表中輸入h代表的這個單詞的可能性,也就是h代表的這個單詞的先驗概率
P(D | h)是什麼: 回去看看上邊介紹的似然函數,是不是有些眼熟。可以這麼理解,我想要的是更好地滿足給定的D的情況下的h,這就是似然

如果不使用貝葉斯呢?

一個最常見的替代方案就是,選擇離 thew 的編輯距離最近的。然而 the 和 thaw 離 thew 的編輯距離都是 1 。這可咋辦捏?你說,不慌,那還是好辦。我們就看到底哪個更可能被錯打爲 thew 就是了。我們注意到字母 e 和字母 w 在鍵盤上離得很緊,無名指一抽筋就不小心多打出一個 w 來,the 就變成 thew 了。而另一方面 thaw 被錯打成 thew 的可能性就相對小一點,因爲 e 和 a 離得較遠而且使用的指頭相差一個指頭(一個是中指一個是小指,不像 e 和 w 使用的指頭靠在一塊——神經科學的證據表明緊鄰的身體設施之間容易串位)。OK,很好,因爲你現在已經是在用最大似然方法了,或者直白一點,你就是在計算那個使得 P(D | h) 最大的 h 。
——平凡而又神奇的貝葉斯方法

貝葉斯就是先驗乘似然,既然似然已經可以做到了,爲什麼還要多加一個先驗呢。一方面當似然不能做出有有效判斷的時候,先驗可以提供另一種判斷方式,例如詞語糾錯中可以通過哪個詞更常見這個先驗來進行判斷。另一方面,即便一個猜測與數據非常符合,也並不代表這個猜測就是更好的猜測,因爲這個猜測本身的可能性也許就非常低。

例如:-1 3 7 11 你說是等差數列更有可能呢?還是 -X^3 / 11 + 9/11*X^2 + 23/11 每項把前項作爲 X 帶入後計算得到的數列?此外曲線擬合也是,平面上 N 個點總是可以用 N-1 階多項式來完全擬合,當 N 個點近似但不精確共線的時候,用 N-1 階多項式來擬合能夠精確通過每一個點,然而用直線來做擬合/線性迴歸的時候卻會使得某些點不能位於直線上。
——平凡而又神奇的貝葉斯方法

所以到底哪個好呢?多項式?還是直線?一般地說肯定是越低階的多項式越靠譜,可以理解爲低階多項式更常見,也就是其先驗概率更大。當然不是隨意的低階都可以,同樣要滿足其似然,因此這就是貝葉斯將先驗和似然相乘的原因。
如果使用一個高階多項式完全擬合分佈,甚至連噪聲都進行了擬合,它確實是最大似然的選擇,但是它真的好嗎?是不是過擬合了?因此P(D | h) 大不代表你的 h (猜測)就是更好的 h,還要看 P(h) 是怎樣的。

來比較哪個模型最爲靠譜。前面提到,光靠 P(D | h) (即“似然”)是不夠的,有時候還需要引入 P(h) 這個先驗概率。奧卡姆剃刀就是說 P(h) 較大的模型有較大的優勢,而最大似然則是說最符合觀測數據的(即 P(D | h) 最大的)最有優勢。整個模型比較就是這兩方力量的拉鋸。我們不妨再舉一個簡單的例子來說明這一精神:你隨便找枚硬幣,擲一下,觀察一下結果。好,你觀察到的結果要麼是“正”,要麼是“反”(不,不是少林足球那枚硬幣:P ),不妨假設你觀察到的是“正”。現在你要去根據這個觀測數據推斷這枚硬幣擲出“正”的概率是多大。根據最大似然估計的精神,我們應該猜測這枚硬幣擲出“正”的概率是 1 ,因爲這個纔是能最大化 P(D | h) 的那個猜測。然而每個人都會大搖其頭——很顯然,你隨機摸出一枚硬幣這枚硬幣居然沒有反面的概率是“不存在的”,我們對一枚隨機硬幣是否一枚有偏硬幣,偏了多少,是有着一個先驗的認識的,這個認識就是絕大多數硬幣都是基本公平的,偏得越多的硬幣越少見(可以用一個 beta 分佈來表達這一先驗概率)。將這個先驗正態分佈 p(θ) (其中 θ 表示硬幣擲出正面的比例,小寫的 p 代表這是概率密度函數)結合到我們的問題中,我們便不是去最大化 P(D | h) ,而是去最大化 P(D | θ) * p(θ) ,顯然 θ = 1 是不行的,因爲 P(θ=1) 爲 0 ,導致整個乘積也爲 0 。實際上,只要對這個式子求一個導數就可以得到最值點。
——平凡而又神奇的貝葉斯方法

最後再引用一段

樸素貝葉斯方法

樸素貝葉斯方法是一個很特別的方法,所以值得介紹一下。我們用樸素貝葉斯在垃圾郵件過濾中的應用來舉例說明。

貝葉斯垃圾郵件過濾器

問題是什麼?問題是,給定一封郵件,判定它是否屬於垃圾郵件。按照先例,我們還是用 D 來表示這封郵件,注意 D 由 N 個單詞組成。我們用 h+ 來表示垃圾郵件,h- 表示正常郵件。問題可以形式化地描述爲求:
P(h+|D) = P(h+) * P(D|h+) / P(D)
P(h-|D) = P(h-) * P(D|h-) / P(D)
其中 P(h+) 和 P(h-) 這兩個先驗概率都是很容易求出來的,只需要計算一個郵件庫裏面垃圾郵件和正常郵件的比例就行了。然而 P(D|h+) 卻不容易求,因爲 D 裏面含有 N 個單詞 d1, d2, d3, .. ,所以P(D|h+) = P(d1,d2,..,dn|h+) 。我們又一次遇到了數據稀疏性,爲什麼這麼說呢?P(d1,d2,..,dn|h+) 就是說在垃圾郵件當中出現跟我們目前這封郵件一模一樣的一封郵件的概率是多大!開玩笑,每封郵件都是不同的,世界上有無窮多封郵件。瞧,這就是數據稀疏性,因爲可以肯定地說,你收集的訓練數據庫不管裏面含了多少封郵件,也不可能找出一封跟目前這封一模一樣的。結果呢?我們又該如何來計算 P(d1,d2,..,dn|h+) 呢?
我們將 P(d1,d2,..,dn|h+) 擴展爲: P(d1|h+) * P(d2|d1, h+) * P(d3|d2,d1, h+) * .. 。熟悉這個式子嗎?這裏我們會使用一個更激進的假設,我們假設 di 與 di-1 是完全條件無關的,於是式子就簡化爲 P(d1|h+) * P(d2|h+) * P(d3|h+) * .. 。這個就是所謂的條件獨立假設,也正是樸素貝葉斯方法的樸素之處。而計算 P(d1|h+) * P(d2|h+) * P(d3|h+) * .. 就太簡單了,只要統計 di 這個單詞在垃圾郵件中出現的頻率即可。關於貝葉斯垃圾郵件過濾更多的內容可以參考這個條目,注意其中提到的其他資料。
——平凡而又神奇的貝葉斯方法

條件獨立假設,也正是樸素貝葉斯方法的樸素之處


參考資料:
概率論與數理統計 陳希孺
如何理解似然函數 https://www.zhihu.com/question/54082000
如何通俗地理解概率論中的「極大似然估計法」?https://www.zhihu.com/question/24124998/answer/242682386
平凡而又神奇的貝葉斯方法http://mindhacks.cn/2008/09/21/the-magical-bayesian-method/

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