EM算法

Ddcc 2018年8月31日 10:23 1021916684@qq.com
隐马尔科夫链第三个问题 极大似然估计 EM算法

如需转载请注明出处:http://zczzxz.top,整理不易请谅解。

一、EM算法简介

在隐马尔科夫链第三个问题(学习问题,即获得HMM的参数)时,参考李航《概率统计学方法》一书中接触到EM算法。EM算法是一种迭代算法,1977年由Dempster等人总结提出,用于含有隐变量(hidden variable)的概率模型参数的极大似然估计,或极大后验概率估计。

二、EM算法实例

以下实例引自:https://blog.csdn.net/u011300443/article/details/46763743

假设现在有两块有偏向的硬币A,B,实验5组,每组连续抛10次,如果每次知道抛的硬币是哪一种,那么问题就简单了。

但是在不知道抛的是哪一种硬币时,我们就需要用EM算法了。

基本步骤为:

1、给θA和θB一个初始值;

2、(E-step)估计每组实验是硬币A的概率(本组实验是硬币B的概率=1-本组实验是硬币A的概率)。分别计算每组实验中,选择A硬币且正面朝上次数的期望值,选择B硬币且正面朝上次数的期望值;

3、(M-step)利用第三步求得的期望值重新计算θA和θB

4、当迭代到一定次数,或者算法收敛到一定精度,结束算法,否则,回到第2步。

由两个硬币的初始值0.6和0.5,容易得出投掷出5正5反的概率是

PA=C(10,5)*(0.65)*(0.45),

PB=C(10,5)*(0.55)*(0.55),

PA/(PA+PB)=0.449,

0.45就是0.449近似而来的,表示第一组实验选择的硬币是A的概率为0.45。图中的2.2H,2.2T是怎么得来的呢?  0.449 * 5H = 2.2H ,0.449 * 5T = 2.2T ,表示第一组实验选择A硬币且正面朝上次数的期望值是2.2。其他的值依次类推。

三、EM算法理论