EM算法总结:从 ELBO + KL散度出发

本文的整体流程如下:

  • 第一章首先简要介绍一下EM算法的目的是为了求解带有隐变量的参数估计问题,并给出E步和M步的数学形式;
  • 第二章证明了EM算法的收敛性;
  • 第三章从ELBO+KL散度的角度,对EM算法进行推导,并给出图示以便理解EM的迭代流程;
  • 第四章通过对E步的改进,将上述的狭义EM拓展到广义的EM;
  • 第五章点明广义EM的本质其实就是坐标上升法,并提到了它的几个变种。

一、概述

假设有如下数据:

X : observed data

Z : latent variable

(X,Z) : complete data

θ \theta θ : parameter

首先我们明确一下为什么需要EM算法?从本质上来说,EM算法的目的是为了学习参数 θ \theta θ,那么MLE也是学习参数 θ \theta θ 的一个方法,为什么还需要引出EM算法呢?

这是因为数据分布 P ( X ) P(X) P(X) 有时候非常复杂,我们没办法直接通过MLE去求得令似然最大的 θ \theta θ,因此引入隐变量 Z,假定 X 是由 Z 产生的,而 Z 的分布是我们自己可以假设的,从而引入归纳偏置,简化了参数的求解。即是说,EM算法解决了概率生成模型/带有隐变量的参数估计问题。

公式表示为:
在这里插入图片描述
其中,①即为E步,②即为M步



二、收敛性证明

以下两个定理能够保证EM算法的收敛性:
在这里插入图片描述


在这里插入图片描述


这里主要证明一下定理9.1:

在这里插入图片描述




三、算法的导出

这里主要从 ELBO + KL散度的角度进行EM算法的推导:

在这里插入图片描述


下图形象解释了E步和M步的流程:

在这里插入图片描述



四、广义EM

上述的EM其实是狭义的EM:在E步中,我们令 q ( z ) = P ( z ∣ x , θ ) q(z)=P(z|x,\theta) q(z)=P(zx,θ),使得 KL散度为0,但是有时候后验 P ( z ∣ x , θ ) P(z|x,\theta) P(zx,θ)是无法求解的,因此我们只能对条件做一点松弛,即由 KL散度等于零 转变为 argmin KL(q||p),相当于argmax ELBO

因此我们将狭义EM推广到了广义的EM,其流程如下:
在这里插入图片描述

可以发现,狭义的EM其实只是广义EM的一种特例(当KL散度可以为0的时候),而广义EM其实就是变分推断的起源。



五、EM的推广

5.1 EM的本质

从广义EM我们知道,E步是固定 θ \theta θ求解q,M步是固定q求解 θ \theta θ,这里的思想其实就是坐标上升法。因此,在广义EM中,对E步和M步的顺序其实是没有要求的

5.2 EM的推广

EM更应该说是一种思想,而非某个具体的模型。在广义EM中,我们无法直接求出后验 P ( z ∣ x , θ ) P(z|x,\theta) P(zx,θ),因此只能通过变分推断或者MCMC去找到一个尽量接近后验 P ( z ∣ x , θ ) P(z|x,\theta) P(zx,θ) q ( z ) q(z) q(z)。因此EM有诸多变种,例如:

  • 基于平均场理论的变分推断的EM:VBEM/VEM
  • 基于蒙特卡洛的EM:MCEM

六、参考资料

  1. EM算法|机器学习推导系列(十二) - 简书 (jianshu.com)
  2. 带你理解EM算法_Jie Qiao的专栏-CSDN博客
  3. 《统计学习方法》
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值