| 帮助
当前位置:首页 > 文章 > EM算法

EM算法

转载作者:xiaogao浏览次数:54 加入收藏
1.EM 算法
EM 算法是一种迭代优化策略,由于它的计算方法中每一次迭代都分两步,
其中一个为期望步(E 步),另一个为极大步(M 步),所以算法被称为 EM 算法
(Expectation Maximization Algorithm)。EM 算法受到缺失思想影响,最初
是为了解决数据缺失情况下的参数估计问题,其算法基础和收敛有效性等问题在
Dempster,Laird 和 Rubin 三人于 1977 年所做的文章 Maximum likelihood from
incomplete data via the EM algorithm 中给出了详细的阐述。其基本思想是:
首先根据己经给出的观测数据,估计出模型参数的值;然后再依据上一步估计出
的参数值估计缺失数据的值,再根据估计出的缺失数据加上之前己经观测到的数
据重新再对参数值进行估计,然后反复迭代,直至最后收敛,迭代结束。
EM(Exception Maxinization)算法通俗的理解是对未知数据进行猜想,然
后进行校正。其核心步骤主要为:
(
1)E-step:构造完全数据的似然函数( θ ),
并求期望函数Q(θ);(2)M—step:求使期望函数最大的θ,并将θ作为
下一次已知的θ;(3)重 复(1),(2)步直至期望函数收敛。EM 算法的标
准计算框架由 E 步(Expectation-step)和 M 步(Maximization step)交替组
成,算法的收敛性可以确保迭代至少逼近局部极大值 [1]。EM 算法是 MM 算法
(Minorize-Maximization algorithm)的特例之一,有多个改进版本,包括使
用了贝叶斯推断的 EM 算法、EM 梯度算法、广义 EM 算法等 [2] 。由于迭代规则容
易实现并可以灵活考虑隐变量[3],EM 算法被广泛应用于处理数据的缺测值 [4],
以及很多机器学习(machine learning)算法,包括高斯混合模型(GaussianMixture Model, GMM) [5] 和隐马尔可夫模型(HiddEM Markov Model, HMM)。
EM 算法在其应用过程中,收敛速度是与不完整数据所遭受的外部噪声干扰
有着很大联系的,如果不完整数据受到的外部影响干扰很大,说明该组数据缺失
现象较为严重,那么在对其进行 EM 算法应用时,其算法计算过程速度会比较慢。
相反来讲,如果不完整数据受外部影响较小,也就是说数据的缺失并不明显,那
么 EM 算法对其进行处理的过程就会较快,以较高的效率输出数据处理结果。但
是,值得注意的是,EM 算法的每一次参数代入计算步骤都具有重要意义,而最
后的结果的准确输出也是通过一次又一次的数据迭代计算完成的。该过程越快,
数据需要迭代计算的次数就越少,那么 EM 算法就越容易实现。这样的情况下得
到的结果也就越准确,计算出来的数据也会更接近现实情况。对于不完整数据的
处理,EM 算法是具有明显优势的,能够以较好的效果完成不完整数据的参数估
计。在利用 EM 算法进行数据处时,最为关键的一个步骤是初始值的设定与选取,
首先需要对当前的数据条件进行高效参数验证,以此获取一个合理的初始值,该
初始值会直接影响其算法的处理精度。若初始值选取得合理且合适,那么 EM 算
法会以较快的速度完成数据处理,以此提升算法计算的效率。

标签 : 算法

评论

(3)

51thome

  • 在 15:06 评论:

    简单明了,通透

  • 在 12:47 评论:

    解释得很好,懂了

相关文章