機率與貝氏方法

期望最大化(EM)(expectation-maximization)

/ ek-spek-TAY-shun MAK-sih-mih-ZAY-shun /

期望最大化,是一種巧妙的「自舉」,專門對付那些「先有雞還是先有蛋」的難題——只要你有一部分資料缺失或隱藏,這類難題就會冒出來。設想要按重量把一堆混在一起的硬幣分成兩疊,可你既不知道每一類典型的重量,也不知道每枚硬幣該歸哪一疊。若你知道分疊,便能算出平均重量;若你知道重量,便能給硬幣歸位。EM打破這個僵局的辦法是:先猜出其一,用它來估計另一個,如此來回往復,直到兩者都安定下來。

這兩步給了方法以其名。在期望(E)步,你拿當前對模型的猜測,用它去「柔和地」補全那些隱藏資訊——不是「這枚硬幣是A類」,而是「這枚硬幣有70%可能是A類、30%是B類」。在最大化(M)步,你把這些柔和的歸屬當成真的,重新估計模型,讓它對它們擬合得最好。如此循環。一條保證讓這一切值得信賴:每一整輪,只會讓對資料的擬合變好(或持平)——這個過程絕不會把事情弄糟。

它為何重要:在統計學與機器學習中,EM是擬合混合模型、訓練隱馬可夫模型、以及處理缺失資料背後的標準引擎。它誠實的局限有二。其一,「絕不變糟」不等於「找到最好」:EM爬上的是附近的一座峰,而那可能只是個局部最優,所以初始猜測很要緊,人們常常從好幾個起點分別跑它。其二,它給你的是一組單一的最佳擬合設定,而非一份完整的不確定性——它是用於估計的工具,而非用於貝氏那個更寬闊的目標:把你所有不知道的東西通通描繪出來。

一群混雜成年人的身高,你懷疑其中有兩個群體,卻沒記錄性別。先猜兩個平均身高作為起點。E步:對每個人,依當前的猜測算出他屬於「較矮」與「較高」兩群的可能性各有多大。M步:用所有人來重算每一群的平均值,並以那些機率作為權重。幾輪過後,兩個平均值便鎖定到合理的取值上,柔和的歸屬也趨於穩定。

EM在「柔和地猜測隱藏標籤」(E)與「按這些猜測重擬合模型」(M)之間交替往復,直至收斂。

EM保證不會把擬合弄糟,但這並不保證能找到全域最優——它可能卡在一個局部最優上,而那個最優取決於你從哪裡出發。從好幾個隨機初始點分別去跑、再留下最好的那個結果,是慣常的做法。

又稱
EM algorithm期望最大化期望最大化算法EM算法