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

EM 算法

EM Algorithm
🎯核心定义
EM (期望最大化) 是含隐变量模型做极大似然估计的通用框架, 交替迭代 E 步与 M 步直到收敛。E 步固定当前参数 θ(t)\theta^{(t)}, 构造完整数据对数似然对隐变量后验的期望 (下界): Q(θθ(t))=EZX,θ(t)[logp(X,Zθ)]Q(\theta \mid \theta^{(t)}) = \mathbb{E}_{Z \mid X, \theta^{(t)}}[\log p(X, Z \mid \theta)]; M 步极大化该期望得新参数 θ(t+1)=argmaxθQ(θθ(t))\theta^{(t+1)} = \arg\max_{\theta} Q(\theta \mid \theta^{(t)})。由 Jensen 不等式 (对数凹), logp(Xθ)EZX,θ(t)[logp(X,Zθ)]+H\log p(X \mid \theta) \ge \mathbb{E}_{Z \mid X, \theta^{(t)}}[\log p(X, Z \mid \theta)] + H, 其中 HH 是与 θ\theta 无关的常数 (隐变量后验的熵)——EM 每次迭代都在提升对数似然的下界, 保证 logp(Xθ)\log p(X \mid \theta) 单调不降, 但仅收敛到局部最优。
💡使用场景
GMM、HMM (Baum-Welch)、缺失数据填补、因子分析/概率 PCA、机器翻译对齐; 面试必考 E/M 步定义、Jensen 下界与收敛性证明。
解决的核心痛点
直接极大化 logp(Xθ)\log p(X \mid \theta) 需要计算含隐变量的求和/积分, 通常不可解; EM 用“补全数据”技巧把难问题拆成两步——E 步求隐变量后验 (软补全), M 步在补全的充分统计量上闭式更新, 每步计算可行且似然单调上升。代价是初始化敏感、只能收敛到局部最优 (常用 K-Means 初始化 GMM)。
🎯5 个高频面试考点 (Exam Points)
1
写出 EM 的 E 步 Q(θθ(t))=EZX,θ(t)[logp(X,Zθ)]Q(\theta \mid \theta^{(t)}) = \mathbb{E}_{Z \mid X, \theta^{(t)}}[\log p(X, Z \mid \theta)] 与 M 步定义? 为什么叫“期望-最大化”?
2
用 Jensen 不等式证明 EM 每次迭代使 logp(Xθ)\log p(X \mid \theta) 单调不降; 下界何时取等?
3
EM 收敛到全局最优还是局部最优? 为什么对初始值敏感? 常用初始化策略有哪些 (K-Means 初始化 GMM)?
4
EM 的适用条件: 隐变量具体指什么? 如何用 EM 处理缺失数据? 与直接梯度上升最大化的区别?
5
E 步的计算复杂度如何随隐变量取值个数增长? GMM 与 HMM (Baum-Welch) 分别是 EM 的哪个特例?
📖 关联深度指南:📄 clustering-and-knn
更新于 2026-08-12
🎯
检验攻克程度:针对「EM 算法」专属刷题排雷
做单选排雷题、推导选项机制,答错自动收录进专属错题本。
🚀 开始本考点专项刷题
上一个知识点DBSCAN 与层次聚类下一个知识点GMM 软分配

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

AdaBoost 算法手推Bagging 与随机森林HMM 参数学习 Baum-WelchGBDT 负梯度拟合