是一种启发式迭代算法,用于存在缺失数据或隐藏变量的情况下估计参数。
一个最直观了解 EM 算法思路的是 K-Means 算法。在 K-Means 聚类时,每个聚类簇的质心是隐含数据。我们会假设 K 个初始化质心,即 EM 算法的 E 步;然后计算得到每个样本最近的质心,并把样本聚类到最近的这个质心,即 EM 算法的 M 步。重复这个 E 步和 M 步,直到质心不再变化为止,这样就完成了 K-Means 聚类。
-
E步骤(Expectation步骤):在给定当前参数值的情况下,计算缺失数据或隐藏变量的期望值。这一步通常涉及到根据已知数据估算缺失数据。
-
M步骤(Maximization步骤):利用E步骤中计算出的期望值,优化模型参数以最大化完整数据的似然函数(包括观察到的数据和E步骤中估算的缺失数据)。
这两个步骤反复进行,直到模型的参数收敛(即参数的改变小于某个预定阈值)或达到预定的迭代次数。
应用
主要应用于统计模型和机器学习中,尤其是混合模型和隐马尔可夫模型。
EM算法广泛应用于各种场景,尤其是在参数估计和模型学习中。一些常见的应用包括:
- 混合高斯模型(Gaussian Mixture Model,GMM)
- 隐马尔可夫模型(Hidden Markov Model,HMM)
- 某些贝叶斯网络的