本文列举了几个经典的EM算法实例,对于EM算法不了解的同学可以参考这篇文章-EM算法
三硬币模型
假设有三枚不均匀硬币A、B、C 。进行如下掷硬币试验: 先掷A,如果A是正面则再掷B,如果A是反面则再掷C。对于B或C的结果,如果是正面则记为1,如果是反面则记为0。进行 N 次独立重复实验,实验结果为 . 求这些硬币正面出现的概率 、 、.
在这个问题中,硬币A的结果是不可观测数据 , 且 z 只有两种可能取值1和0。,估计模型参数 。
对于第 次试验,
所以有
EM算法的E步:确定Q函数
先求:
再求:
因此, 函数表达式为:
EM算法的M步,极大化Q函数:
Q函数只包含 、 、三个变量,分别令其导数为0:
可得到:
两硬币模型
假设有两枚不均匀硬币A、B。按某概率随机选择一个硬币,抛掷10次,记录下正反面结果.五次实验结果如下.问两个硬币正面出现的概率?
实验次数 |
正 |
反 |
实验一 |
5 |
5 |
实验二 |
9 |
1 |
实验三 |
8 |
2 |
实验四 |
4 |
6 |
实验五 |
7 |
3 |
在这个问题中,选择的硬币是隐变量.,当为1是选择A硬币,为0时选择B硬币.设模型A,B硬币正面朝上的概率为,.选择A硬币的概率为,模型参数为:.观测数据为,其中代表第j次实验正面朝上的次数.
对于第 次试验,
完全数据的对数似然函数:
EM算法的E步:确定Q函数
先求:
再求:
因此, 函数表达式为:
EM算法的M步,极大化Q函数
Q函数只包含 、 、三个变量,分别令其导数为0,会得到一个方程组,解方程组即可求出 、 、的值.