Files
e2hang 77d6d22632 New
2026-02-13 19:43:10 +08:00

3.8 KiB
Raw Permalink Blame History

变分推导

变分推断Variational Inference, VI是贝叶斯近似推断方法中的一大类方法将后验推断问题巧妙地转化为优化问题进行求解相比另一大类方法马尔可夫链蒙特卡洛方法Markov Chain Monte Carlo, MCMCVI 具有更好的收敛性和可扩展性scalability更适合求解大规模近似推断问题。

引言

变分推断Variational Inference, VI是一种近似贝叶斯后验的方法通过引入变分分布 q(z) 来逼近真实后验 $p(z|x)$。

本笔记从全概率公式出发使用积分形式推导证据下界ELBO和KL散度严格避免期望符号。

假设观测数据 $x$,潜在变量 z ,联合分布 p(x,z) = p(x|z) p(z) ,变分分布 q(z) 满足 $\int q(z) , dz = 1$。

避开$p(w|x,y)=\frac{p(y|x,w)p(w)}{\int p(y|x,w)p(w)dw}$的分母积分求解

目标:最大化边缘似然 ( \log p(x) ),但积分难算,故引入变分近似。

推导

对于变分推导,我们从全概率公式开始:有

p(x) = \int p(x, z) dz = \int p(x|z)p(z)dz

我们对其用$\frac{q(z)}{q(z)}=1$重写式子,并对两边取对数

p(x) = \int \frac{p(x,z)}{q(z)}q(z)dz = \int \frac{p(x|z)p(z)}{q(z)}q(z)dz \log \space p(x) = \log \int \frac{p(x,z)}{q(z)}q(z)dz = \log \int \frac{p(x|z)p(z)}{q(z)}q(z)dz

引理Jensen不等式的积分形式 对于凹函数$\log$,对于非负函数$f(z) = \frac{p(x,z)}{q(z)} \geq 0 $,有:

\log \int f(z)q(z)dz \geq \int \log(f(z))q(z)dz

回到上式,对右侧进行变换 log \space p(x) = \log \int \frac{p(x,z)}{q(z)}q(z)dz \geq \int \log \frac{p(x,z)}{q(z)}q(z)dz = \int (\log p(x,z) - \log q(z))q(z)dz

展开上式

= \int q(z)\log p(x,z)dz - \int q(z)\log q(z)dz **$= \int q(z)\log \frac{p(x,z)}{q(z)}dz ** = \int q(z)\log p(x|z)dz + \int q(z)\log p(z)dz - \int q(z)\log q(z)dz$

我们称上式为ELBO

\mathcal L(q; x) = \int q(z)\log \frac{p(x,z)}{q(z)}dz = \int q(z)\log p(x|z)dz + \int q(z)\log p(z)dz - \int q(z)\log q(z)dz

第一项:期望重构似然 $\mathbb{E}_q [\log p(x|z)]$(拟合数据)。 第二项:期望对数先验 $\mathbb{E}_q [\log p(z)]$(贝叶斯正则)。 第三项:变分熵 $H(q) = -\int q(z) \log q(z) , dz$(鼓励分布平滑)。

整理上式得到(重要):

\log p(x) \geq \mathcal L(q; x) = \int q(z)\log \frac{p(x,z)}{q(z)}dz

将左右做差,得到

\log p(x) - \mathcal L(q; x) = \log p(x) - \int q(z)\log \frac{p(x,z)}{q(z)}dz = \int q(z) \log p(x)dz - \int q(z)\log \frac{p(x,z)}{q(z)}dz = \int q(z)\log \frac{p(x)q(z)}{p(x,z)}dz

将$p(x,z)=p(z|x)p(x)$带入得到

= \int q(z)\log \frac{q(z)}{p(z|x)}dz

定义其为KL散度记作

KL(q(z)||p(z|x)) = \log p(x) - \mathcal L(q; x) = \int q(z)\log \frac{q(z)}{p(z|x)}dz

严格性补充

  1. 关于支撑support与可积性Jensen 与对数运算要求被积函数合法。通常需要假设

    
    q(z)>0\quad\text{whenever}\quad p(x,z)>0,
    

    否则 \tfrac{p(x,z)}{q(z)} 可能发散或出现 \log 0 问题。更弱的条件是:qp(\cdot,x) 在同一支撑上且被积函数可积。

  2. 关于等号成立的条件 \log p(x)=\mathcal L(q;x) 当且仅当 $ \mathrm{KL}(q|p(\cdot|x))=0$,即 q(z)=p(z|x) 对几乎处处a.e.)成立。

  3. 符号与熵:你写的第三项 -\int q\log q 是变分熵 (H(q))。保持符号一致:有时人们把 ELBO 写为重构项 -\mathrm{E}_q[\log p(x|z)] + KL但你的形式直接展开更直观。

  4. Jensen 的前提Jensen 用在这里是因为 \log(0,\infty) 上是凹函数,所以

    
    \log\int f(z)q(z),dz \ge \int \log f(z),q(z),dz
    

    f(z)=\tfrac{p(x,z)}{q(z)}\ge0 生效前提同第1点