赞
踩
精美排版版可移步http://lanbing510.info/2015/11/12/Master-EM-Algorithm.html
EM(Expectation Maximization 期望最大化)算法是一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计,或极大后验概率估计。其每次迭代由E、M两步构成。下面首先给出一般EM算法的求解过程(怎么做),然后结合一个例子来理解,然后讲为什么这么求解,即推导,最后讲述EM算法在高斯混合模型中的应用及小结。
一般用Y表示观测随机变量,Z表示隐随机变量,Y和Z在一起称为完全数据,Y称为不完全数据。由于含有隐变量,我们不能直接由
1 选择一个初始的参数
2 E Step 估计
3 M Step 估计
其中
4 检查是否到达停止迭代条件,一般是对较小的正数
则停止迭代,否则
下面结合一个《统计学习方法》中的例子来加深下理解:
例:假设有3枚硬币,分别记做A,B,C。这些硬币正面出现的概率分别是
假设只能观察到投掷硬币的结果,而不知其过程,问如何估计三硬币正面出现的概率,即三硬币的模型参数
解答:我们现在只可以看到硬币最终的结果1111110000,即观测变量Y,至于结果来自于B还是C无从得知,我们设隐变量Z来表示来自于哪个变量,令
则模型参数
由于隐变量的存在,使得观测数据的最大似然函数里log里有带有加和(
根据第二部分EM算法求解过程,假设第
E步:估计
M步:估计
其中:
在选定参数初始值
由上述EM计算过程和结合例子的应用,相信大家都会用EM算法解决问题了,即知道怎么做了,下面一节主要来讲述为什么这样做,即为什么这样就可以解决此类含有隐变量的最大似然估计。
面对一个含有隐变量的概率模型,目标是极大化观测数据(不完全数据),即极大化
极大化的主要困难是上式中含有未观测数据log里有包含和,EM算法则是通过迭代逐步近似极大化
上式中的不等号是由Jensen不等式得到,下面对Jesen不等式做一个简单回顾。
Jensen不等式:如果f是凸函数,X是随机变量,则
上式中
继续转回正题。令
则
即
因此,可以使
省去对
推导完毕。
EM算法可以用来估计高斯混合模型中的参数,例如:
假设观测数据
其中
可以设想观测数据
1 首先确定E步,估计
2 M步,将新估计的Z的概率代进最大似然的公式,对待估计参数分别求偏导,以计算新一轮迭代模型参数(详细的推导不再赘述,感兴趣的可以自行推导)。
重复E步,M步直至收敛。
1 EM算法是含有隐变量的概率模型极大似然估计或极大后验概率估计的迭代算法。含有隐变量的概率数据表示为
E步,求解
M步,估计
2 EM算法应用极其广泛,主要用于含有隐变量的概率模型的学习,但其对参数初始值比较敏感,而且不能保证收敛到全局最优。
[1] 统计学习方法.李航
[2] Pattern Recognition And Machine Learning.Christopher M. Bishop
[3] The EM Algorithm,JerryLead’s Blog
[4] 三硬币问题
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。