Baum-Welch算法的EM视角与参数重估
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的通用性质)。