機器學習基礎知識筆記(一)-- 極大似然估計、高斯混合模型與EM算法


似然函數

常說的概率是指給定參數后,預測即將發生的事件的可能性。拿硬幣這個例子來說,我們已知一枚均勻硬幣的正反面概率分別是0.5,要預測拋兩次硬幣,硬幣都朝上的概率:

H代表Head,表示頭朝上

p(HH | pH = 0.5) = 0.5*0.5 = 0.25.

這種寫法其實有點誤導,后面的這個p其實是作為參數存在的,而不是一個隨機變量,因此不能算作是條件概率,更靠譜的寫法應該是 p(HH;p=0.5)。

而似然概率正好與這個過程相反,我們關注的量不再是事件的發生概率,而是已知發生了某些事件,我們希望知道參數應該是多少。

現在我們已經拋了兩次硬幣,並且知道了結果是兩次頭朝上,這時候,我希望知道這枚硬幣拋出去正面朝上的概率為0.5的概率是多少?正面朝上的概率為0.8的概率是多少?

如果我們希望知道正面朝上概率為0.5的概率,這個東西就叫做似然函數,可以說成是對某一個參數的猜想(p=0.5)的概率,這樣表示成(條件)概率就是

L(pH=0.5|HH) = P(HH|pH=0.5) = (另一種寫法)P(HH;pH=0.5).

為什么可以寫成這樣?我覺得可以這樣來想:

似然函數本身也是一種概率,我們可以把L(pH=0.5|HH)寫成P(pH=0.5|HH); 而根據貝葉斯公式,P(pH=0.5|HH) = P(pH=0.5,HH)/P(HH);既然HH是已經發生的事件,理所當然P(HH) = 1,所以:

P(pH=0.5|HH)  = P(pH=0.5,HH) = P(HH;pH=0.5).

右邊的這個計算我們很熟悉了,就是已知頭朝上概率為0.5,求拋兩次都是H的概率,即0.5*0.5=0.25。

所以,我們可以safely得到:

L(pH=0.5|HH) = P(HH|pH=0.5) = 0.25.

這個0.25的意思是,在已知拋出兩個正面的情況下,pH = 0.5的概率等於0.25。

 

如果考慮pH = 0.6,那么似然函數的值也會改變。

L(p_H = 0.6 \mid \mbox{HH}) = P(\mbox{HH}\mid p_H = 0.6) =0.36

 

注意到似然函數的值變大了。這說明,如果參數pH 的取值變成0.6的話,結果觀測到連續兩次正面朝上的概率要比假設pH = 0.5時更大。也就是說,參數pH 取成0.6 要比取成0.5 更有說服力,更為“合理”。總之,似然函數的重要性不是它的具體取值,而是當參數變化時函數到底變小還是變大。對同一個似然函數,如果存在一個參數值,使得它的函數值達到最大的話,那么這個值就是最為“合理”的參數值。

在這個例子中,似然函數實際上等於:

L(p_H = \theta  \mid \mbox{HH}) = P(\mbox{HH}\mid p_H = \theta) =\theta^2, 其中0 \le p_H  \le 1

如果取pH = 1,那么似然函數達到最大值1。也就是說,當連續觀測到兩次正面朝上時,假設硬幣投擲時正面朝上的概率為1是最合理的。

類似地,如果觀測到的是三次投擲硬幣,頭兩次正面朝上,第三次反面朝上,那么似然函數將會是:

L(p_H = \theta  \mid \mbox{HHT}) = P(\mbox{HHT}\mid p_H = \theta) =\theta^2(1 - \theta), 其中T表示反面朝上,0 \le p_H  \le 1

這時候,似然函數的最大值將會在p_H = \frac{2}{3}的時候取到。也就是說,當觀測到三次投擲中前兩次正面朝上而后一次反面朝上時,估計硬幣投擲時正面朝上的概率p_H = \frac{2}{3}是最合理的。

  

那么最大似然概率的問題也就好理解了。

最大似然概率,就是在已知觀測的數據的前提下,找到使得似然概率最大的參數值。

極大似然估計

如果總體X為離散型

假設分布率為P=p(x;θ)P=p(x;θ),x是發生的樣本,θθ是代估計的參數,p(x;θ)p(x;θ)表示估計參數為θθ時,發生x的的概率。

那么當我們的樣本值為:x1,x2,...,xnx1,x2,...,xn時,

                     

其中L(θ)L(θ)成為樣本的似然函數。

假設

              

有 θ̂ θ^ 使得 L(θ)L(θ) 的取值最大,那么 θ̂ θ^就叫做參數 θθ 的極大似然估計值。

如果總體X為連續型

基本和上面類似,只是概率密度為f(x;θ)f(x;θ),替代p。

解法

  1. 構造似然函數L(θ)L(θ)
  2. 取對數:lnL(θ)lnL(θ)
  3. 求導,計算極值
  4. 解方程,得到θ

 

解釋一下,其他的步驟很好理解,第二步取對數是為什么呢?

因為根據前面你的似然函數公式,是一堆的數字相乘,這種算法求導會非常麻煩,而取對數是一種很方便的手段:

  • 由於ln對數屬於單調遞增函數,因此不會改變極值點
  • 由於對數的計算法則:lnab=blnalnab=blna、lnab=lna+lnblnab=lna+lnb ,求導就很方便了

 

 EM算法

https://blog.csdn.net/zouxy09/article/details/8537620 (講得很詳細)

 

 

 

 

 

參考資料:

[1] https://en.wikipedia.org/wiki/Likelihood_function

[2] https://www.cnblogs.com/zhsuiy/p/4822020.html(似然函數)

[3] https://blog.csdn.net/fangbingxiao/article/details/78878141(似然函數)

[4] https://blog.csdn.net/expleeve/article/details/50466602(似然函數)

[5] https://www.cnblogs.com/xing901022/p/8418894.html(極大似然估計法)

[6] https://blog.csdn.net/zouxy09/article/details/8537620(從最大似然到EM算法淺解) 非常好!!!

[7] http://www.cnblogs.com/wjy-lulu/p/7010258.html

[8] http://www.ituring.com.cn/article/497545 (一文詳解高斯混合模型原理)

[9] https://blog.csdn.net/jinping_shi/article/details/59613054 (高斯混合模型(GMM)及其EM算法的理解)

[10] http://www.cnblogs.com/jerrylead/archive/2011/04/06/2006924.html (混合高斯模型(Mixtures of Gaussians)和EM算法)

[11] https://blog.csdn.net/jasonzhoujx/article/details/81947663 (高斯混合模型(GMM)應用:分類、密度估計、生成模型)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM