1.EM算法的介绍
可以发现:计算出θA和θB的值的前提是知道A、B币种的抛掷情况。
所以我们需要使用EM算法:求出每轮选择硬币种类的概率
2.EM算法执行过程:
第一步:首先初始化设置一组PA和PB证明的值。然后通过最大似然估计得到每轮实验对于硬币种类的选择。【E步】
第二步:继续用最大似然估计,和第一步进行迭代。
首先得到标准答案:
然后随机初始化,进行假设第一轮是AorB:
得到第一轮PA正=0.005
然后假设第一轮的硬币是B,得到概率:0.03
可以得到:【这个过程就是E步】
得到隐变量的选择序列后,再根据这个序列重新计算PA和PB的结果**(M步:)**
然后E和M所对应的初始化值和估计值进行对比:
然后在第二轮迭代时,重选择使用的硬币
然后基于新的硬币序列重新计算PA和PB,会发现计算结果越来越接近真实的PA=0.4和PB=0.5
结论:
EM最终迭代后的结果不一定就刚好满足最初设想的真实值,最终结果取决于初始化情况。