期望最大化

期望最大化(Expectation-Maximization, EM)算法是一種疊代算法,用於解決含有隱變數的機率模型參數估計問題。該算法在機器學習、信號處理、計算機視覺等領域有著廣泛的套用。

EM算法的基本思想是:對於含有隱變數的機率模型,直接對模型參數進行最大似然估計是困難的。因此,我們可以通過疊代的方式,先對隱變數進行猜測(期望步,E步),然後基於這個猜測來更新模型參數(最大化步,M步),再重新對隱變數進行猜測,如此循環疊代,直到模型參數收斂。

EM算法的步驟如下:

  1. 初始化模型參數θ。
  2. 重複以下步驟直到收斂:
    • E步(Expectation step):計算隱變數的期望,即 [Q(\theta) = E_{Z|\mathbf{X}, \theta'}[log P(\mathbf{X}, Z|\theta)],] 其中(\theta')是當前參數估計值,(\mathbf{X})是觀測數據,(Z)是隱變數。
    • M步(Maximization step):根據E步的結果,更新模型參數,即 [\theta \leftarrow \arg\max_{\theta} Q(\theta).]

EM算法的收斂性取決於模型的複雜度和數據的特性。在實際套用中,EM算法通常能夠收斂到局部最優解,但並不總是全局最優的。

EM算法的一個典型套用是在Gaussian混合模型(GMM)中估計混合成分的均值、方差和混合比例。在這個模型中,隱變數是每個數據點屬於哪個混合成分。EM算法可以通過疊代地猜測每個數據點屬於哪個混合成分,然後更新混合成分的參數,來逐步提高模型的擬合效果。