EM算法:入门案例

概率分布

4种实验结果 (E_1) (E_2) (E_3) (E_4)
记录它们发生的次数 (y_1) (y_2) (y_3) (y_4)
记录次数结果 125 18 20 34
4种结果发生的概率 (frac{1}{2}-frac{ heta}{4}) (frac{1}{4}-frac{ heta}{4}) (frac{1}{4}+frac{ heta}{4}) (frac{ heta}{4})

( heta)的估计值?

法 1:采用最大似然估计

[L( heta) = frac{(y_1+y_2+y_3+y_4)!}{y_1! y_2! y_3!y_4!}(frac{1}{2}-frac{ heta}{4})^{y_1}(frac{1}{4}-frac{ heta}{4})^{y_2}(frac{1}{4}+frac{ heta}{4})^{y_3}(frac{ heta}{4})^{y_4} = C imes (frac{1}{2}-frac{ heta}{4})^{y_1}(frac{1}{4}-frac{ heta}{4})^{y_2}(frac{1}{4}+frac{ heta}{4})^{y_3}(frac{ heta}{4})^{y_4} ]

[ln L( heta) = ln [C imes (frac{1}{2}-frac{ heta}{4})^{y_1}(frac{1}{4}-frac{ heta}{4})^{y_2}(frac{1}{4}+frac{ heta}{4})^{y_3}(frac{ heta}{4})^{y_4}] ]

[ln L( heta) = ln C+y_1ln (frac{1}{2}-frac{ heta}{4}) + y_2ln (frac{1}{4}-frac{ heta}{4})+y_3ln (frac{1}{4}+frac{ heta}{4})+y_4 ln (frac{ heta}{4}) ]

[frac{partial ln L( heta) }{partial heta}=-frac{y_1}{2- heta}-frac{y_2}{1- heta}+frac{y_3}{1+ heta}+frac{y_4}{ heta}=0 ]

[-frac{125}{2- heta}-frac{18}{1- heta}+frac{20}{1+ heta}+frac{34}{ heta}=0 ]

上面估计( heta)的方程是一个关于( heta)的一元三次方程,问题是不容易求解

问题转化求解:EM算法

引入隐藏变量(Z),从新对概率分布进行分配。

4种实验结果 (E_1) (E_2) (E_3) (E_4)
记录它们发生的次数 (y_1) (y_2) (y_3) (y_4)
记录次数结果 125 18 20 34
4种结果发生的概率 (frac{1}{2}-frac{ heta}{4}) (frac{1}{4}-frac{ heta}{4}) (frac{1}{4}+frac{ heta}{4}) (frac{ heta}{4})
隐藏变量 (z_1) (z_2) (z_3) (z_4) (z_5) (z_6)
发生的概率 (frac{1}{4}-frac{ heta}{4}) (frac{1}{4}) (frac{1}{4}-frac{ heta}{4}) (frac{ heta}{4}) (frac{1}{4}) (frac{ heta}{4})

存在的关系为:(y_1=z_1+z_2; ;y_2=z_3;;y_3=z_4+z_5;;y_4=z_6)

从新计算似然函数

[L( heta) = frac{(z_1+z_2+z_3+z_4+z_5+z_6)!}{z_1! z_2! z_3!z_4!z_5!z_6!}(frac{1}{4}-frac{ heta}{4})^{z_1} (frac{1}{4})^{z_2}(frac{1}{4}-frac{ heta}{4})^{z_3}(frac{ heta}{4})^{z_4} (frac{1}{4})^{z_5}(frac{ heta}{4})^{z_6} ]

[ln L( heta) = ln C + z_1ln (frac{1}{4}-frac{ heta}{4})+z_2ln (frac{1}{4})+z_3ln(frac{1}{4}-frac{ heta}{4})+z_4ln(frac{ heta}{4})+z_5ln(frac{1}{4})+z_6ln(frac{ heta}{4}) ]

[frac{partial ln L( heta) }{partial heta}=-frac{z_1+z_3}{1- heta}+frac{z_4+z_6}{ heta}=0 ]

求解上式,我们发现由原来的一元三次方程变为了非常容易求解的方程,求解难度减少。

[ heta^* = frac{z_4+z_6}{z_4+z_6+z_1+z_3}=frac{z_4+y_4}{z_4+y_4+z_1+y_2}=frac{z_4+34}{z_4+34+z_1+18} ]

求解难度降低了,但是我们发现(z_1;;z_4)不知道,我们该如何解决呢?

根据 (y_1=z_1+z_2; ;y_2=z_3;;y_3=z_4+z_5;;y_4=z_6);可以得知

[z_1sim B(y_1, frac{frac{1}{4}-frac{ heta}{4}}{frac{1}{2}-frac{ heta}{4}}=frac{1- heta}{2- heta}) ]

[z_4 sim B(y_3, frac{frac{ heta}{4}}{frac{1}{4}+frac{ heta}{4}}=frac{ heta}{1+ heta}) ]

  • 第一步:(E步骤)目的是消去潜在变量 (z_1;;z_4)

    [E(z_1)= y_1 imes frac{1- heta}{2- heta}=125 imes frac{1- heta}{2- heta} ]

    [E(z_4)= y_3 imes frac{ heta}{1+ heta}=20 imes frac{ heta}{1+ heta} ]

    (z_1 = E(z_1);; z_4=E(z_4))
  • 第二部:(M步骤)目的是最大化估计值( heta^*)

    [ heta^* =frac{z_4+34}{z_4+34+z_1+18}=frac{20 imes frac{ heta}{1+ heta}+34}{20 imes frac{ heta}{1+ heta}+34+125 imes frac{1- heta}{2- heta}+18} ]

  • 采用迭代法求解( heta^*)

[ heta^{i+1} =frac{20 imes frac{ heta^i}{1+ heta^i}+34}{20 imes frac{ heta^i}{1+ heta^i}+34+125 imes frac{1- heta^i}{2- heta^i}+18} ]

任取 ( heta in (0,1)) ,开始迭代。
eg: ( heta^0=0.5) 开始,计算出( heta^1;; heta^2;; heta^3;;cdots) 直到收敛

原文地址:https://www.cnblogs.com/brightyuxl/p/11396127.html