EM算法—三硬币模型的参数更新公式

159 阅读1分钟

一、原理

​ 参考了《机器学习公式推导与代码实现》第22章和博文 mp.csdn.net/mp_blog/cre… 对应M步的Q函数,利用拉格朗日乘数法分别对θB 和θC求偏导并令等于0,联立方程可求得第一次迭代后θB 和θC的更新公式:

θA=j=15ujyjj=15ujyj+j=15uj(10yj)θB=j=15(1uj)(10yj)j=15(1uj)yj+j=15(1uj)(10yj)这里θAθB是硬币B和硬币C正面出现的概率uj是本轮迭代每次试验的选择BC的概率(即硬币A是正面还是反面的概率),uj=P(Z=Byj,θ),具体含义就是每次试验结果有yj次正面朝上,(自然有10yj次朝下)而这一次数组合来自硬币B的概率。uj=P(Z=Byj,θ)=P(Z=B,yjθ)P(Z=C,yjθ)P(Z=B,yjθ)P(Z=C,yjθ)+P(Z=C,yjθ)θ_A = \frac {\sum_{j=1}^{5}u_jy_j}{\sum_{j=1}^{5}u_jy_j +\sum_{j=1}^{5}u_j(10-y_j)} \\ θ_B = \frac {\sum_{j=1}^{5}(1-u_j)(10-y_j)}{\sum_{j=1}^{5}(1-u_j)y_j +\sum_{j=1}^{5}(1-u_j)(10-y_j)} \\ 这里θ_A 和 θ_B是硬币B和硬币C正面出现的概率\\ u_j 是本轮迭代每次试验的选择B或C的概率\\ (即硬币A是正面还是反面的概率),u_j = P(Z=B|y_j,θ),具体含义就是\\ 每次试验结果有y_j次正面朝上,(自然有10-y_j次朝下),\\ 而这一 次数组合来自硬币B的概率。\\u_j= P(Z=B|y_j,θ)= \frac {\sqrt{P(Z=B,y_j|θ)*P(Z=C,y_j|θ)}}{\sqrt{P(Z=B,y_j|θ)*P(Z=C,y_j|θ)} + P(Z=C,y_j|θ)}