zedgraph 两点之间值_谈谈Variational inference和EM算法之间的关系

Variational inference (变分推断,以下简称VI)和Expectation maximization(期望极大化,以下简称EM)这两种算法实际上是密切相关的。实际上我们可以将EM看作VI的特殊形式。

以下首先简要谈一谈为什么需要这些方法,这些方法被用于解决什么问题(motivation),之后从First principle出发推导VI,然后看看为什么说EM是VI的特殊形式。


1 Motivation

对于

,我们有
如果我们想根据
推测隐变量
的概率,我们就需要计算如下的积分:
。然而
有时难以计算,尤其是对于高维的系统,因为高维系统里面的积分复杂度很高。
因此我们需要发展一种更加方便的方法来近似表达
。VI就是用函数
来近似表达

2 Method

2.1 Jensen's inequality

对于任何的凸函数(convex function)

,我们都有
。Fig 1是一个直观的特例,当自变量
的分布是在
两点的均匀分布的时候,从图中可以明显看出
。Jensen's inequality
取等号的条件是
,即
是一个常数。

caf96a55d8110b41d303cbeeb5869355.png
Fig 1. 一个凸函数以及E[(f(X))]和f[E(X)]的取值比较,这里X的分布是在a和b两点的均匀分布 (图片来自于Andrew Ng的讲义,见Reference & Acknowledgement)

由于

是一个凹函数,即
是一个凸函数,所以满足
,取等号的条件是自变量
是一个常数。
之后我们要用到有关
的这些性质。

2.2 KL divergence & ELBO

先证明一个数学结论:对于任意的概率

是变量,
是参数),
(这里
是某个关于
的概率密度函数),我们有

其中的不等号来自于Jensen's inequality应用在凹函数

上的结论。由此我们知道,
对于上面的式子取等号的条件是
(也就是说在给定
的情况下二者的比例是一个常数,无论
取什么值),所以取等号的时候
(这是由于
是概率密度,因此满足归一化条件)。
由此我们可以定义KL divergence(记为
)和Evidence Lower BOund(简称为ELBO,记为
):

由此可见KL divergence一定非负,而ELBO是

的下界。
KL divergence最小的时候等于0,此时
,这是根据Jensen不等式取等号的条件得出的。并且KL divergence越小,
越接近
。减小KL divergence等价于增大ELBO,因为我们要优化的目标函数是
,而
可以看作给定的量。

由此我们得到一个重要的结论:优化

来增大ELBO等价于优化
来逼近

以下我们通过极大化ELBO,从而训练得到一个好的函数

来近似表达
我们可以将ELBO的形式等价变换一下,得到另一种等价形式:

其中

是著名的Gibbs entropy。

*2.2.1 题外话——KL divergence和统计物理的一些联系

值得注意的是,KL divergence可以在统计物理里面找到对应的物理量,例如在这篇文章中:

Boltzmann generators: Sampling equilibrium states of many-body systems with deep learning​science.sciencemag.org
e3dfc4c2626c526dbd03d1b8e5bf62ca.png

作者利用KL divergence训练出了一个生成模型,从而可以按照Boltzmann分布产生sample。其中训练是通过minimize KL divergence完成的。可以证明在这篇文章的物理背景下,KL divergence等价于free energy(二者差一个常数),因此极小化KL divergence等价于极小化free energy,而在统计物理上可以严格证明极小化free energy等价于Boltzmann distribution,因此从物理原理上,极小化KL divergence应当得到Boltzmann distribution。这是一个很好的例子,说明了机器学习和统计物理之间的一些联系。

2.3 Variational Inference

在实际操作中,首先我们有已经观察到的

个数据点
,我们需要通过优化
来极大化ELBO,即对于每个数据点
,我们希望得到函数
。每个
对应的ELBO是

我们的目标是极大化

注意到对于不同的

,我们选取的函数形式
不同,因为
不同的时候是不同的关于
的函数。一般来说,通过选取合适的、简单的
的形式,例如exponential family,
可以解析地计算出来;对于
则需要用stochastic optimization进行极大化,从而优化函数
(也就是优化函数
的表达式里面包含的参数)。总结一下,
VI就是通过选取一些形式简单的、具有良好性质的函数
来近似表达
,具体的操作方法是极大化ELBO。

2.4 Expectation Maximization

EM实际上可以看作一个简化的VI(通过一定的适用条件和一个类似于“作弊”的方法来简化计算)。EM的适用条件是函数

的形式不太复杂,我们可以显式地表达出
的时候。从适用条件上来看EM就是VI的一个特例。
回忆第1节Motivation中我们说过,有时候
难以计算,所以难以直接写出
的具体形式。
而EM就是适用于
不难计算的情况,此时我们可以直接写出
的具体形式。

当函数

的形式不太复杂的时候,我们自然会选择
来训练,因此我们可以说,EM就是选取
的VI,这和EM的适用条件是自洽的。
以下首先写出EM的算法,然后指出其中关键的“作弊”一步在哪里。

EM Algorithm

BEGIN

我们有

个数据点
,并且我们有函数
的表达式。

Step 0,初始化:初始随机猜测参数

Step 1, E-step:在第

步的时候
,计算

Step2, M-step: 按照如下规则得到新的参数

Step3, 重复 Step 1 & 2(迭代)直到收敛。

END

其中关键的“作弊”步骤是Step2,因为严格来说我们应该这样计算

也就是将

替换成
后maximize ELBO。但是
实际上这个算法却是这么做的

也就是将ELBO表达式中的某几个

固定在了
的值(其中
是第
次优化得到的参数),只优化其余位置的
值,从而使得极大化算法更加简便
同时通过迭代方法确保最后能收敛到一个local maximum。由于
相当于常数,因此
相当于常数项,在极大化的时候可以去掉,由此我们可以得到

并且通过迭代求解找到 local maximum。


3 Reference & Acknowledgement

Expectation Maximization and Variational Inference (Part 1)​chrischoy.github.io
3642c0ccf4cc7dc53167e09ea9f7b808.png
http://cs229.stanford.edu/notes/cs229-notes8.pdf​cs229.stanford.edu

感谢戴望之的讨论,尤其是指出VI和EM之间相关性的讨论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值