EM算法用于含有隱變量的概率模型參數(shù)的極大似然估計产上。這里首先對隱變量解釋辆亏,舉下面的例子
(三硬幣模型)假設(shè)有3枚硬幣,分別記做骨稿,
笨鸡,
,這些硬幣正面出現(xiàn)的概率分別是
坦冠,
和
形耗。進行如下擲硬幣試驗:先擲硬幣
,根據(jù)其結(jié)果選出硬幣
或硬幣
辙浑,正面選硬幣
激涤,反面選硬幣
;然后擲選出的硬幣判呕,擲硬幣的結(jié)果倦踢,出現(xiàn)正面記做1送滞,出現(xiàn)反面記做0;獨立的重復(fù)
次試驗(這里辱挥,
)犁嗅,觀測結(jié)果如下:
假設(shè)能觀測到擲硬幣的結(jié)果,不能觀測擲硬幣的過程晤碘,問如何估計三硬幣正面出現(xiàn)的概率褂微,即三硬幣模型的參數(shù),
和
哼蛆。
其中擲硬幣的結(jié)果是未觀測的蕊梧,叫做隱變量,記做
腮介。將觀測數(shù)據(jù)表示為
肥矢,未觀測數(shù)據(jù)表示為
,則觀測數(shù)據(jù)的似然函數(shù)為
即
對模型參數(shù)進行極大似然估計叠洗,即
因為擲硬幣的結(jié)果未知甘改,所以沒有這個問題解析解,只能通過迭代的方式灭抑,逐步增加對數(shù)似然函數(shù)十艾,找到一個解。EM算法解決的就是這樣的一類問題腾节。
接下來首先提出EM算法忘嫉,然后對其進行解釋。
EM算法
EM算法叫做Exception maximization算法案腺,顧名思義庆冕,包含求期望(Exception )和極大化(maximization)兩個步驟。
輸入:觀測變量數(shù)據(jù)劈榨,隱變量數(shù)據(jù)
访递,聯(lián)合分布
,條件分布
同辣;
輸出:模型參數(shù)拷姿。
(1)選擇參數(shù)的初值,開始迭代旱函;
(2)E步:記為第
次迭代參數(shù)
的估計值响巢,在第
次迭代的E步,計算
這里是在給定觀測數(shù)據(jù)
和當(dāng)前參數(shù)估計
下隱變量數(shù)據(jù)
的條件概率分布棒妨;
(3)M步:求使極大化的
抵乓,確定第
次迭代的參數(shù)的估計值
(4)重復(fù)第(2)步和第(3)步,直到收斂。
第(2)步中是EM算法的核心灾炭,稱為Q函數(shù)。
Q函數(shù)定義:完全數(shù)據(jù)的對數(shù)似然函數(shù)關(guān)于給定觀測數(shù)據(jù)
和當(dāng)前參數(shù)
下對未觀測數(shù)據(jù)
的條件概率分布
的期望稱為Q函數(shù)颅眶,即
因為蜈出,所以
其中,因為數(shù)據(jù)未包含隱變量
的結(jié)果涛酗,所以稱為不完全數(shù)據(jù)铡原,
稱為不完全數(shù)據(jù)的對數(shù)似然函數(shù),而數(shù)據(jù)
則稱為完全數(shù)據(jù)商叹,
稱為完全數(shù)據(jù)的對數(shù)似然函數(shù)燕刻。
下面關(guān)于EM算法作幾點說明:
- 步驟(1)參數(shù)的初值可以任意選擇,但需注意EM算法對初值是敏感的剖笙。
- 步驟(2)E步求
卵洗。Q函數(shù)式中
是未觀測數(shù)據(jù),
是觀測數(shù)據(jù)弥咪,注意过蹂,
的第1個變元表示要極大化的參數(shù),第2個變元表示參數(shù)的當(dāng)前估計值聚至。每次迭代實際在求Q函數(shù)及其極大酷勺。
- 步驟(3)M步求
的極大化,得到
扳躬,完成一次迭代
脆诉。
- 步驟(4)給出停止迭代的條件,一般是對較小的正數(shù)
贷币,
击胜,若滿足
? 則停止迭代。
下面給出這種做法為什么可以對觀測數(shù)據(jù)(不完全數(shù)據(jù))進行極大似然估計片择。
EM算法的導(dǎo)出
對于一個含有隱變量的模型潜的,目標(biāo)是極大化觀測數(shù)據(jù)(不完全數(shù)據(jù))關(guān)于參數(shù)
的對數(shù)似然函數(shù),即最大化
上面第一步用到邊緣概率和聯(lián)合概率的關(guān)系字管,第二步用到的是條件分布公式
啰挪。對這一對數(shù)似然函數(shù)極大化的困難是因為上式中包含未觀測數(shù)據(jù)
。
但是如果通過第次迭代得到估計的參數(shù)
嘲叔,此時再找到一個參數(shù)
亡呵,使得
(和IIS算法思路有點類似),那么同樣也可以起到極大似然估計的效果硫戈。為此锰什,考慮兩者的差
利用Jensen不等式,過程略,得到其下界:
于是得到對數(shù)似然函數(shù)的下界
定義
則
并且
即可以使可以增大的
汁胆,也可以使
增大梭姓,所以極大似然估計變成了使
極大化的問題,即
所以
省去不包含變量的常數(shù)項
嫩码,
誉尖,得到
所以,在EM算法中最大化Q函數(shù)铸题,就等同于最大對數(shù)似然函數(shù)的下界铡恕,從而進行極大似然估計。但是這種算法并不能保證找到全局最優(yōu)值丢间。
EM算法可以用于無監(jiān)督學(xué)習(xí)探熔,略。EM算法的收斂性證明略烘挫。
EM算法在高斯混合模型學(xué)習(xí)中的應(yīng)用
高斯混合模型定義
高斯混合模型是指具有如下形式的概率分布模型:
其中诀艰,是系數(shù),
墙牌,
涡驮;
是高斯分布密度,
喜滨,
稱為第個模型捉捅。
高斯混合模型參數(shù)估計的EM算法
可以設(shè)想觀測數(shù)據(jù),
虽风,是這樣產(chǎn)生的:首先棒口,依概率
選擇第
個高斯分布分模型
;然后依第
個分模型的概率分布
生成觀測數(shù)據(jù)
辜膝,這是觀測數(shù)據(jù)
无牵,
,是已知的厂抖;反應(yīng)觀測數(shù)據(jù)
來自第
個分模型的數(shù)據(jù)是未知的茎毁,
,以隱變量
表示忱辅,其定義如下:
是0,1隨機變量七蜘。
有了觀測數(shù)據(jù)及未觀測數(shù)據(jù)
,那么完全數(shù)據(jù)是
于是可以寫出完全數(shù)據(jù)的似然函數(shù):
其中墙懂,(依賴第
個分類器的樣本數(shù))橡卤,
。
那么完全數(shù)據(jù)的對數(shù)似然函數(shù)為
確定Q函數(shù)
其中
是在當(dāng)前模型參數(shù)下第
個觀測數(shù)據(jù)來自第
個分模型的概率损搬,稱為分模型
對觀測數(shù)據(jù)
的響應(yīng)度碧库。
根據(jù)開頭的描述柜与,,
嵌灰,所以
將及
(此處的
實際為
弄匕,
)代入公式(10)得到
接下來需要求Q函數(shù)的極大化(極大化觀測數(shù)據(jù)對數(shù)似然函數(shù)的下界),即
其中伞鲫,
粘茄,將公式(12)對
和
求偏導(dǎo)等于0,得到第
次的更新值
和
秕脓,同樣將公式(12)對
求偏導(dǎo)等于0,加上條件
儒搭,求得更新值
吠架。計算更新值時
,
用到的參數(shù)是第
次更新得到的值搂鲫,所以可以通過迭代的方式不斷更新參數(shù)直到收斂傍药。求得的
,
和
為
高斯混合模型參數(shù)估計的EM算法
輸入:觀測數(shù)據(jù)魂仍,高斯混合模型拐辽;
輸出:高斯混合模型參數(shù)。
(1)取參數(shù)的初始值開始迭代(初值敏感)
(2)E步:依據(jù)當(dāng)前模型參數(shù)擦酌,計算分模型對觀測數(shù)據(jù)
的響應(yīng)度
(3)M步:計算新一輪迭代的模型參數(shù)
(4)重復(fù)第(2)步和第(3)步俱诸,直到收斂。