zoukankan      html  css  js  c++  java
  • 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) 直到收敛

  • 相关阅读:
    vue.js 首屏优化
    ios判断是否有中文
    ios 7新特性
    NSDictionary的分类
    asiHttpRequst 超时代码判断
    ios中layoutsubview何时被调用
    ios中tableview的移动添加删除
    ios发布
    新浪博客中放大图片的做法
    ios中coredata
  • 原文地址:https://www.cnblogs.com/brightyuxl/p/11396127.html
Copyright © 2011-2022 走看看