期望最大化算法(Expectation Maximization)

期望最大化 (EM) 算法是一種迭代算法,用於在存在隱變量的情況下,估計機率模型的參數。它交替執行期望 (E) 步驟和最大化 (M) 步驟。

完整說明

核心概念

期望最大化 (Expectation Maximization, EM) 算法是一種迭代算法,主要用於解決含有隱變量 (latent variable) 的機率模型參數估計問題。當數據集中存在缺失值,或者模型本身包含無法直接觀測的隱藏狀態時,傳統的最大似然估計 (MLE) 方法無法直接應用。EM 算法通過迭代的方式,交替執行兩個步驟:期望 (E) 步驟和最大化 (M) 步驟,逐步逼近模型的參數。

  • 隱變量 (Latent Variable): 隱變量是指在模型中存在,但無法直接觀測到的變量。例如,在高斯混合模型 (GMM) 中,每個數據點屬於哪個高斯分佈是隱變量;在隱馬爾可夫模型 (HMM) 中,每個時刻的狀態是隱變量。

  • E 步驟 (Expectation Step): 在 E 步驟中,我們基於當前的模型參數,計算隱變量的條件期望。也就是說,我們估計每個數據點屬於每個隱藏狀態的機率。這個機率可以看作是隱變量的“軟分配”。

  • M 步驟 (Maximization Step): 在 M 步驟中,我們基於 E 步驟中計算出的隱變量的期望,重新估計模型的參數。我們最大化包含隱變量的完整數據的似然函數,從而得到新的參數估計值。

運作原理

EM 算法的運作原理可以概括為以下幾個步驟:

  1. 初始化參數: 首先,需要為模型的參數賦予一個初始值。這個初始值可以是隨機的,也可以基於一些先驗知識。

  2. E 步驟: 基於當前的參數值,計算隱變量的條件期望。對於每個數據點 i 和每個隱藏狀態 j,計算 P(zj|xi, θ),其中 zj 表示數據點 i 屬於狀態 j,xi 表示數據點 i 的觀測值,θ 表示當前的參數值。

  3. M 步驟: 基於 E 步驟中計算出的隱變量的期望,重新估計模型的參數。最大化以下期望似然函數:

    Q(θ, θ^(t)) = Σi Σj P(zj|xi, θ^(t)) * log P(xi, zj|θ)

    其中 θ^(t) 表示第 t 次迭代的參數值,θ 表示要估計的參數值。

  4. 迭代: 重複執行 E 步驟和 M 步驟,直到參數收斂。收斂的判斷標準可以是參數的變化量小於一個閾值,或者似然函數的變化量小於一個閾值。

舉例說明:高斯混合模型 (GMM)

GMM 是一個常用的聚類模型,它假設數據來自多個高斯分佈的混合。每個數據點屬於哪個高斯分佈是隱變量。

  • E 步驟: 計算每個數據點屬於每個高斯分佈的機率。這個機率稱為責任 (responsibility)。

  • M 步驟: 基於 E 步驟中計算出的責任,重新估計每個高斯分佈的均值、方差和混合係數。

實際應用

EM 算法在機器學習和統計學中有着廣泛的應用,包括:

  • 高斯混合模型 (GMM): 用於聚類和密度估計。
  • 隱馬爾可夫模型 (HMM): 用於序列建模,例如語音辨識和自然語言處理。
  • 缺失數據處理: 用於估計含有缺失值的數據集的參數。
  • 影像分割: 用於將影像分割成不同的區域。
  • 基因表達分析: 用於分析基因表達數據。

常見誤區

  • EM 算法只能保證局部最優解: EM 算法是一種迭代算法,它只能保證收斂到局部最優解,而不能保證收斂到全局最優解。因此,EM 算法的結果可能受到初始參數的影響。為了避免陷入局部最優解,可以多次運行 EM 算法,並選擇似然函數值最大的結果。

  • EM 算法的收斂速度可能很慢: EM 算法的收斂速度可能很慢,特別是在數據量很大或者模型很複雜的情況下。為了提高 EM 算法的收斂速度,可以使用一些加速方法,例如加速梯度下降法。

  • EM 算法對初始值敏感: EM 算法對初始值比較敏感,不同的初始值可能導致不同的結果。因此,在運行 EM 算法之前,需要仔細選擇初始值。可以嘗試使用不同的初始值,並選擇似然函數值最大的結果。

  • EM 算法假設數據來自某個已知分佈: EM 算法的一個重要假設是數據來自某個已知分佈。如果這個假設不成立,EM 算法的估計結果可能不準確。因此,在使用 EM 算法之前,需要仔細檢查數據的特性,並選擇一個合適的機率模型。

  • EM 算法與 K-means 算法: K-means 算法可以看作是 GMM 的一個特例,其中每個高斯分佈的方差都相同,並且責任是硬分配 (hard assignment),即每個數據點只屬於一個簇。EM 算法是 GMM 的通用解法,可以處理更複雜的情況。

相關術語

常見問題

延伸學習

深入了解 期望最大化算法 的完整運作原理

延伸學習

想看 期望最大化算法 的完整影片教學?前往 美第奇 AI 學院