【EM算法】算法及注解

EM算法又称期望极大算法,是一种迭代算法,每次迭代由两步组成:E步,求期望(expectation);M步,求极大(maximization)。

算法背景

如果概率模型的变量都是观测变量,那么可以直接用极大似然估计法,或贝叶斯估计法估计模型参数。但是,当模型含有隐变量时,就需要考虑EM算法,EM算法是含有隐变量的概率模型参数的极大似然估计法。

EM算法

输入:观测变量数据Y,隐变量数据Z,联合分布P(Y,Z | \theta ),条件分布P( Z| Y,\theta )

输出:模型参数\theta

1.选择参数的初值$\theta^{(0)}$,开始迭代;

EM算法对初值敏感

2.E步:记$\theta^{(i)}$为第$i$ 次迭代参数$\theta$的估计值,在第$i+1$次迭代的E步,计算

Q(\theta,\theta^{(i)})=E_Z[\log P(Y,Z|\theta)|Y,\theta^{(i)}]
=\sum_{Z}\log P(Y,Z|\theta)P(Z|Y,\theta^{(i)})

$P(Z|Y,\theta^{(i)})$ 是在给定观测数据$Y$和当前的参数估计$\theta^{(i)}$下隐变量数据$Z$的条件概率分布

$Q(\theta,\theta^{(i)})$是完全数据的对数似然函数P(Y,Z | \theta )关于在给定观测数据$Y$和当前的参数估计$\theta^{(i)}$下隐变量数据$Z$的条件概率分布$P(Z|Y,\theta^{(i)})$的期望。

其中,$Q(\theta,\theta^{(i)})$第一个变元\theta是要极大化的参数,第二个变元$\theta^{(i)}$是参数的当前估计。

3.M步:求使$Q(\theta,\theta^{(i)})$极大化的$\theta$,确定第$i+1$ 次迭代的参数的估计值 $\theta^{(i+1)}$


\theta^{(i+1)}=\arg\max_\theta Q(\theta,\theta^{(i)})

每次迭代$\theta^{(i)}\to\theta^{(i+1)}$使似然函数增大或达到局部极值

4.重复第2步和第3步,直到收敛。

收敛条件通常为:\|\theta^{(i+1)}-\theta^{(i)}\|<\varepsilon_1\quad\quad\|Q(\theta^{(i+1)},\theta^{(i)})-Q(\theta^{(i)},\theta^{(i)})\|<\varepsilon_2

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 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、付费专栏及课程。

余额充值