天天看點

極大似然法(ML)與最大期望法(EM)

極大似然法

極大似然,或者稱最大似然(Maximum likelihood)。

目的

利用已知的樣本結果,反推最有可能(最大機率)導緻這樣結果的參數值。

原理

極大似然估計是建立在極大似然原理的基礎上的一個統計方法,是機率論在統計學中的應用。極大似然估計提供了一種給定觀察資料來評估模型參數的方法,即:“模型已定,參數未知”。通過若幹次試驗,觀察其結果,利用試驗結果得到某個參數值能夠使樣本出現的機率為最大,則稱為極大似然估計。

舉例

說人話就是,學霸和學渣考試結束之後,一個成績是A,一個成績是C。這時候,一般是猜測學霸的成績是A;學渣的成績為C。這就展現了極大似然的基本思想。在已知結果集(一個A,一個C)的情況下,根據一些先驗知識(學霸成績有很大可能高于學渣),得到分析的結果(學霸A,學渣C)。一句話總結,已知結果,求出現這個結果的最大可能條件

數學定義

似然函數:L(θ)L(θ)

最大似然估計量(需要得到的結果):θθ

目的是需要找到一個θθ,使得L(θ)L(θ)最大。這個最大的θθ表示為:θ^=argmaxL(θ)θ^=arg⁡maxL(θ)。(argarg表示在θθ所有的索引值)

在某些情況下,L(θ)L(θ)是用連乘來表示的,如L(θ)=∏i=1np(xi;θ)L(θ)=∏i=1np(xi;θ)。此時,為了便于分析,将其轉換為連加計算,H(θ)=lnL(θ)=∑i=1np(xi;θ)H(θ)=ln⁡L(θ)=∑i=1np(xi;θ)

此時,問題轉換為求L(θ)L(θ)的極大值,方法就是運用求導(前提是這個函數連續可微)。值得一提的是,θθ不一定隻有一個值,可能為一個向量,是以求極大值的時候需要對每個參數進行求偏導。

EM算法

EM算法,最大期望算法(Expectation-maximization)

目的

在統計中被用于尋找,依賴于不可觀察的隐性變量的機率模型中,參數的最大似然估計。

原理

最大期望算法經過兩個步驟交替進行計算,第一步是計算期望(E),利用對隐藏變量的現有估計值,計算其最大似然估計值;第二步是最大化(M),最大化在E步上求得的最大似然值來計算參數的值。M步上找到的參數估計值被用于下一個E步計算中,這個過程不斷交替進行。

舉例

說人話就是,一堆鈔票(很多很多),在不借助外力(點鈔機)的情況下,如何平均分成兩部分。最簡單的做法就是,首先大緻分為兩堆,然後比較兩堆鈔票的高低;将高堆的一部分鈔票轉給低堆;來回往複,直到兩堆同高。前提鈔票是嶄新,每張厚度一樣。為了想得到在開始狀态下未知的兩個參數A、B(平均分為兩堆鈔票),前提條件是得到A了就可以得到B,得到B也可以得到A。此時,就可以随機(指定)賦予A某初值(先大概分一堆鈔票出來),B也得到了一個值(另一堆鈔票就是B);根據B的目前值(鈔票高度)重新估計A值(對比兩堆高低,進行轉鈔票),直到收斂(兩堆鈔票相等)。一句話總結,想要得到一堆有關聯的未知參數,先猜一個大概的參數結果,再不斷的調整,直到參數結果符合條件(收斂)

數學定義

樣本集:{x(1),x(2),⋯,xm}{x(1),x(2),⋯,xm}

每個樣本對應的類别(未知):z(i)z(i)

基于最大似然問題的定義,機率估計模型p(x(i);θ)p(x(i);θ)。現在多了一個未知變量z(θ)z(θ),變成了p(x(i),z(i);θ)p(x(i),z(i);θ)。問題還是一樣,求解θ^θ^。

E步驟:根據參數初始值或上一次疊代的參數值(一開始定義的鈔票高度或者每次調整完鈔票高度後的兩堆高度)來計算隐性變量(z(i)z(i)的後驗機率(隐性變量的期望,新估計值)

M步驟:将似然函數極大化獲得新參數值(根據B堆高度調整A堆高度)

推導過程

一個背景知識,Jensen不等式。ff是凸函數,XX是随機變量,公式是這樣的,E(f(X))≥f(EX)E(f(X))≥f(EX)。具體推導過程不做介紹。

H(θ)=logL(θ)=∑i=1mlogp(x(i);θ)=∑i=1mlog∑z(i)p(x(i),z(i);θ)=∑i=1mlog∑z(i)Qi(z(i))p(x(i),z(i);θ)Qi(z(i))≥∑i=1m∑z(i)Qi(z(i))logp(x(i),z(i);θ)Qi(z(i))H(θ)=log⁡L(θ)=∑i=1mlog⁡p(x(i);θ)=∑i=1mlog⁡∑z(i)p(x(i),z(i);θ)=∑i=1mlog⁡∑z(i)Qi(z(i))p(x(i),z(i);θ)Qi(z(i))≥∑i=1m∑z(i)Qi(z(i))log⁡p(x(i),z(i);θ)Qi(z(i))

稍作解釋,第一行到第二行,是引出z(i)z(i)這個未知變量,第三行是引入一個額外的Qi(z(i))Qi(z(i))變量,便于使用Jensen不等式,第四行運用Jensen不等式。

接下來,就是求解p(x(i),z(i);θ)Qi(z(i))p(x(i),z(i);θ)Qi(z(i)),令其等于cc。由推導可得∑zQi(z(i))=1∑zQi(z(i))=1。是以:

Qi(z(i))=p(x(i),z(i);θ)∑zp(x(i),z;θ)=p(x(i),z(i);θ)p(x(i);θ)=p(z(i)|x(i);θ)Qi(z(i))=p(x(i),z(i);θ)∑zp(x(i),z;θ)=p(x(i),z(i);θ)p(x(i);θ)=p(z(i)|x(i);θ)

是以,接下來就可以正式的進行E、M步驟

E:Qi(z(i))=p(zi|x(i);θ)Qi(z(i))=p(zi|x(i);θ)

M:θ=argmax∑i∑z(i)Qi(z(i))logp(x(i),z(i);θ)Qi(z(i))θ=arg⁡max∑i∑z(i)Qi(z(i))log⁡p(x(i),z(i);θ)Qi(z(i))

最後收斂。關于一定會收斂的證明。

在第t步驟中,

L(θ(t))=∑i∑z(i)Q(t)i(z(i))logp(x(i),z(i);θ(t))Q(t)i(z(i))L(θ(t))=∑i∑z(i)Qi(t)(z(i))log⁡p(x(i),z(i);θ(t))Qi(t)(z(i))

之後進行M步驟,固定了Q(t)i(z(i))Qi(t)(z(i)),求新的θθ,即θ(t+1)θ(t+1)。是以,

L(θ(t+1))≥∑i∑z(i)Q(t)i(z(i))logp(x(i),z(i);θ(t+1))Q(t)i(z(i))L(θ(t+1))≥∑i∑z(i)Qi(t)(z(i))log⁡p(x(i),z(i);θ(t+1))Qi(t)(z(i))

顯然,L(θ(t+1))≥L(θ(t))L(θ(t+1))≥L(θ(t))

參考文章:

繼續閱讀