统计学习 EM算法应用-三硬币模型
【问题描述】
假设有三枚硬币,分别记为A、B、C。这些硬币正面的概率分别为π,p,q,进行如下的抛硬币实验:先掷硬币A,根据其结果选出硬币B或者硬币C,正面选硬币B,反面选硬币C,然后掷选出的硬币,掷硬币的记过,出现正面记作1,出现反面记作0,独立地重复n次实验(这里n=10),然后观测结果如下:
1,1,0,1,0,0,1,0,1,1
假设只能观测到掷硬币的结果,不能观测掷硬币的过程,问如何估计三硬币正面出现的概率,即三硬币模型的参数π,p,q。
设定Z隐变量表示硬币来自B或者来自C 那么三硬币模型表示为:
即:
随机变量y表示观测的结果即正面朝上1 或者背面朝上0
隐变量z表示该硬币来自于B或者来自于C
则观测数据的似然函数为:
该问题为连续独立重复实验,似然表达式为:
极大似然估计:
可以看到该对数无法展开(还包含相加项)
【迭代法】
EM算法,首先预估一个模型参数,然后依据模型参数计算隐变量Z的概率分布,下一步根据隐变量,利用最大似然估计迭代计算模型的参数,不断重复,知道模型参数几乎不再变化,完成收敛。
从第i步到第i+1步迭代计算过程:
E步:根据第i步的计算出的模型参数 计算出现观测数据
,它来自硬币B的条件概率
(注意i表示迭代序号,j表示第几个数据)
根据条件概率计算公式: P(来自硬币B | 观测数据)=P(观测数据
并且来自B)/P(观测数据
)
M步:重新计算模型参数
硬币A正面朝上的概率等于各次独立重复实验来自于B硬币概率的期望
硬币B正面朝上的概率等于=P(正面朝上并且是硬币B的联合概率)/P(来自硬币B的概率)
硬币C正面朝上的概率等于=P(正面朝上并且是硬币C的联合概率)/P(来自硬币C的概率)
【EM算法迭代计算过程】
观测随机变量的数据:Y
观测随机变量的隐含数据: Z
完全数据: Y和Z
不完全数据的似然函数:
对数似然函数:
完全数据的联合概率分布:
完全数据的似然函数:
算法流程:
输入:观测随机变量Y ,隐数据Z ,联合概率分布 条件概率分布
输出:模型参数
(1)设定模型的初始参数
(2)E步:记为第i步迭代计算的模型参数值,计算出Z的概率分布
(3)M步:根据Z的期望,求解新的
(4)重复23直到收敛
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
