浅析EM算法

reference:https://www.zhihu.com/question/27976634?sort=created
浅析EM算法

图a是已知A B的投掷情况,然后计算A B的极大似然估计,这个用来评估后面EM算法的结果。
图b中,最开始先猜一个的A B似然估计0.6 0.5,
之后进入E-step:
set 1:A/(A+B) print(pow(0.6, 5) * pow(0.4, 5) / (pow(0.5, 10) + pow(0.6, 5) * pow(0.4, 5)))
0.449148926101 => A:0.45,B:0.55
Coin A:0.45*5 =2.25 0.45*5 = 2.25 Coin B:0.55*5 = 2.75 0.55*5 = 2.75
set2 : A/(A+B) print(pow(0.6, 9) * pow(0.4, 1) / (pow(0.5, 10) + pow(0.6, 9) * pow(0.4, 1)))
0.804985517232 => A:0.80,B:0.20
Coin A:0.80*9 = 7.2 0.80*1 = 0.8 Coin B:0.20*9 = 1.8 0.20*1 = 0.2
同理可求set3 4 5
再进入M-step:
重新估计最大似然相似度:
A:Asum(H)/(Asum(H) + Asum(T))
B: Bsum(H)/(Bsum(H) + Bsum(T))
之后重复EM过程,直到收敛