1 基本概念回顧
邊緣概率、聯合概率和條件概率的基本概念。
1.1 定義
邊緣概率(Marginal Probability):可以簡單理解爲單一事件發生的概率。如果A是一個事件,且事件A發生的概率爲P(A),則P(A)就被稱爲邊緣概率;
聯合概率(Joint Probability):兩個或多個事件相交的概率。從視覺上看,它是維恩圖上兩個事件圓的相交區域。如果A和B是兩個事件,那麼這兩個事件的聯合概率記爲P(A∩B)。
條件概率(Conditional Probability):條件概率是在已知其他事件已經發生的情況下,某一事件發生的概率。如果A和B是兩個事件,那麼在B已經發生的前提下,A發生的條件概率寫成P(A∣B)。
1.2 關係
P(A∣B)=P(B)P(A⋂B)
2 極大似然估計
2.1 問題引入
極大似然估計是一種確定模型參數值的方法。參數值的確定使模型所描述的過程產生實際觀察到的數據的可能性最大化。這聽起來有點繞,我們可以通過下圖中這個最簡單的例子來理解:
下面用一個稍微複雜一些的例子來解釋這個概念。假設我們從某個過程中觀察到10個數據點(例如,每個數據點可以表示學生回答一個特定考試問題所需的時間/秒)。這10個數據點如下圖所示:
我們首先必須確定生成這些數據的模型,有了模型才能去估計模型的參數,這很重要。但模型的確定通常來自於一些領域的專業知識,我們不會在這裏討論。
對於上述這些數據,我們假設數據生成過程可以用高斯(正態)分佈來充分描述。(10個數據點顯然不足以判定這些數據的分佈,這裏只做一個示例)。
高斯分佈有兩個參數:均值μ和標準差σ。這些參數值的不同會產生不同的曲線。我們想知道哪條曲線最有可能產生我們觀察到的數據點(見上圖)。通過最大似然估計法,我們會得到一個使數據和曲線最吻合的μ、σ值。(生成數據的真實分佈爲f1∼N(10,2.25),即上圖中的藍色曲線。)。
2.2 計算極大似然估計
現在我們已經對極大似然估計有了一個直觀的理解,下面繼續學習如何計算參數值。我們將找到的參數值稱爲極大似然估計(MLE)。
爲了方便計算過程的展示和便於理解,我們假設有3個數據點{9,9.5,11},它們是由一個符合高斯分佈的過程產生的且相互之間是獨立的(排除條件概率,便於理解)。接下來看如何通過極大似然估計來計算該高斯分佈的參數值μ和σ。
由高斯分佈產生的單個數據點x的觀測概率密度爲:
P(x;μ,σ)=σ2π1exp(−2σ2(x−μ)2)
則觀測三個數據點的聯合概率密度爲:
P(9,9.5,11;μ,σ)=σ2π1exp(−2σ2(9−μ)2)×σ2π1exp(−2σ2(9.5−μ)2)×σ2π1exp(−2σ2(11−μ)2)
現在的目標就是找到一組μ,σ值,使得上面的值最大。上面的公式可以看成一個二元函數,求使其取最大值的參數可以使用求導的方式。
然而上面的公式直接求導比較困難,所以通過對錶達式取自然對數來簡化它(對數似然函數,log likelihood)。因爲自然對數是一個單調遞增的函數,所以它確保了取對數後概率的最大值與原概率函數在同一點上。因此,我們可以用更簡單的對數似然函數代替原始似然函數。
對原表達式取對數得到:
ln(P(x;μ,σ))=ln(σ2σ21)−2σ2(9−μ)2+ln(σ2σ21)−2σ2(9.5−μ)2+ln(σ2σ21)−2σ2(11−μ)2=−3ln(σ)−23ln(2π)−2σ21[(9−μ)2+(9.5−μ)2+(11−μ)2]
對μ求偏導,有:
∂μ∂ln(P(x;μ,σ))=σ21[9+9.5+11−3μ]
令等式左邊爲零,即可得到μ的估計值:
μ=39+9.5+11=9.833
同樣的,對σ求偏導即可得到它的估計值,這裏不再贅述。
3 總結
求解最大似然估計量的一般步驟:
(1)寫出似然函數;
(2)對似然函數取對數,並整理;
(3)求導數;
(4)解似然方程。
但要注意的是,由於對數似然函數的導數的複雜性,極大似然估計並不是在所有情形下都能夠得到問題的解。因此,可以使用期望最大化算法等迭代方法來尋找參數估計的數值解。不過總體思路還是一樣的。
參考
[1] https://towardsdatascience.com/probability-concepts-explained-maximum-likelihood-estimation-c7b4342fdbb1