EM算法作为机器学习的十大算法,其重要性不言而喻。那么EM算法的全称是什么?它在机器学习中又扮演着何种角色?下面从1977年发表的论文《Maximum Likelihood from Incomplete Data via the EM Algorithm》中寻找EM算法的答案。
图1 论文摘选
如图1所示,作者对EM算法已给出明确定义,文中指出由于算法的每次迭代都由一个期望步(Expectation-step,E步)和和一个最大化步(Maximization step,M步)组成,所以称之为Expectation Maximization算法。
明白了EM算法的基本定义,下面开始介绍EM算法怎样在机器学习中扮演着重要的角色,它是如何发挥巨大价值的。想必业内人士都清楚机器学习的本质无非就是建立概率模型,使其能够更好地拟合数据,并作出合理预测的过程。而概率模型其实可以理解为是一个线性或非线性的函数表达式,它是由若干个函数系数和变量组成的,而为了寻找得到合理的函数系数,需要一个强大的算法来实现,它便是EM算法设计的初衷。
图2 论文摘选
如图2所示,在正式理解EM算法前,需要理解两个基本的概念,分别是:完整数据和不完整数据。假设完整数据(记为Y):它可划分为观测数据(记为:X)和未观测数据(记为:Z)。而不完整数据是指:由于缺失而只有部分的数据。
参数:一种“隐”变量,无法被观测,它与真正的隐变量存在显著差异。
在概率统计学中,对于观测变量的求解大多使用的是全概率公式法或贝叶斯公式法,而对于参数的求解方法则使用最大似然估计法。
图3 论文摘选
如图3所示,EM算法主要是当给定的数据中存在有隐变量或缺失数据时,算法的实现过程是采取两步走策略,通过不停地迭代来更新隐变量的期望,并对参数重新进行估计,直到达到一个稳定的配置,构建出强大的概率模型。了解完基本概念和EM算法需要解决的具体问题后,现在回归正轨,暂且撇开论文中繁琐的表达式,按照我们设定的方式理解整个算法的实现过程,分别说明E步和M步的作用,并展开公式推导。
【E步】给定观测到的变量和参数的当前估计时,隐变量的数学期望。
【M步】似然,用于求取能够将似然最大化的值。
【公式推导】
因为,
所以,我们希望最大化的似然函数:
求似然函数的极大值:
记作:,它是EM算法的核心。
更新的值:
推导完整个EM算法,相信大家已经非常清楚它是如何在机器学习中通过学习已知观测数据并迭代更新未知参数的过程,实现最终的建模。当然,EM算法也有它的缺点,那就是对参数或隐变量的初始值较为敏感,不同的初始值会对最终的结果有一定影响,只能得到局部极值点,不能得到全局极值点。
本文链接:EM算法的原理介绍 - 知乎
参考论文:Dempster A P, Laird N M, Rubin D B. Maximum likelihood from incomplete data via the EM algorithm[J]. Journal of the Royal Statistical Society: Series B (Methodological), 1977, 39(1): 1-22.
| 留言与评论(共有 0 条评论) “” |