EM算法是什么?
EM算法是一种迭代算法,用于含隐变量概率模型参数的极大似然估计,或极大后验概率估计。EM算法由两步组成:E步,求期望;M步:求极大。EM算法的优点是简单性和普适性。
符号说明:
- :观测数据,又称不完全数据
- :隐变量
- :完全数据
- :模型参数
- :第次迭代后的估计值
- :联合分布
- :条件分布
- :似然
EM算法的导出
我们面对一个含有隐变量的概率模型,目标是极大化关于的对数似然函数:
我们把关于的依赖体现到我们的模型也就是似然里面来:
造成这一似然的极大化困难的根源有两点:
- 未观测数据
- 对数里面包含求和
我们虽然无法一次性做到极大化,但是EM算法提出,我们可以用迭代的方式来近似逼近极大化,只需在迭代过程中保证新的估计值能使不断增加:
利用Jensen不等式,可以得到其下界:
即函数是的一个下界,且:
因此任何可以使增大的,也可以使增大。为了使有尽可能大的增长,选择使达到最大,计算过程中可以省去对的极大化而言是常数的项:
我们令
则EM算法的一次迭代,即极大化Q函数,这也是EM算法的核心:
即EM算法是通过不断求解下界的极大化逼近求解对数似然函数极大化的算法。
EM算法的定义
- 输入:
- 输出:
- (1) 选择参数的初值,开始迭代;
- (2) E步:计算Q函数:
- (3) M步:求第i+1次迭代的参数的估计值:
- (4) 重复第(2)步和第(3)步,直到收敛,停止迭代的条件,一般是对较小的正数,满足 或 ,则停止迭代 。
EM算法的收敛性
只需说明:
证明:
其中,
EM算法在高斯混合模型学习中的应用
高斯混合模型如下:
观测数据 由高斯混合模型生成。我们用EM算法估计参数
明确隐变量:
是0-1随机变量。
有了观测数据以及未观测数据,那么完全数据是
于是,可以写出完全数据的似然函数:
完全数据的对数似然:
E步:
M步: