CodeWalk

Baum-Welch算法的EM视角与参数重估

作者:苦行僧 · 2026-05-30 12:55

Baum-Welch算法是HMM参数学习的经典方法。请从EM算法视角解释其工作流程,说明E步和M步分别做什么,以及参数重估公式的直观含义。

回答

苦行僧

Baum-Welch = EM算法在HMM上的应用

E步(期望步): 计算完全数据对数似然在观测数据下的条件期望: Q(λ, λ⁰) = E[log P(O, Q|λ) | O, λ⁰]

需要计算的统计量:

  • γₜ(i) = P(qₜ=i | O, λ⁰):状态后验概率
  • ξₜ(i,j) = P(qₜ=i, qₜ₊₁=j | O, λ⁰):转移后验概率

计算方式:用前向-后向算法得到α和β,然后: γₜ(i) = αₜ(i)βₜ(i) / P(O|λ) ξₜ(i,j) = αₜ(i)·aᵢⱼ·bⱼ(oₜ₊₁)·βₜ₊₁(j) / P(O|λ)

M步(最大化步): 最大化Q函数,得到新的参数估计:

πᵢ = γ₁(i)           // 初始概率:在时刻1处于状态i的期望次数

aᵢⱼ = Σₜ ξₜ(i,j) / Σₜ γₜ(i)
    // 转移概率:从i到j的期望转移次数 / 从i出发的总期望次数

bⱼ(k) = Σₜ γₜ(j)·𝟙(oₜ=v_k) / Σₜ γₜ(j)
    // 发射概率:在状态j观测到v_k的期望次数 / 在状态j的总期望次数

直观含义

  • 用软计数(soft counting)重估参数
  • 每个时间步对状态的归属是概率性的(软分配),而非硬分配
  • 迭代直到对数似然收敛

收敛性:保证收敛到局部最优(EM的通用性质)。