期望最大化(Expectation-Maximum,简称EM)算法是一种机器学习常见基础算法
EM算法常用于处理存在隐变量的最大似然估计模型,训练过程简单描述如下:
- E步,固定模型参数,优化潜在变量分布
- M步,固定潜在变量分布,优化模型参数
- 重复EM步骤,直至收敛或达到最大迭代次数
以K-means聚类为例进行直观理解:
- 聚类簇的质心就是潜在变量
- E步,随机化/更新簇的质心
- M步,根据质心重新分配样本
- 重复EM步骤,直至簇的质心不再变化或达到最大迭代次数
EM算法作为一种基础算法,广泛应用于多种算法模型的学习过程,比如:[[1_study/algorithm/概率图类模型/隐马尔可夫模型 HMM]]
这类算法思想在其他模型中也经常遇见,比如:坐标轴下降法、[[1_study/algorithm/支持向量机 SVM]]
进阶阅读:
EM算法的举例与理解:知乎阿泽-EM期望最大 EM算法的推导与思考:刘建平-EM算法原理总结