返回 经典机器学习 思维导图
中文·English
📊 经典机器学习ID: baum-welch

HMM 参数学习 Baum-Welch

Baum-Welch (HMM EM)
🎯核心定义
学习问题是在无状态标注的情况下仅由观测序列估计 HMM 参数 λ=(A,B,π)\lambda = (A, B, \pi);Baum-Welch 是 EM 算法在 HMM 上的直接实例。E 步用当前参数 λ(old)\lambda^{(old)} 经前向-后向算法计算后验:状态后验 γt(i)=P(qt=iO,λ)=αt(i)βt(i)jαt(j)βt(j)\gamma_t(i) = P(q_t = i \mid O, \lambda) = \frac{\alpha_t(i)\beta_t(i)}{\sum_j \alpha_t(j)\beta_t(j)}(t 时刻处于状态 i 的概率),转移后验 ξt(i,j)=αt(i)aijbj(ot+1)βt+1(j)P(Oλ)\xi_t(i, j) = \frac{\alpha_t(i)\, a_{ij}\, b_j(o_{t+1})\, \beta_{t+1}(j)}{P(O \mid \lambda)}(t 时刻 i → t+1 时刻 j 的概率);M 步以期望计数重估参数
📌核心概述
a^ij=tξt(i,j)tγt(i),b^j(k)=t:ot=vkγt(j)tγt(j),π^i=γ1(i)\hat a_{ij} = \frac{\sum_t \xi_t(i, j)}{\sum_t \gamma_t(i)}, \qquad \hat b_j(k) = \frac{\sum_{t: o_t = v_k} \gamma_t(j)}{\sum_t \gamma_t(j)}, \qquad \hat\pi_i = \gamma_1(i)
📌核心概述
重复 E/M 步直至似然 P(Oλ)P(O \mid \lambda) 收敛。
💡使用场景
无监督序列学习 — 无标注分词、语音参数估计、生物序列建模;面试常考 BW 是 EM 特例、收敛性与局部最优。
解决的核心痛点
隐状态缺失使似然直接极大化不可解;EM 框架以期望充分统计量迭代构造并提升似然下界,保证 P(Oλ)P(O \mid \lambda) 单调不减;但目标非凸,只能保证局部最优 — 实践中需多次随机初始化、单独选择状态数 NN,并用缩放版前向-后向(scaled)避免长序列下的数值下溢。
🎯5 个高频面试考点 (Exam Points)
1
写出 Baum-Welch 的重估公式 a^ij=tξt(i,j)tγt(i)\hat a_{ij} = \frac{\sum_t \xi_t(i,j)}{\sum_t \gamma_t(i)},并解释 γt(i)\gamma_t(i)ξt(i,j)\xi_t(i,j) 的含义?
2
Baum-Welch 为什么是 EM 算法的特例?E 步和 M 步分别对应什么?
3
前向-后向算法如何得到 γt(i)\gamma_t(i)ξt(i,j)\xi_t(i,j)?(组合 αt(i)\alpha_t(i)aija_{ij}bj(ot+1)b_j(o_{t+1})βt+1(j)\beta_{t+1}(j))
4
Baum-Welch 一定能收敛到全局最优吗?为什么?如何处理局部最优?
5
长观测序列下前向-后向计算会有什么数值问题?如何解决?
📖 关联深度指南:📄 probabilistic-models
更新于 2026-08-12
🎯
检验攻克程度:针对「HMM 参数学习 Baum-Welch」专属刷题排雷
做单选排雷题、推导选项机制,答错自动收录进专属错题本。
🚀 开始本考点专项刷题
上一个知识点HMM 维特比解码下一个知识点线性链条件随机场

🔗 更多 经典机器学习 知识点卡片

AdaBoost 算法手推Bagging 与随机森林GBDT 负梯度拟合混淆矩阵