关于EM算法

参考论文 《The Variational Approximation for Bayesian Inference》

令观测值为 x \mathrm{x} x,代估参数值为 θ \theta θ, EM算法所想要最大化的目标函数,最大似然函数可写为:

ln ⁡ p ( x ; θ ) = F ( q , θ ) + K L ( q ∥ p ) (1) \ln p(\mathbf{x} ; \boldsymbol{\theta})=F(q, \boldsymbol{\theta})+K L(q \| p) \tag{1} lnp(x;θ)=F(q,θ)+KL(qp)(1)

  • p ( x ; θ ) p(\mathrm{x} ; \boldsymbol{\theta}) p(x;θ)强调 θ \boldsymbol{\theta} θ是一个参数,例如似然函数便是以之为变量的函数。另一方面, p ( x ∣ θ ) p(\mathbf{x} \mid \boldsymbol{\theta}) p(xθ)则强调 θ \boldsymbol{\theta} θ是一个随机变量。
  • F ( q , θ ) = ∫ q ( z ) ln ⁡ ( p ( x , z ; θ ) q ( z ) ) d z F(q, \boldsymbol{\theta})=\int q(\mathbf{z}) \ln \left(\frac{p(\mathbf{x}, \mathbf{z} ; \boldsymbol{\theta})}{q(\mathbf{z})}\right) d \mathbf{z} F(q,θ)=q(z)ln(q(z)p(x,z;θ))dz K L ( q ∥ p ) = − ∫ q ( z ) ln ⁡ ( p ( z ∣ x ; θ ) q ( z ) ) d z \mathrm{KL}(q \| p)=-\int q(\mathrm{z}) \ln \left(\frac{p(\mathrm{z} \mid \mathrm{x} ; \boldsymbol{\theta})}{q(\mathrm{z})}\right) d \mathrm{z} KL(qp)=q(z)ln(q(z)p(zx;θ))dz. 因此(1)式的成立就简单地遵循了 p ( A ) = p ( A , B ) − p ( B ∣ A ) p(A) = p(A,B) - p(B|A) p(A)=p(A,B)p(BA)这一条件概率规则。其中,KL也就是著名的KL散度 ( q ( z ) q(z) q(z) p ( z ∣ x ; θ ) p(\mathrm{z} \mid \mathrm{x} ; \boldsymbol{\theta}) p(zx;θ)之间)。
  • 此处, z \mathbf{z} z是所谓的隐变量,也可以理解为用于求解最大似然问题的人工辅助变量。 q ( z ) q(\mathbf{z}) q(z)是任意的概率密度函数。 对于EM算法, z \mathbf{z} z q ( z ) q(\mathbf{z}) q(z)往往有对应的物理意义。但这里我们并不care,只从纯数学的角度理解。

关于KL散度的介绍推介看这篇 传送门,其中,通过Jensen’s不等式可以证明KL散度非负,即 K L ( q ∥ p ) ≥ 0 \mathrm{KL}(q \| p) \geq 0 KL(qp)0,因此:
ln ⁡ p ( x ; θ ) ≥ F ( q , θ ) (2) \ln p(\mathbf{x} ; \boldsymbol{\theta}) \geq F(q, \boldsymbol{\theta}) \tag{2} lnp(x;θ)F(q,θ)(2)
也就是说,(2)找到了最大似然函数的一个下界。因此,以EM算法为代表的许多贝叶斯推断都是在最大化该下界, 也即 F ( q , θ ) F(q, \boldsymbol{\theta}) F(q,θ)

具体而言, EM算法是一个两步法对下界 F ( q , θ ) F(q, \boldsymbol{\theta}) F(q,θ)最大化, 从而最大化似然函数:

  • E-step:首先将 θ \boldsymbol{\theta} θ固定为 θ O L D \boldsymbol{\theta}^{\mathrm{OLD}} θOLD,优化 q q q来最大化 F ( q , θ ) F(q, \boldsymbol{\theta}) F(q,θ)。注意到,给定 θ \boldsymbol{\theta} θ ln ⁡ p ( x ; θ ) \ln p(\mathbf{x} ; \boldsymbol{\theta}) lnp(x;θ)就确定了,因此根据(1), 最大化 F ( q , θ ) F(q, \boldsymbol{\theta}) F(q,θ)等价于最小化 K L ( q ∥ p ) K L(q \| p) KL(qp), 而厚泽非负。 当且仅当 q ( z ) = p ( z ∣ x ; θ O L D ) q(\mathbf{z})=p\left(\mathbf{z} \mid \mathbf{x} ; \boldsymbol{\theta}^{\mathrm{OLD}}\right) q(z)=p(zx;θOLD),取到最小值 0 0 0。此时, F ( q , θ O L D ) F(q, \boldsymbol{\theta}^{\mathrm{OLD}}) F(q,θOLD) = ln ⁡ p ( x ; θ O L D ) \ln p(\mathbf{x} ; \boldsymbol{\theta}^{\mathrm{OLD}}) lnp(x;θOLD)为最大值。
  • M-step: 将 q q q固定, 优化 θ \boldsymbol{\theta} θ来最大化 F ( q , θ ) F(q, \boldsymbol{\theta}) F(q,θ)。假定得到的最优解为 θ N E W \boldsymbol{\theta}^{\mathrm{NEW}} θNEW,那么对于固定的 q q q,显然KL散度不再为 0 0 0。也就是说, θ N E W \boldsymbol{\theta}^{\mathrm{NEW}} θNEW不仅最大化了 F ( q , θ ) F(q, \boldsymbol{\theta}) F(q,θ),也让我们的目标 ln ⁡ p ( x ; θ ) \ln p(\mathbf{x} ; \boldsymbol{\theta}) lnp(x;θ)得到了更大的提升。 注意到,由于在E-step中有 q ( z ) = p ( z ∣ x ; θ O L D ) q(\mathbf{z})=p\left(\mathbf{z} \mid \mathbf{x} ; \boldsymbol{\theta}^{\mathrm{OLD}}\right) q(z)=p(zx;θOLD), 因此在M-step中的优化为:
    F ( q , θ ) = ∫ p ( z ∣ x ; θ O L D ) ln ⁡ p ( x , z ; θ ) d z − ∫ p ( z ∣ x ; θ O L D ) ln ⁡ p ( z ∣ x ; θ O L D ) d z \begin{aligned} F(q, \boldsymbol{\theta})=& \int p\left(\mathbf{z} \mid \mathbf{x} ; \boldsymbol{\theta}^{\mathrm{OLD}}\right) \ln p(\mathbf{x}, \mathbf{z} ; \boldsymbol{\theta}) d \mathbf{z} \\ &-\int p\left(\mathbf{z} \mid \mathbf{x} ; \boldsymbol{\theta}^{\mathrm{OLD}}\right) \ln p\left(\mathbf{z} \mid \mathbf{x} ; \boldsymbol{\theta}^{\mathrm{OLD}}\right) d \mathbf{z} \end{aligned} F(q,θ)=p(zx;θOLD)lnp(x,z;θ)dzp(zx;θOLD)lnp(zx;θOLD)dz
    而后一项是与 θ \boldsymbol{\theta} θ无关的常数项。 因此记:
    Q ( θ , θ O L D ) = ∫ p ( z ∣ x ; θ O L D ) ln ⁡ p ( x , z ; θ ) d z Q\left(\boldsymbol{\theta}, \boldsymbol{\theta}^{\mathrm{OLD}}\right)=\int p\left(\mathbf{z} \mid \mathbf{x} ; \boldsymbol{\theta}^{\mathrm{OLD}}\right) \ln p(\mathbf{x}, \mathbf{z} ; \boldsymbol{\theta}) d \mathbf{z} Q(θ,θOLD)=p(zx;θOLD)lnp(x,z;θ)dz

EM算法就可以被总结为:
在这里插入图片描述

推荐大家可以看下两个实例,再结合数学公式深入理解EM算法。 https://zhuanlan.zhihu.com/p/36331115
我个人觉得一个最好的例子就是K-means算法。 E步骤相当于给定质心的情况下,对数据进行聚类。M步骤相当于分类结束的情况下,根据每类的数据对质心进行更新。 隐函数 z z z就代表类别,变量 θ \boldsymbol{\theta} θ包括了每类的质心参数。

EM算法的核心在于, 原始的最大似然算法需求 p ( x ; θ ) p(\mathrm{x} ; \boldsymbol{\theta}) p(x;θ)的信息, 而EM算法中需求的是 p ( z ∣ x ; θ ) p(\mathbf{z} \mid \mathbf{x} ; \boldsymbol{\theta}) p(zx;θ)的信息,后者在许多时候可能比前者容易获得。但在一些场景中却并不如此,也导致无法使用EM算法。此时, 变分贝叶斯方法是一种更好的算法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

B417科研笔记

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

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

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

打赏作者

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

抵扣说明:

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

余额充值