EM算法-三硬币模型的推导

来源:互联网 发布:tcl王牌液晶网络电视32 编辑:程序博客网 时间:2024/05/22 20:29

来自《统计学习方法》-李航这本书。

书中并没有讲三硬币模型的三个参数迭代公式是怎么来的,这儿我们来推导一下,有助于理解:

   假设有三枚硬币,分别记作A,B,C,这些硬币正出现的概率分别是a,b,c,进行如下的投硬币实验,先投A,如果是正面选择B投,否则选择C投,出面正面记为1,反而记为0,独立重复n次试验,可以得到一个观测序列:1101001011.....,假设我们只能观测到投硬币的结果,不能观测投硬币的过程,问如何估计三硬币的正面出现的概率,即三个硬币的参数a,b,c。

解答:

三硬币模型可以写作

其中y是指一次观测的结果,而z是隐变量,表示未观测到的A硬币的结果,theta=(a,b,c)是模型的参数。如果将观测数据表示为Y=(Y1,Y2,...,Yn),未观测数据表示为Z=(Z1,Z2,...,Zn),那么观测数据的似然函数为:


为了求模型的极大似然估计,即


这个问题没有解析解,只有通过迭代的方法。下面给出以上问题的EM算法,书中并没有给出三个迭代公式的推导,这里我们来推导一下:

EM算法首先选择theta的初始分布,然后分为两步进行迭代:

1、E步:

这一步假设我们知道隐含数据的值,这个问题的隐含数据其实只有两种,对应于A的投掷结果要么是正面,要么是反面。对于每个观测数据分别计算这两种情况A的后验概率,公式可以参考书中的公式。

上面A的后验计算出来后,我们再来表示一下似然的期望值:


这里ui代表的是第i个观测值yi来自于A投出正面的概率。

2、M步:

极大化上面的L,把L分别对a,b,c求导:


c的推导省略。

原创粉丝点击