EM算法

EM算法是处理有隐变量的情况下使用的方法
函数g(x)的数学期望可以表示为:
在这里插入图片描述
EM算法思想:
1:先给定一个初始的 θ \theta θ求出f(x)函数的期望Ef(x),
2:然后再求出使得期望最大化的新的 θ \theta θ
在这里插入图片描述
步骤:

  1. 建立对数目标似然函数
    L ( θ ) = ∑ i = 1 log ⁡ p ( x ∣ θ ) L(\theta)=\sum_{i=1}\log p(x|\theta) L(θ)=i=1logp(xθ)
    这里 表 示 样 本 x 服 从 概 率 为 p ( x ) 的 某 种 分 布 , θ 为 分 布 的 参 数 表示样本x服从概率为p(x)的某种分布,\theta为分布的参数 xp(x)θ

  2. 当目标函数不能直接求解,依赖于隐含变量时,我们引入隐含变量,目标函数变为:
    L ( θ ) = ∑ i = 1 log ⁡ ∑ z p ( x , z ∣ θ ) L(\theta)=\displaystyle \sum_{i=1} \log \sum_z p(x,z|\theta) L(θ)=i=1logzp(x,zθ)

  3. 分子分母同时乘以z的分布 Q ( z ) Q(z) Q(z),构造Jensen不等式
    L ( θ ) = ∑ i = 1 log ⁡ ∑ z Q ( z ) p ( x , z ∣ θ ) Q ( z ) L(\theta)=\displaystyle \sum_{i=1} \log \sum_z Q(z) \frac{p(x,z| \theta)}{Q(z)} L(θ)=i=1logzQ(z)Q(z)p(x,zθ)

  4. 应用Jensen不等式:因为log函数是凹函数,所以有 f ( E x ) ≥ E f ( x ) f(Ex)\geq Ef(x) f(Ex)Ef(x)
    L ( θ ) = ∑ i = 1 log ⁡ ∑ z Q ( z ) p ( x , z ∣ θ ) Q ( z ) ≥ ∑ i = 1 ∑ z Q ( z ) log ⁡ p ( x , z ∣ θ ) Q ( z ) L(\theta)=\displaystyle \sum_{i=1} \log \sum_z Q(z) \frac{p(x,z| \theta)}{Q(z)} \geq \displaystyle \sum_{i=1} \sum_z Q(z)\log \frac{p(x,z| \theta)}{Q(z)} L(θ)=i=1logzQ(z)Q(z)p(x,zθ)i=1zQ(z)logQ(z)p(x,zθ)
    也就是说 E f ( x ) 是 f ( E x ) 的 下 界 函 数 Ef(x)是f(Ex)的下界函数 Ef(x)f(Ex)

  5. 如果能够取到两边相等,要求 p ( x , z ∣ θ ) Q ( z ) = C \displaystyle \frac{p(x,z| \theta)}{Q(z)}=C Q(z)p(x,zθ)=C,也就是 Q ( z ) = 1 C p ( x , z ∣ θ ) Q(z)=\displaystyle\frac{1}{C}p(x,z| \theta) Q(z)=C1p(x,zθ),两边对 z 求 积 分 有 z求积分有 z
    ∫ z Q ( z ) d z = ∫ z 1 C p ( x , z ∣ θ ) d z \int_z Q(z)dz=\int_z \displaystyle\frac{1}{C}p(x,z| \theta)dz zQ(z)dz=zC1p(x,zθ)dz,
    整理有:
    1 = 1 C ∫ z p ( x , z ∣ θ ) d z = 1 C p ( x ∣ θ ) 1=\displaystyle\frac{1}{C}\int_z p(x,z| \theta)dz=\displaystyle\frac{1}{C}p(x| \theta) 1=C1zp(x,zθ)dz=C1p(xθ)
    C = p ( x ∣ θ ) C=p(x| \theta) C=p(xθ)
    带入原不等式函数有
    p ( x , z ∣ θ ) Q ( z ) = C \displaystyle \frac{p(x,z| \theta)}{Q(z)}=C Q(z)p(x,zθ)=C
    p ( x , z ∣ θ ) Q ( z ) = p ( x ∣ θ ) \displaystyle \frac{p(x,z| \theta)}{Q(z)}=p(x| \theta) Q(z)p(x,zθ)=p(xθ)
    p ( x , z ∣ θ ) p ( x ∣ θ ) = Q ( z ) \displaystyle \frac{p(x,z| \theta)}{p(x| \theta)}=Q(z) p(xθ)p(x,zθ)=Q(z)
    p ( z ∣ x , θ ) = Q ( z ) , 可 以 看 出 Q ( z ) 等 于 后 验 \displaystyle p(z |x,\theta)=Q(z) ,可以看出Q(z)等于后验 p(zx,θ)=Q(z)Q(z)

EM算法步骤:

r e p e a t   u n t i l 收 敛 : { repeat \ until 收敛:\{ repeat until:{
{ \{ {
E 步 骤 : Q z = p ( z ∣ x , θ t ) E 步骤:Q_z =p(z |x,\theta^t) E:Qz=p(zx,θt)
M 步 骤 : θ t + 1 = a r g m a x ∑ i = 1 ∑ z Q ( z ) log ⁡ p ( x , z ∣ θ t + 1 ) Q ( z ) M 步骤:\theta^{t+1} =argmax\displaystyle \sum_{i=1} \sum_z Q(z)\log \frac{p(x,z| \theta^{t+1})}{Q(z)} M:θt+1=argmaxi=1zQ(z)logQ(z)p(x,zθt+1)
θ t + 1 = a r g m a x ∑ i = 1 ∑ z Q ( z ) ( log ⁡ p ( x , z ∣ θ t + 1 ) − log ⁡ Q ( z ) ) \theta^{t+1} =argmax\displaystyle \sum_{i=1} \sum_z Q(z)(\log p(x,z| \theta^{t+1})-\log Q(z)) θt+1=argmaxi=1zQ(z)(logp(x,zθt+1)logQ(z))
因为 Q ( Z ) 对 于 求 θ t + 1 无 关 , 所 以 原 式 可 以 写 做 : Q(Z)对于求\theta^{t+1}无关,所以原式可以写做: Q(Z)θt+1
θ t + 1 = a r g m a x ∑ i = 1 ∑ z Q ( z ) log ⁡ p ( x , z ∣ θ t + 1 ) \theta^{t+1} =argmax\displaystyle \sum_{i=1} \sum_z Q(z)\log p(x,z| \theta^{t+1}) θt+1=argmaxi=1zQ(z)logp(x,zθt+1)
θ t + 1 = a r g m a x ∑ i = 1 ∑ z p ( z ∣ x , θ t ) log ⁡ p ( x , z ∣ θ t + 1 ) \theta^{t+1} =argmax\displaystyle \sum_{i=1} \sum_z p(z |x,\theta^t)\log p(x,z| \theta^{t+1}) θt+1=argmaxi=1zp(zx,θt)logp(x,zθt+1)
} \} }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值