EM算法

作者: 阿ashang | 来源:发表于2018-11-06 21:20 被阅读0次

    EM算法是含有隐变量的概率模型参数的极大似然估计法。

    一、三硬币模型

      假设有3枚硬币,分别记作A,B,C。这些硬币正面出现的概率分别是\pi,p和q。进行如下抛硬币试验:
      先掷硬币A,根据其结果选出硬币B或硬币C,正面选硬币B,反面选硬币C;然后掷选出的硬币,掷硬币的结果,出现正面记作1,出现反面记作0;独立地重复n次试验(这里,n=10),观测结果如下:
                1,1,0,1,0,0,1,0,1,1
      假设只能观测到掷硬币的结果,不能观测到掷硬币的过程,问如何估计三硬币正面出现的概率,即三硬币模型的参数。

    y是观测变量,表示观测结果01Z是隐变量,表示未观测到的掷硬币A的结果;\theta=(\pi,p,q)是模型参数。

    示意图
    y为可观测变量,取值为{0,1},观测结果取决于Z的取值,y,Z均服从0-1分布。
    三硬币模型可以写作:

    Q函数:
    Q(\theta,\theta^{(i)})=E_z[logP(Y,Z|\theta)|Y,\theta^{(i)}]

    EM算法:
    • 选取参数初值:\theta^{(0)}
    • E步:计算Q(\theta,\theta^{(i)})
    • M步:求使 Q(\theta,\theta^{(i)})极大化的\theta,确定第i+1次参数迭代的估计值\theta^{(i+1)}
             \theta^{(i+1)}=\mathop{argmax}\limits_{\theta}Q(\theta,\theta^{(i)})
      重复E步和M步直到收敛。
    • 停止条件:

    ||\theta^{(i+1)}-\theta^{(i)}||<\varepsilon_1||Q(\theta,\theta^{(i+1)})-Q(\theta,\theta^{(i)})||<\varepsilon_2

    三、EM求解三硬币模型

    E步:

    \mu_j^{(i+1)}= P(Z=1|Y,\theta^{(i)})=\frac{P(Y,Z|\theta^{(i)})}{P(Y|\theta^{(i)})}=\frac{P(Y|Z,\theta^{(i)})P(Z))}{P(Y|\theta^{(i)})}
           =\frac{\pi^{(i)} (p^{(i)})^{y_j}(1-p^{(i)})^{1-y_j}}{\pi^{(i)} (p^{(i)})^{y_j}(1-p^{(i)})^{1-y_j}+(1-\pi^{(i)})(q^{(i)})^{y_j}(1-q^{(i)})^{(1-y_j)} }

    P(Y,Z=1|\theta)=P(Z=1|\theta)P(Y|Z=1,\theta)=\pi p^{y_j}(1-p)^{1-y_j}

    P(Y,Z=0|\theta)=P(Z=0|\theta)P(Y|Z=0,\theta)=(1-\pi) q^{y_j}(1-q)^{1-y_j}

    代入Q(\theta,\theta^{(i)})=\sum_zP(Z|Y,\theta^{(i)})logP(Y,Z|\theta)

    M步:

    对Q求偏导得到\theta^{(i)}的估计为:

    参考:
    李航《统计学习方法》
    https://blog.csdn.net/wendaomudong_l2d4/article/details/79005461

    相关文章

      网友评论

          本文标题:EM算法

          本文链接:https://www.haomeiwen.com/subject/ldayxqtx.html