期望最大(EM)算法推导

X是一个随机向量,我们希望找到
使得 取得最大值,这就是关于 的最大似然估计。
为了方便估计 ,我们一般引入log似然函数:

EM算法是一个迭代的过程,假设第n次迭代当前 的估计是 。由于我们的目标是最大化 ,我们希望新一轮的更新 使得

等价的,我们希望最大化他们的不同:

现在我们考虑隐变量的问题,隐变量可能是没有观测到的或者缺失的变量,有时为了计算最大似然函数更容易解决也会引入隐变量,因为可以利用EM框架来方便计算。我们假设隐变量用Z来表示,那么

我们重写一下 得到:

利用Jensen's不定式:

其中常量 并且






其中由于
所以有:

我们可以写作:

为了方便,我们定义:

这样我们得到


现在我们得到了似然函数 的下界
另外我们观察到:



所以当 时,


所以任何能够增加 都会增加
所以EM算法选择最大化

最终我们得到:


去掉相对于 的常量得到:





所以EM包含以下迭代步骤:
1、E-step: 得到条件期望
2、M-step:求解 最大化该条件期望

猜你喜欢

转载自fuliang.iteye.com/blog/1621633