【EM算法】三硬币模型

【EM算法】算法及注解

三硬币模型是EM算法运用的一个经典例子

EM算法:

1.选择初值

2.E步求期望

3.M步求极大

4.迭代至收敛

三硬币模型

3枚硬币分别记作A、B、C,这些硬币正面出现的概率分别是\pipq。进行如下掷硬币试验:先掷硬币 A,根据其结果选出硬币B 或硬币C,正面选硬币B,反面选硬币C;然后掷选出的硬币,掷硬币的结果,出现正面记作1,出现反面记作0;独立地重复n次试验(这里取n= 10),观测结果为:{1,1,0,1,0,0,1,0,1,1}

假设只能观测到掷硬币的结果,不能观测掷硬币的过程。问如何估计参数\pipq

目的是估计模型参数,自然地考量到极大似然估计方法

极大似然估计方法

三硬币模型可以写作:

P(y|\theta)=\sum_zP(y,z|\theta)=\sum_zP(z|\theta)P(y|z,\theta)=\pi p^y(1-p)^{1-y}+(1-\pi)q^y(1-q)^{1-y}

$y$:观测变量,表示一次试验观测的结果是 1 或 0

$z$:隐变量(不可观测变量),表示未观测到的掷硬币 A 的结果

$\theta=(\pi,p,q)$:模型参数

将观测数据表示为$Y=(Y_1,Y_2,\cdots,Y_n)^{\mathrm{T}}$,未观测数据表示为$Z=(Z_1,Z_2,\cdots,Z_n)^{\mathrm{T}}$则观测数据的似然函数为

$P(Y|\theta)=\sum_{Z}P(Z|\theta)P(Y|Z,\theta)$

展开得


P(Y|\theta)=\prod_{j=1}^n[\pi p^{y_j}(1-p)^{1-y_j}+(1-\pi)q^{y_j}(1-q)^{1-y_j}]

考虑求模型参数$\theta=(\pi,p,q)$的极大似然估计,即

$\hat{\theta}=\arg\operatorname*{max}_{\theta}\log P(Y|\theta)$

实际上,这个问题没有解析解,只有通过迭代的方法求解。EM 算法就是可以用于求解这个问题的一种迭代算法。换句话说,EM算法是求解含有隐变量的概率模型参数的极大似然估计法。

EM方法

首先选取参数的初值,记作 $\theta^{(0)}=(\pi^{(0)},p^{(0)},q^{(0)})$

然后通过E步和M步迭代计算参数的估计值。第$i$次迭代参数的估计值为\theta^{(i)}=$ $(\pi^{(i)},p^{(i)},q^{(i)})。EM 算法的第$i+1$次迭代如下:

E 步:计算在模型参数 $\pi^{(i)},p^{(i)},q^{(i)}$下观测数据$y_j$来自掷硬币 B 的概率

$\mu_{j}^{(i+1)}=\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}}}$

M 步:计算模型参数的新估计值

$\pi^{(i+1)}=\frac{1}{n}\sum_{j=1}^{n}\mu_{j}^{(i+1)}$

p^{(i+1)}=\frac{\sum_{j=1}^n\mu_j^{(i+1)}y_j}{\sum_{j=1}^n\mu_j^{(i+1)}}
q^{(i+1)}=\frac{\sum_{j=1}^n(1-\mu_j^{(i+1)})y_j}{\sum_{j=1}^n(1-\mu_j^{(i+1)})}

进行数值计算。假设模型参数的初值取为

\pi^{(0)}=0.5,\quad p^{(0)}=0.5,\quad q^{(0)}=0.5

依据E步公式,对$y_j=1$$y_j=0$均有$\mu_j^{(1)}=0.5$

依据M步公式, 得到

\pi^{(1)}=0.5,\quad p^{(1)}=0.6,\quad q^{(1)}=0.6

再依据E步公式,得到

\mu_j^{(2)}=0.5,\quad j=1,2,\cdots,10

再依据M步公式, 得到

\pi^{(2)}=0.5,\quad p^{(2)}=0.6,\quad q^{(2)}=0.6

两次迭代结果一致,这时已经满足收敛条件

于是得到模型参数$\theta$的极大似然估计

$\hat{\pi}=0.5,\quad\hat{p}=0.6,\quad\hat{q}=0.6$

$\pi=0.5$表示硬币 A 是均匀的,这一结果容易理解

EM算法对初值敏感:

如果取初值\pi^{(0)}=0.4,\:p^{(0)}=0.6,\:q^{(0)}=0.7, 那么得到的模型参数的极大似然估计是$\hat{\pi}=0.4064,\quad\hat{p}=0.5368,\quad\hat{q}=0.6432$

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

F_D_Z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值