一、什麼是極大似然估計
機器學習中,概率模型的訓練過程就是**參數估計(Parameter Estimation)**的過程,對於參數估計,統計學界的兩個學派分別提供了不同的解決方案:頻率主義學派認爲參數雖然未知,但卻是客觀存在的固定值,因此可以通過優化似然函數等準則來確定參數值;貝葉斯學派則認爲參數是未觀察到的隨機變量,其本身也可有分佈,因此可假定參數服從一個先驗分佈,然後基於觀測的數據來計算參數的後驗分佈。**極大似然估計(Maximum LikeliHood Estimation)**源自於頻率主義學派,它是一種根據數據採樣來估計概率分佈參數的經典方法。
二、參數訓練過程
令Dc表示訓練集D中第c類樣本組成的集合,假設這些樣本是獨立同分布的,則參數θc對於數據集Dc的似然是
P(Dc∣θc)=x∈Dc∏P(x∣θc)(1)
對θc進行極大似然估計,就是去尋找能最大化似然P(Dc∣θc)的參數值θc^。直觀上看,極大似然估計是視圖在θc上所有可能的取值中,找到一個能使數據出現的“可能性”最大的值。
式(1)中的連乘操作容易造成下溢,通常使用對數似然(log-likelihood)
L(θc)=logP(Dc∣θc)=x∈Dc∑logP(x∣θc)(2)
此時的參數θc的極大似然估計θc^爲
θ^c=θcargmaxL(θc)(3)
【例 1】假設一個袋子裝有白球與紅球,比例未知,現在抽取10次(每次抽完都放回,保證事件獨立性),假設抽到了7次白球和3次紅球,在此數據樣本條件下,採用極大似然估計法求解袋子中白球的比例。
【解】設θ爲袋子中白球的比例,根據公式(1)可以建立實際情況下的概率
P(x1,x2,…,x10∣θ)=P(x1∣θ)⋅P(x2∣θ)…P(x10∣θ)(4)
對數似然爲
L(θ)=lnP(x1,x2,…,x10∣θ)=ln[θ7(1−θ)3](5)
對θ求導數可以得到
L′(θ)=θ7−1−θ3=0⇒θ^=0.7(6)
由此可得,當抽取白球的概率爲0.7時,最可能產生10次抽取抽到白球7次的事件。
【例 2】假設有一組採樣值(x1,x2,…,xn)服從正態分佈N(μ,σ2),採用極大似然估計法估計參數,使得產生這個採樣值的概率最大。
【解】正態分佈的概率爲
f(x)=2πσ1exp(−2σ2(x−μ)2)(7)
則產生採樣值(x1,x2,…,xn)的概率爲
P(x1,x2,…,xn∣θ)=(2πσ1)nexp(−2σ21i=1∑n(xi−μ)2)(8)
對上式兩邊取對數可以得到
L(θ)=lnP(x1,x2,…,xn∣θ)=nln2πσ1−2σ21i=1∑n(xi−μ)2(9)
θ有兩個參數μ,σ2,對μ求偏導數得
∂μ∂L(θ)=−σ21i=1∑n(μ−xi)=0(10)
可以得到
μ^=n1i=1∑nxi(11)
對σ2求偏導數得
∂σ2∂L(θ)=−n+σ21i=1∑n(xi−μ^)2=0(12)
可以得到
σ2^=n1i=1∑n(xi−μ^)2(13)
三、參考
[1] 周志華. 機器學習, 清華大學出版社
[2] 簡書博客