1. 程式人生 > >最大似然估計(轉載)

最大似然估計(轉載)

轉載請註明出處,文章來源:https://blog.csdn.net/qq_36396104/article/details/78171600#commentsedit 

之前看書上的一直不理解到底什麼是似然,最後還是查了好幾篇文章後才明白,現在我來總結一下吧,要想看懂最大似然估計,首先我們要理解什麼是似然,不然對我來說不理解似然,我就一直在困惑最大似然估計到底要求的是個什麼東西,而那個未知數θ到底是個什麼東西TT

原博主寫的太好了,這裡 我就全盤奉上~

似然與概率

在統計學中,似然函式(likelihood function,通常簡寫為likelihood,似然)是一個非常重要的內容,在非正式場合似然和概率(Probability)幾乎是一對同義詞,但是在統計學中似然和概率卻是兩個不同的概念。概率是在特定環境下某件事情發生的可能性,也就是結果沒有產生之前依據環境所對應的引數來預測某件事情發生的可能性,比如拋硬幣,拋之前我們不知道最後是哪一面朝上,但是根據硬幣的性質我們可以推測任何一面朝上的可能性均為50%,這個概率只有在拋硬幣之前才是有意義的,拋完硬幣後的結果便是確定的;而似然剛好相反,是在確定的結果下去推測產生這個結果的可能環境(引數),還是拋硬幣的例子,假設我們隨機拋擲一枚硬幣1,000次,結果500次人頭朝上,500次數字朝上(實際情況一般不會這麼理想,這裡只是舉個例子),我們很容易判斷這是一枚標準的硬幣,兩面朝上的概率均為50%,這個過程就是我們根據結果來判斷這個事情本身的性質(引數),也就是似然。

結果和引數相互對應的時候,似然和概率在數值上是相等的,如果用 θ 表示環境對應的引數,x 表示結果,那麼概率可以表示為:

P(x|θ) 
P(x|θ) 
是條件概率的表示方法,θ是前置條件,理解為在θ 的前提下,事件 x 發生的概率,相對應的似然可以表示為:

這裡寫圖片描述 
理解為已知結果為 x ,引數為θ (似然函式裡θ 是變數,這裡## 標題 ##說的引數是相對與概率而言的)對應的概率,即:

這裡寫圖片描述 
需要說明的是兩者在數值上相等,但是意義並不相同,這裡寫圖片描述 是關於 θ 的函式,而 P 則是關於 x 的函式,兩者從不同的角度描述一件事情。

舉個例子

以伯努利分佈(Bernoulli distribution,又叫做兩點分佈或0-1分佈)為例:

這裡寫圖片描述

也可以寫成以下形式: 
這裡寫圖片描述

這裡注意區分 f(x;p)f(x;p) 與前面的條件概率的區別,引號後的 pp 僅表示 ff 依賴於 pp 的值,pp 並不是 ff 的前置條件,而只是這個概率分佈的一個引數而已,也可以省略引號後的內容:

這裡寫圖片描述

對於任意的引數 pp 我們都可以畫出伯努利分佈的概率圖,當 p=0.5p=0.5 時:

                    f(x)=0.5
  • 1

我們可以得到下面的概率密度圖: 
這裡寫圖片描述

從似然的角度出發,假設我們觀測到的結果是 x=0.5x=0.5(即某一面朝上的概率是50%,這個結果可能是通過幾千次幾萬次的試驗得到的,總之我們現在知道這個結論),可以得到以下的似然函式: 
這裡寫圖片描述

對應的圖是這樣的: 
這裡寫圖片描述

與概率分佈圖不同的是,似然函式是一個(0, 1)內連續的函式,所以得到的圖也是連續的,我們很容易看出似然函式的極值(也是最大值)在 p=0.5p=0.5 處得到,通常不需要做圖來觀察極值,令似然函式的偏導數為零即可求得極值條件。

ps. 似然函式裡的 pp 描述的是硬幣的性質而非事件發生的概率(比如 p=0.5p=0.5 描述的是一枚兩面均勻的硬幣)。為了避免混淆,可以用其他字母來表示這個性質,如果我們用 ππ 來表示,那麼似然函式就可以寫成: 
這裡寫圖片描述

似然函式的最大值

似然函式的最大值意味著什麼?讓我們回到概率和似然的定義,概率描述的是在一定條件下某個事件發生的可能性,概率越大說明這件事情越可能會發生;而似然描述的是結果已知的情況下,該事件在不同條件下發生的可能性,似然函式的值越大說明該事件在對應的條件下發生的可能性越大。

現在再來看看之前提到的拋硬幣的例子:

這裡寫圖片描述

上面的 pp (硬幣的性質)就是我們說的事件發生的條件,LL 描述的是性質不同的硬幣,任意一面向上概率為50% 的可能性有多大,是不是有點繞?讓我們來定義 A:

A=事件的結果=任意一面向上概率為50%

那麼 LL 描述的是性質不同的硬幣,A 事件的可能性有多大,這麼一說是不是清楚多了?

在很多實際問題中,比如機器學習領域,我們更關注的是似然函式的最大值,我們需要根據已知事件來找出產生這種結果最有可能的條件,目的當然是根據這個最有可能的條件去推測未知事件的概率。在這個拋硬幣的事件中,pp 可以取 [0, 1] 內的所有值,這是由硬幣的性質所決定的,顯而易見的是 p=0.5p=0.5 這種硬幣最有可能產生我們觀測到的結果。

對數化的似然函式

實際問題往往要比拋一次硬幣複雜得多,會涉及到多個獨立事件,在似然函式的表示式中通常都會出現連乘: 
這裡寫圖片描述

對多項乘積的求導往往非常複雜,但是對於多項求和的求導卻要簡單的多,對數函式不改變原函式的單調性和極值位置,而且根據對數函式的性質可以將乘積轉換為加減式,這可以大大簡化求導的過程: 
這裡寫圖片描述

在機器學習的公式推導中,經常能看到類似的轉化。

看到這應該不會再那麼迷糊了吧~最後再來個例子:


舉個別人部落格中的例子,假如有一個罐子,裡面有黑白兩種顏色的球,數目多少不知,兩種顏色的比例也不知。我 們想知道罐中白球和黑球的比例,但我們不能把罐中的球全部拿出來數。現在我們可以每次任意從已經搖勻的罐中拿一個球出來,記錄球的顏色,然後把拿出來的球 再放回罐中。這個過程可以重複,我們可以用記錄的球的顏色來估計罐中黑白球的比例。假如在前面的一百次重複記錄中,有七十次是白球,請問罐中白球所佔的比例最有可能是多少?很多人馬上就有答案了:70%。而其後的理論支撐是什麼呢?

我們假設罐中白球的比例是p,那麼黑球的比例就是1-p。因為每抽一個球出來,在記錄顏色之後,我們把抽出的球放回了罐中並搖勻,所以每次抽出來的球的顏 色服從同一獨立分佈。這裡我們把一次抽出來球的顏色稱為一次抽樣。題目中在一百次抽樣中,七十次是白球的概率是P(Data | M),這裡Data是所有的資料,M是所給出的模型,表示每次抽出來的球是白色的概率為p。如果第一抽樣的結果記為x1,第二抽樣的結果記為x2... 那麼Data = (x1,x2,…,x100)。這樣,
  • 1

    P(Data | M)

     = P(x1,x2,…,x100|M)

     = P(x1|M)P(x2|M)…P(x100|M)

     = p^70(1-p)^30.

那麼p在取什麼值的時候,P(Data |M)的值最大呢?將p^70(1-p)^30對p求導,並其等於零。

    70p^69(1-p)^30-p^70*30(1-p)^29=0。

    解方程可以得到p=0.7。

在邊界點p=0,1,P(Data|M)=0。所以當p=0.7時,P(Data|M)的值最大。這和我們常識中按抽樣中的比例來計算的結果是一樣的。

假如我們有一組連續變數的取樣值(x1,x2,…,xn),我們知道這組資料服從正態分佈,標準差已知。請問這個正態分佈的期望值為多少時,產生這個已有資料的概率最大?

    P(Data | M) = ?

根據公式 
這裡寫圖片描述

由上可知最大似然估計的一般求解過程:

  (1) 寫出似然函式;

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

  (3) 求導數 ;

  (4) 解似然方程