EM算法是含有隐变量的概率模型参数的极大似然估计法。
一、三硬币模型
假设有3枚硬币,分别记作
。这些硬币正面出现的概率分别是
。进行如下抛硬币试验:
先掷硬币,根据其结果选出硬币
或硬币
,正面选硬币
,反面选硬币
;然后掷选出的硬币,掷硬币的结果,出现正面记作1,出现反面记作0;独立地重复
次试验(这里,
=10),观测结果如下:
1,1,0,1,0,0,1,0,1,1
假设只能观测到掷硬币的结果,不能观测到掷硬币的过程,问如何估计三硬币正面出现的概率,即三硬币模型的参数。
设是观测变量,表示观测结果
或
;
是隐变量,表示未观测到的掷硬币
的结果;
是模型参数。
示意图
y为可观测变量,取值为{0,1},观测结果取决于Z的取值,y,Z均服从0-1分布。
三硬币模型可以写作:
因此:
等价于
将观测数据表示为,未观测数据表示为
,则观测数据的似然函数为:
求参数=
的极大似然估计:
=
二、EM算法
E步:基于
推断隐变量Z的期望,记为
M步:基于已观测变量和
对参数
做极大似然估计,记为
对于一个含有隐变量的概率模型,目标是极大化观测数据关于参数
的极大似然函数
:
=
=
=
EM算法通过逐步迭代近似极大化,假设第
次迭代后
的估计值是
,则有
。
由Jensen不等式:
因此:
=
=
=
EM算法是不断求解下界的极大化逼近求解对数似然函数极大化。
因此:
函数:
=
EM算法:
- 选取参数初值:
![]()
- E步:计算
![]()
- M步:求使
极大化的
,确定第
次参数迭代的估计值
:
重复E步和M步直到收敛。停止条件:
或
三、EM求解三硬币模型
E步:
代入
M步:
对Q求偏导得到的估计为:
参考:
李航《统计学习方法》
https://blog.csdn.net/wendaomudong_l2d4/article/details/79005461