程序員的自我修養之數學基礎13:極大似然估計

極大似然估計(maximum likelihood estimation,MLE),顧名思義,就是“看起來最有可能的估計”。比如說,我們看到一個黑人,會猜測他來自非洲或者美洲,這就是基於自己的經驗得到的“最像”事實的推斷。極大似然估計的基本原理,就是概率最大的事件,最可能發生,因此在一次試驗中就出現的事件應當具有較大的概率。比如剛纔的問題中,因爲非洲黑人比例最高,那麼看到一個黑人,這個黑人來自非洲的概率就比來自其他地方的概率高,所以我們第一反應就會猜測他來自非洲。

在學習極大似然估計之前,我們先要簡單區分一下“似然(likelihood)”與“概率(probability)”的概念:

在統計學中,似然函數(likelihood function,通常簡寫爲likelihood,似然)是一個非常重要的內容,在非正式場合似然和概率(Probability)幾乎是一對同義詞,但是在統計學中似然和概率卻是兩個不同的概念。

概率是在特定環境下某件事情發生的可能性,也就是結果沒有產生之前依據環境所對應的參數預測某件事情發生的可能性,比如拋硬幣,拋之前我們不知道最後是哪一面朝上,但是根據硬幣的性質我們可以推測任何一面朝上的可能性均爲50%,這個概率只有在拋硬幣之前纔是有意義的,拋完硬幣後的結果便是確定的;而似然剛好相反,是在確定的結果下推測產生這個結果的可能環境(參數),還是拋硬幣的例子,假設我們隨機拋擲一枚硬幣1,000次,結果500次人頭朝上,500次數字朝上(實際情況一般不會這麼理想,這裏只是舉個例子),我們很容易判斷這是一枚標準的硬幣,兩面朝上的概率均爲50%,這個過程就是我們運用出現的結果來判斷這個事情本身的性質(參數),也就是似然。

(來源:http://fangs.in/post/thinkstats/likelihood/

我們用 \theta 表示環境對應的參數,x 表示結果,那麼概率寫做 P(x\mid \theta ),表示在前置條件 \theta 下,事件 x 發生的概率。相應的,似然可以記爲 L(\theta \mid x ),表示已知結果爲 x,參數爲 \theta對應個概率。從數值上來說P(x\mid \theta )=L(\theta \mid x ),但是,L是 \theta 的函數,P是 x 的函數,兩者的意義不同。

理清前面的概念後,我們來看極大似然的思路:

f(x,\theta )是隨機變量X的分佈函數,其中\theta是該分佈的未知參數。若 x_1,x_2,...,x_n 是 X_1,X_2,...,X_n 的一個隨機樣本,則\theta的極大似然估計值是使具有產生該觀測樣本的最高概率的\theta值。也就是說,當選取\theta=\widehat{\theta }(x_1,x_2,...,x_n)時,觀測樣本出現的概率最大。


X爲離散型隨機變量,其分佈爲 P(X=x_i)=p(x_i,\theta )p(x_i,\theta ) 的形式已知,則樣本x_1,x_2,...,x_n 的概率分佈爲:

P(X_1=x_1,X_2=x_2,...,X_n=x_n)=p(x_1,\theta )p(x_2,\theta )...p(x_n,\theta )\\=\prod _{i=1}^np(x_i,\theta )=L(x_1,x_2,...x_n;\theta )=L(\theta)

我們可以看到,該樣本發生的概率隨着\theta的取值發生變化,L(\theta)就是樣本的似然函數。極大似然估計,就是在\theta的可能取值範圍內尋找使似然函數L(\theta)達到最大值時的參數\widehat{\theta}作爲\theta的估計值,也就是說,求\theta得取值\widehat{\theta},使得:

L(x_1,x_2,...,x_n;\widehat{\theta })=max L(x_1,x_2,...,x_n;\theta ) 

\widehat{\theta}的取值與x_1,x_2,...,x_n有關,稱爲參數\theta的極大似然估計值,記爲\widehat{\theta}(x_1,x_2,...,x_n)\widehat{\theta}(X_1,X_2,...,X_n)稱爲參數\theta的極大似然估計量

X爲連續型隨機變量,其概率密度爲 f(x,\theta ),f 的形式已知,\theta 爲待估參數,那麼,當樣本爲x_1,x_2,...,x_n時,也有:

L(\theta)=L(x_1,x_2,...x_n;\theta )=\prod _{i=1}^nf(x_i,\theta )

通常情況下,L(\theta)關於\theta可微,也就是說,可以通過求解\frac{\partial L(\theta )}{\partial\theta}=0 解得\widehat{\theta}。因爲L(\theta)In L(\theta)在同一點處取到極值,\widehat{\theta}通常由方程\frac{\partial ln L(\theta )}{\partial\theta}=0解得。上述兩個方程常被稱爲似然方程

當未知參數不止一個的時候,則可令\frac{\partial L(\boldsymbol{\mathbf{}\theta} )}{\partial\theta_i}=0\frac{\partial InL(\boldsymbol{\mathbf{}\theta} )}{\partial\theta_i}=0,其中\boldsymbol{\theta}=(\theta _1,\theta _2,...,\theta _k),求解k個方程組成的似然方程組即可解得極大似然估計值 \boldsymbol{\widehat{\theta}}


        整理一下上述內容,求最大似然估計量\boldsymbol{\widehat{\theta}}的一般步驟如下:

        (1)構造似然函數L(\theta)

        (2)對似然函數取對數,並整理;

        (3)令\frac{\partial ln L(\theta )}{\partial\theta}=0

        (4)判斷方程組是否有解,若有解,其解即爲所求最大似然估計;若無解,則最大似然估計常在邊界處取得。

舉個栗子:


總結起來,最大似然估計的目的就是:利用已知的樣本結果,反推最有可能(最大概率)導致這樣結果的參數值,也就是說MLE可以幫助我們確定給定數據的分佈參數,它可以定義爲從樣本數據中估計總體參數(如均值和方差、泊松率(Lambda)等)的方法,從而使獲得觀測數據的概率(可能性)最大化。

        極大似然估計的特點:

        1.比其他估計方法更加簡單;

        2.收斂性:無偏或者漸近無偏,當樣本數目增加時,收斂性質會更好;

        3.如果假設的類條件概率模型正確,則通常能獲得較好的結果。但如果假設模型出現偏差,將導致非常差的估計結果。

在學習過程中,看到有博主對比了 極大似然法 和 最小二乘法 的聯繫和區別,在這裏也一起整理放上來了:

最大似然是用來估計概率模型參數的,而最小二乘法是用來估計函數模型參數的,兩者的思路和原理不同。極大似然估計,就是利用已知的樣本結果信息,反推出最有可能的導致這些樣本結果出現的模型參數值,也就是在“模型已定”的前提下“求取參數”的過程。極大似然法需要已知這個概率分佈函數,這在實踐中是很困難的。對於最小二乘法,當從模型總體隨機抽取n組樣本觀測值後,最合理的參數估計量應該使模型最好地擬合樣本數據,也就是使估計值和觀測值之差的平方和最小,相對於最大似然法,它是沒有什麼限制的。當函數模型也是概率模型的時候,兩者的作用一樣的當所求概率模型又滿足Gaussian分佈的時候,兩者結果一致


參考:

https://www.cnblogs.com/lliuye/p/9139032.html 

https://wenku.baidu.com/view/9fc2dddcce2f0066f53322c0.html

https://wenku.baidu.com/view/aaaab921af45b307e87197c6.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章