赞
踩
在此整理EM算法的推导过程。EM算法,全称Expectation Maximization Algorithm,是一种使用迭代实现极大似然估计的优化算法,作为牛顿迭代法对包含因变量或缺失数据的概率模型进行参数估计。EM算法的基本思想,是预先设定一组参数,然后使用最大似然估计(MLE)更新这一组参数。
实际应用中,往往会遇到数据缺失的情况。例如,
比较简单的模型就是硬币模型。两个硬币,A,B,分别服从不同的分布。实验中随机选一个硬币,从多次的投掷结果判断两个硬币的分布的参数。当我们知道选什么硬币时,很容易直接用MLP得到结果。不知道所选硬币时,不能直接求,这里就应用EM算法解决这个问题。
上图比较清晰地表现了EM 算法的流程。其中,表格显示的过程是按照A,B出现的概率,每次硬币分别出现在A与B的期望。例如,第一组实验,硬币五个正面,先验P(A)=P(B),知道P(E|A),P(E|B),得到后验分布P(A|E) = 0.45,P(B|E) = 0.55。然后在这里相当于A的实验为(5*0.45,5*0.45),以此类推。最后迭代得到0.8, 0.52的参数。
EM算法的公式推导:
首先从数学上表述EM算法(来自《统计学习方法》):
输入:观测数据Y,隐变量数据Z,联合分布P(Y,Z|θ),条件分布P(Z|Y,θ);
输出:模型参数θ
迭代:计算
最大化Q函数,得到新的参数估计
详细解释EM的导出:
新的估计值要使L更大:
使用Jensen 不等式,有
(补充:《统计学习方法》跳过了一个小步骤)
继续,
其中,
使B达到极大,
应当注意的是,EM算法不能保证收敛到全局最优值。图1说明了这一点,最后迭代收敛的并不是我们预设的0.8, 0.45
参考文献:
统计机器学习课程,张志华
统计学习方法,李航
What is the expectation maximization algorithm? Chuong B Do & Serafim Batzoglou
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。