序言
本序言是對整體思想進行的一個概括。若沒有任何瞭解,可以先跳過,最後回來看看;若已有了解,可以作爲指導思想。
極大似然估計與貝葉斯估計是統計中兩種對模型的參數確定的方法,兩種參數估計方法使用不同的思想。前者來自於頻率派,認爲參數是固定的,我們要做的事情就是根據已經掌握的數據來估計這個參數;而後者屬於貝葉斯派,認爲參數也是服從某種概率分佈的,已有的數據只是在這種參數的分佈下產生的。所以,直觀理解上,極大似然估計就是假設一個參數
所以極大似然估計與貝葉斯估計最大的不同就在於是否考慮了先驗,而兩者適用範圍也變成了:極大似然估計適用於數據大量,估計的參數能夠較好的反映實際情況;而貝葉斯估計則在數據量較少或者比較稀疏的情況下,考慮先驗來提升準確率。
預知識
爲了更好的討論,本節會先給出我們要解決的問題,然後給出一個實際的案例。這節不會具體涉及到極大似然估計和貝葉斯估計的細節,但是會提出問題和實例,便於後續方法理解。
問題前提
首先,我們有一堆數據
問題實例
假設一個拋硬幣實驗,我們之前不知道這些硬幣是不是正反均勻的,也許硬幣正反不等,假設正面向上設爲1的概率爲
符號說明
這裏給出一些符號表示。可看到不理解時過來查看。
符號 | 含義 |
---|---|
D | 已有的數據(data) |
要估計的參數(parameter) | |
先驗概率(prior) | |
後驗概率(posterior) | |
數據分佈(evidence) | |
似然函數(likelihood of |
|
已知數據條件下的 |
方法介紹
這一節將會詳細闡明極大似然估計和貝葉斯估計,要注意到兩種方法在面對未知參數
極大似然估計
模型推導
極大似然估計法認爲參數是固有的,但是可能由於一些外界噪聲的干擾,使數據看起來不是完全由參數決定的。沒關係,數學家們覺得,雖然有誤差存在,但只要讓在這個數據給定的情況下,找到一個概率最大的參數就可以了。那問題其實就變成了一個條件概率最大的求解,即求使得
而根據條件概率公式有
因爲我們在極大似然估計中假設
的問題。
想求解這個問題,需要假設我們的數據是相互獨立的。
一般對(4)式取對數求解對數極大似然,就可以把連乘變成求和,然後求導取極值點就是要求的參數值,不在此贅述。
實例
爲了便於理解,我們以之前的拋硬幣實驗作爲實例。
回到當時我們一開始拋硬幣實驗,
然後使用對數極大似然估計就可以得到參數
貝葉斯估計
考慮到這節對先驗概率(prior)這個概念用的次數比較多,我們首先先介紹先驗與後驗概率是什麼,怎麼得到;其次會介紹貝葉斯估計模型的推導過程;最後會舉一個例子來加深理解。
先驗概率、後驗概率
先驗概率(prior)與後驗概率(posterior)簡稱爲先驗和後驗。這兩個概念其實是來自於貝葉斯定理,相信學過概率論的一定有所瞭解。在此試作簡單介紹。
之前提到的先驗概率到底是什麼呢?,毫無疑問必須得與放在一起來介紹。一個先一個後,我們肯定是針對同一個事物纔有先後之分,如果針對兩個事物,先後不是沒有意義了麼?那這個共同的對象,就是我們的參數
看到這裏,你可能會問:如果連數據都沒有,我怎麼知道我的參數是怎麼分佈的?你提出這個問題,就說明你是一個赤裸裸的頻率派學家,你需要通過數據來得到你的參數!而這並不是貝葉斯派的考慮,貝葉斯估計最重要的就是那個先驗的獲得。雖然你這次的一組數據,比如說扔三次硬幣產生的序列是(110)這樣分佈的,但是其實我根據我歷史的經驗來看,一枚硬幣正反面其實很有可能是按照均勻分佈來的,只不過可能因爲你拋得次數少了所以產生了不是均勻分佈的效果。所以我要考慮我以往的經驗在裏面。
你可能又會問:那你這個均勻分佈不就是完全猜來的嘛,你怎麼知道我這次是不是一樣的硬幣呢?沒錯!就是“猜來的”。先驗在很多時候完全是假設,然後去驗證有的數據是否吻合先驗猜想,所以這裏的猜很重要。還要注意,先驗一定是與數據無關的,你不能看到了數據再做這些猜想,一定是沒有任何數據之前你就猜了一個參數的先驗概率。
有個這部分知識,我們可以開始推導貝葉斯估計模型了。
模型推導
還是繼續上面的模型,注意公式
此時,這裏面除了分母可以看作是一個歸一化因子外,其餘均是概率分佈的函數。也就是說,無法再像極大似然估計那樣將先驗概率(
我們來把這個式子
和式子
至此,我們就完成了對貝葉斯估計模型的推到過程。有人會問,怎麼就完成了?還有那麼長一段公式,我們怎麼計算啊?其實仔細看看
實例
式
概率分佈的。如圖
然後
但是,其實做到這一步,我們會發現雖然解決了問題,但是又會帶來新的問題,因爲在解決這一類貝葉斯估計的問題的時候,我們讓參數以某種概率密度函數分佈,就會導致在計算過程中不可避免的高複雜度,人們爲了計算上的方便,就提出不再是把所有的後驗概率
極大後驗概率(MAP)
雖然本節獨自成爲一節,但是其實是隸屬於貝葉斯估計的,屬於貝葉斯估計裏面的一個trick,放棄一點的準確性,來極大提升算法性能。所以,這個部分不能算是模型,只能算是算法。
MAP(Maximum A Posterior)的理論依據是絕大部分情況下,參數值最有可能出現在概率最大點附近。爲了說清楚MAP的來龍去脈,本節將首先介紹如何利用貝葉斯估計的參數進行預測,然後分析直接使用之前得到的後驗概率有什麼不好,最後介紹MAP算法做的工作。
使用貝葉斯估計的參數做預測
前一節中,我們通過貝葉斯估計得到了後驗概率
已知數據
這個問題還有很多細節,比如先驗概率,後驗概率,數據分佈等一些細節,因爲前面已經介紹過了,這裏爲了突出重點,不再重複。在此需要關注的是,所謂預測新的數據的值,其實就是能夠在已知數據
也就是我們需要求
這一式子。
接下來還是運用基本的條件概率公式
對這一句公式的解釋就是,
化簡。爲什麼?因爲我們從數據裏面得到的東西對一個新的數據來說,其實只是那些參數,所以對
那麼
貝葉斯估計中的一個困難
還是回到
MAP算法
其實最大化後驗概率還是老一套,最大化
這其實與極大似然估計形式上很相似,但是主要區別在於運用了一個先驗概率在這個極大化裏面。參數都已經計算出來了,其他過程,其實還是按照極大似然來做就行了,不用再按照貝葉斯一樣對所有可能的參數情況都考慮在求積分了。
總結
全文對比分析了極大似然估計和貝葉斯估計,在進行參數估計的過程中,極大似然估計是想讓似然函數極大化,而考慮了MAP算法的貝葉斯估計,其實是想讓後驗概率極大化。主要區別在於估計參數中,一個考慮了先驗一個沒有考慮先驗,主要區別看
參考文獻
- 貝葉斯定理
https://zh.wikipedia.org/wiki/%E8%B4%9D%E5%8F%B6%E6%96%AF%E5%AE%9A%E7%90%86 ↩ - Andrew’s notes (note5)
http://v.163.com/special/opencourse/machinelearning.html ↩ - Pattern Recognition and Machine Learning
http://users.isr.ist.utl.pt/~wurmd/Livros/school/Bishop%20-%20Pattern%20Recognition%20And%20Machine%20Learning%20-%20Springer%20%202006.pdf ↩