EM 算法简介
chwang@microsoft.com
注意:这是一个非正式的简介,所以没有列出相关的参考文献,以后我会陆续完善。写
EM
简介的
文章很多,我这里希望能对初学者有所帮助。水平有限,如有错误,敬请指正。
Expectation-Maximization (EM) 算法是一个在含有隐含变量的模型中常用的算法,最常见的是用于高
斯混合模型 (Mixtures of Gaussians), 但 EM 算法的应用决不仅仅限于此 。
假设我们要估计联合概率密度,其中为可以观测的变量,为隐含变量,为参数。令
。
是相互独立的。给定,考虑的最大似然估
计(Maximum Likelihood),也就是最大化下面式子:
.
写的更一般一些,可以为:
。如果是连续变量,
基本的 EM 算法:
假设可观测,那么
, 通常来说比较容易求解,特别是如果
是指
数族的情况下。
定义函数:
E-step:Compute
M-step:
可以证明每次 EM 都可以使得
增加,保证收敛到局部极大值。
上述的 EM 算法虽然描述简单,但不是很直观,下面从另外一个角度来导出 EM 算法。
从优化的角度导出的 EM 算法:
首先介绍 Jensen 不等式:
假设为凸函数函数(对于凹函数,不等号方向相反),(对于二阶可导的情况,可以考虑证明
Hessian 矩阵是非负定的,一维情况
), 对于随机变量,有
恒成立,等号成立当且仅当, 以概率 1 成立(是常数)。如图 1 所示。
评论3
最新资源