当训练样本中存在隐变量(隐变量:不可观测的变量),通常通过观察可观测变量对隐变量作出推断,EM算法就是这样一种方法。
令X表示已观测变量集,Z表示隐变量集,表示模型参数,现在是根据X,Z和训练数据的分布,来对参数做极大似然估计。则应该最大化对数似然
,然而由于Z是隐变量,上式无法直接求解。
EM算法就是一种常用的参数隐变量算法,是一种迭代式算法,其基本思想是:若参数已知,则可根据训练数据推断出最优隐变量Z的值(E步);反之,若Z的值已知,则可方便对参数
做极大似然估计(M步)。
于是,以一个初始的为起点,迭代执行以下步骤至收敛:
E步(期望E步):以当前参数推断隐变量的分布:
。
M步(最大化M步):计算对数似然关于Z的期望:
,并寻找参数最大化期望似然,即:
EM算法用处:根据训练数据集估计参数隐变量的分布,从而求得最大化对数似然。