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