1. 程式人生 > >最大似然估計MLE與貝葉斯估計

最大似然估計MLE與貝葉斯估計

大學期間學習數理統計這門課程的時候,沒有特別用心。說實話統計學還是挺枯燥的,而且當時也沒有太多的學習意識,不知道為什麼要學這些貌似八竿子打不著的東西。現在想想,當時真是too simple,sometimes naive啊。。等到越往後面深入,發現需要用的數學知識尤其是統計學知識越來越多,因為現在機器學習裡發展最成熟應用最廣泛的一部分就是統計機器學習,自然離不開統計學的方方面面。而且隨著研究的逐步深入,發現統計學其實還是挺有意思的一門學科,能將一些平時常見的問題或者不太好表達的問題能用特別簡潔與清楚的數學語言來描述。因此,現在遇到統計方面有什麼疑問或者不太理解的地方,本博主就自覺將之前沒學好欠下的歷史舊債給補上。

最近一直在看一些引數估計方面的內容,有了自己的一些小小心得體會,特意記錄下來,以免日後忘記了又找不到相關文件。

1.為什麼要有引數估計(parameter estimation)

研究一個課題的時候,博主的第一反應一般都是”why”。為什麼會有這個東東?這個東東到底能解決什麼實際問題?
OK,那我們為什麼要採用引數估計的方法呢?舉個很簡單的實際例子,我們國家每隔一段時間需要進行人口普查,但是因為我國國土面積太大,人口太多,不太可能真正挨個人口進行統計,所以可以統計部分人口樣本,然後根據這部分樣本的引數去描述人口的總體分佈情況。那為什麼我們可以這麼幹?因為我們對整體分佈的形式是知曉的,比如我們知道全國人民的身高體重服從正態分佈,這樣我們只需要取得部分樣本的資料,然後估計正態分佈的均值與方差即可。否則,我們就需要藉助非引數的方法了。
再用一句簡單的話來總結引數估計:模型已定,引數未知!

2.最大似然估計(Maximum Likehood Estimation MLE)

最大似然估計的核心思想是:找到引數θ的一個估計值,使得當前樣本出現的可能性最大。用當年博主老闆的一句話來說就是:誰大像誰!

假設有一組獨立同分布(i.i.d)的隨機變數X,給定一個概率分佈D,假設其概率密度函式為f,以及一個分佈的引數θ,從這組樣本中抽出x1,x2,,xn,那麼通過引數θ的模型f產生上面樣本的概率為:

f(x1,x2,,xn|θ)=f(x1|θ)×f(x2|θ)×f(xn|θ)
最大似然估計會尋找關於θ 的最可能的值,即在所有可能的 θ 取值中,尋找一個值使這個取樣的“可能性”最大化!
因為是”模型已定,引數未知”,此時我們是根據樣本取樣x
1
,x2,,xn
取估計引數θ,定義似然函式為:
L(θ|x1,x2,,xn)=f(x1,x2,,xn|θ)=f(xi|θ)

實際使用中,因為f(xi|θ)一般比較小,而且n往往會比較大,連乘容易造成浮點運算下溢。所以一般我們用對數似然函式:

lnL(θ|x1,x2,,xn)=i=1nf(xi|θ)
lˆ=1nlnL
那最終θ的估計值為:
θˆMLE=argmaxθlˆ(θ|x1,x2,,xn)

根據前面的描述,總結一下求最大釋然估計值的步驟:
1.寫似然函式
2.一般對似然函式取對數,並將對數似然函式整理
3.對數似然函式求導,令導數為0,求得似然方程
4.根據似然方程求解,得到的引數即為所求估計值

3.對數似然求解例項

下面給大家舉個別人文章中簡單的小例子,看看對數似然的具體求解過程。
假如有一個罐子,裡面有黑白兩種顏色的球,數目多少不知,兩種顏色的比例也不知。我 們想知道罐中白球和黑球的比例,但我們不能把罐中的球全部拿出來數。現在我們可以每次任意從已經搖勻的罐中拿一個球出來,記錄球的顏色,然後把拿出來的球 再放回罐中。這個過程可以重複,我們可以用記錄的球的顏色來估計罐中黑白球的比例。假如在前面的一百次重複記錄中,有七十次是白球,請問罐中白球所佔的比例最有可能是多少?
估計大家很快能反應出來答案是70%。但是如果讓推導一下具體過程呢?
我們假設罐中白球的比例是p,那麼黑球的比例就是1p。因為每抽一個球出來,在記錄顏色之後,我們把抽出的球放回了罐中並搖勻,所以每次抽出來的球的顏 色服從同一獨立分佈。這裡我們把一次抽出來球的顏色稱為一次抽樣。題目中在一百次抽樣中,七十次是白球的概率是p(x|θ),這裡x是所有的抽樣,θ是所給出的模型引數,表示每次抽出來的球是白色的概率為p
按照第二部分提到的似然估計求解過程,先寫出似然函式:

p(x|θ)=p(x1,x2,,xn|θ)=p(x1|θ)p(x2|θ)p(xn|θ)=p70(1p)30
接下來對似然函式對數化:
lnp(x|θ)=ln(p70(1p)30)