期望极大(EM)算法:是一种迭代算法,用于含有隐变量(latent variable)的概率模型参数的极大似然估计或者极大后验概率估计。EM算法每次迭代有两步组成:E步求期望;M步求极大。
EM算法的一般形式
用表示观测变量的数据,
表示隐变量的数据。
和
一起称为完全数据(complete-data),观测数据
称为不完全数据(incompletedata)
输入: 观测变量数据 , 隐变量数据
, 联合分布
, 条件分布
;
输出: 模型参数
(1) 选择参数的初值 , 开始迭代;
(2) 步:记
为第
次迭代参数
的估计值,在第
次迭代的
步,计算
这里, 是在给定观测数据
和当前的参数估计
下隐变量数据
的条 件概率分布;
(3) 步: 求使
极大化的
, 确定第
次迭代的参数的估计值
(4) 重复第 步和第
步,直到收敛。
上述E步中的是EM算法的核心,称为
函数, 定义如下:
完全数据的对数似然函数 关于在给定观测数 据
和当前参数
下对未观测数据
的条件概率分布
的期望称为
函数,即
几点说明:
步骤 (1) 参数的初值可以任意选择,但需注意EM算法对初值是敏感的。
步骤 (4) 给出停止迭代的条件,一般是对较小的正数 , 若满足
则停止迭代。
网友评论