什么是EM 算法
在介绍EM算法前,我们先了解一下最大似然估计(MLE)。MLE是利用已知的样本结果去反推最有可能导致这样结果的参数值,即在给定的观测变量下去估计参数值。但在实际中除了观测变量还会存在隐变量,因为隐变量未知,因此无法通过最大似然估计直接求参数值。
EM算法(期望最大)为迭代算法,是一种从不完全数据或有数据丢失的数据集(存在隐变量)中求解概率模型的最大似然估计方法。
广义上的隐变量:主要就是指不能被直接观察到,但是对系统的状态和能观察到的输出存在影响的一种东西。
EM算法步骤
EM算法推导过程中会用到MLE法估计参数。求MLE估计值的一般步骤如下:
(1)写出似然函数,并取对数。
(2)求导,另导数为0,得似然方程。
(3)解方程,得到参数即为所求。
EM算法通过引入隐变量,使用MLE(极大似然估计)进行迭代求解参数。通常引入隐含变量后会有两个参数,EM算法首先会固定其中的第一个参数,然后使用MLE计算第二个变量值;接着通过固定第二个变量,再使用MLE估测第一个变量值,依次迭代,直至收敛到局部最优解。
(1)选择参数θ的初始值θ(0),开始迭代。
(2)E步:记θ(t)次迭代参数为θ的估计值,在第t+1次迭代的E步,计算(基于当前求得的模型参数θ猜测隐变量的期望值,因此E步也称为期望步)
(3)M步:求使得函数极大化的θ值,确定第t+1次迭代的参数的估计值θ(t+1)
(4)重复2, 3步直至收敛。
EM算法收敛性证明
在介绍收敛性的证明方法前,我先介绍下相对熵(KL散度)的概念及其性质。
下面推导收敛性:
网友评论