机器学习笔记之变分推断——基于平均场假设的公式推导过程
引言
上一节介绍了分别从频率角度和贝叶斯角度认识机器学习问题,并介绍了推断(Inference)在整个贝叶斯角度的重要作用。本节将正式介绍确定性近似推断的代表方法——变分推断(Variational Inference)
提示:本节推导过程与EM算法部分存在相似之处,请对比食用,谢谢。
回顾:推断与变分推断
关于从贝叶斯角度认识问题,本质上是给定样本集合 X \mathcal X X,针对陌生数据 x ^ \hat x x^的预测问题,即 P ( x ^ ∣ X ) P(\hat x \mid \mathcal X) P(x^∣X)。
基于上述逻辑,贝叶斯角度的具体做法是:针对样本集合 X \mathcal X X构建模型,通过模型参数 θ \theta θ作为样本集合 X \mathcal X X与陌生数据 x ^ \hat x x^之间构建关系的桥梁,将 P ( x ^ ∣ X ) P(\hat x \mid \mathcal X) P(x^∣X)表示为如下形式:
P ( x ^ ∣ X ) = ∫ θ P ( x ^ , θ ∣ X ) d θ = ∫ θ P ( x ^ ∣ θ ) ⋅ P ( θ ∣ X ) d θ \begin{aligned} P(\hat x \mid \mathcal X) & = \int_{\theta} P(\hat x ,\theta \mid \mathcal X) d\theta \\ & = \int_{\theta} P(\hat x \mid \theta) \cdot P(\theta \mid \mathcal X)d\theta \end{aligned} P(x^∣X)=∫θP(x^,θ∣X)dθ=∫θP(x^∣θ)⋅P(θ∣X)dθ
基于上述公式,使用贝叶斯定理求解 P ( θ ∣ X ) P(\theta \mid \mathcal X) P(θ∣X):
P ( θ ∣ X ) = P ( X ∣ θ ) ⋅ P ( θ ) P ( X ) \begin{aligned} P(\theta \mid \mathcal X) & = \frac{P(\mathcal X \mid \theta) \cdot P(\theta)}{P(\mathcal X)} \end{aligned} P(θ∣X)=P(X)P(X∣θ)⋅P(θ)
至此,关于求解 P ( θ ∣ X ) P(\theta \mid \mathcal X) P(θ∣X)的过程称为推断;
关于样本数据的边缘概率分布 P ( X ) P(\mathcal X) P(X)可看成一个积分操作:
引入‘隐变量’。
P ( X ) = ∫ Z P ( X ∣ Z ) ⋅ P ( Z ) d Z = ∫ z 1 ⋯ ∫ z K P ( X ∣ Z ) ⋅ P ( Z ) d z , ⋯ , z K \begin{aligned} P(\mathcal X) & = \int_{\mathcal Z} P(\mathcal X \mid \mathcal Z) \cdot P(\mathcal Z)d\mathcal Z \\ & = \int_{z_1} \cdots \int_{z_{\mathcal K}} P(\mathcal X \mid \mathcal Z) \cdot P(\mathcal Z) d z_,\cdots,z_{\mathcal K} \end{aligned} P(X)=∫ZP(X∣Z)⋅P(Z)dZ=∫z1⋯∫zKP(X∣Z)⋅P(Z)dz,⋯,zK
如果引入的隐变量 Z = ( z 1 , ⋯ , z K ) T \mathcal Z = (z_1,\cdots,z_{\mathcal K})^{T} Z=(z1,⋯,zK)T中的维度 K \mathcal K K过高,导致 P ( X ) P(\mathcal X) P(X)积分困难,最终使得 P ( θ ∣ X ) P(\theta \mid \mathcal X) P(θ∣X)无法求解。
因此,需要使用一些方法近似求解 P ( θ ∣ X ) P(\theta \mid \mathcal X) P(θ∣X)。而变分推断(Variational Inference,VI)就是 近似推断中,确定性近似的代表方法。
变分推断:公式推导过程
近似推断(Approximate Inference)的核心观点是针对 ∫ Z P ( X ∣ Z ) ⋅ P ( Z ) d Z \int_{\mathcal Z} P(\mathcal X \mid Z) \cdot P(\mathcal Z)d\mathcal Z ∫ZP(X∣Z)⋅P(Z)dZ积分困难的问题,通过找出一个关于隐变量 Z \mathcal Z Z的概率分布 Q ( Z ) \mathcal Q(\mathcal Z) Q(Z)去逼近后验概率分布 P ( Z ∣ X ) P(\mathcal Z \mid \mathcal X) P(Z∣X)。即:
Q ( Z ) ≈ P ( Z ∣ X ) \mathcal Q(\mathcal Z) \approx P(\mathcal Z \mid \mathcal X) Q(Z)≈P(Z∣X)
这里定义:
- X \mathcal X X为观测变量(Observed Data),即真实的样本数据;
- Z \mathcal Z Z表示 隐变量(Latent Data)和 模型参数(Parameter)的统称。
因为‘隐变量’本身就不真实存在,它只是一个‘表达’概率模型的中间环节。因此,‘隐变量 + 模型参数’合并在一起是合理的。
该定义与EM算法中的定义式略有区分的,EM算法中,隐变量是隐变量,参数是参数。
- 依然将联合概率分布 ( X , Z ) (\mathcal X,\mathcal Z) (X,Z)称作 完整数据(Complete Data)。
初始转化过程
在EM算法中,底层逻辑是使用极大似然估计(Maximum Likelihood Estimate,MLE)进行求解,并且求解的是模型参数 θ \theta θ;
在变分推断求解过程中,模型参数 θ \theta θ合并进隐变量 Z \mathcal Z Z中。这里依然从概率模型 P ( X ) P(\mathcal X) P(X)入手,执行推导过程:
条件概率公式~为方便推导过程,依然保留‘log函数’。
log P ( X ) = log [ P ( X , Z ) P ( Z ∣ X ) ] = log P ( X , Z ) − log P ( Z ∣ X ) \begin{aligned} \log P(\mathcal X) & = \log \left[\frac{P(\mathcal X,\mathcal Z)}{P(\mathcal Z \mid \mathcal X)}\right] \\ & = \log P(\mathcal X,\mathcal Z) - \log P(\mathcal Z \mid \mathcal X) \end{aligned} logP(X)=log[P(Z∣X)P(X,Z)]=logP(X,Z)−logP(Z∣X)
-
和EM算法推导思路相同,引入一个关于隐变量的概率分布 Q ( Z ) \mathcal Q(\mathcal Z) Q(Z)。则有:
log P ( X ) = [ log P ( X , Z ) − log Q ( Z ) ] − [ log P ( Z ∣ X ) − log Q ( Z ) ] = log [ P ( X , Z ) Q ( Z ) ] − log [ P ( Z ∣ X ) Q ( Z ) ] \begin{aligned} \log P(\mathcal X) & = \left[\log P(\mathcal X,\mathcal Z) - \log \mathcal Q(\mathcal Z)\right] - \left[\log P(\mathcal Z \mid \mathcal X) - \log \mathcal Q(\mathcal Z)\right] \\ & = \log \left[\frac{P(\mathcal X,\mathcal Z)}{\mathcal Q(\mathcal Z)}\right] - \log \left[\frac{P(\mathcal Z \mid \mathcal X)}{\mathcal Q(\mathcal Z)}\right] \end{aligned} logP(X)=[logP(X,Z)−logQ(Z)]−[logP(Z∣X)−logQ(Z)]=log[Q(Z)P(X,Z)]−log[Q(Z)P(Z∣X)] -
等式两端分别对 Q ( Z ) \mathcal Q(\mathcal Z) Q(Z)求积分:
- 等式左端:
∫ Z log P ( X ) ⋅ Q ( Z ) d Z = log P ( X ) ∫ Z Q ( Z ) d Z = log P ( X ) \int_{\mathcal Z} \log P(\mathcal X) \cdot \mathcal Q(\mathcal Z) d\mathcal Z = \log P(\mathcal X) \int_{\mathcal Z} \mathcal Q(\mathcal Z) d\mathcal Z = \log P(\mathcal X) ∫ZlogP(X)⋅Q(Z)dZ=logP(X)∫ZQ(Z)dZ=logP(X) - 等式右端:
∫ Z Q ( Z ) ⋅ log [ P ( X , Z ) Q ( Z ) ] d Z − ∫ Z Q ( Z ) ⋅ log [ P ( Z ∣ X ) Q ( Z ) ] d Z \begin{aligned} \int_{\mathcal Z} \mathcal Q(\mathcal Z) \cdot \log \left[\frac{P(\mathcal X,\mathcal Z)}{\mathcal Q(\mathcal Z)}\right] d\mathcal Z - \int_{\mathcal Z}\mathcal Q(\mathcal Z) \cdot \log\left[\frac{P(\mathcal Z \mid \mathcal X)}{\mathcal Q(\mathcal Z)}\right] d\mathcal Z \end{aligned} ∫ZQ(Z)⋅log[Q(Z)P(X,Z)]dZ−∫ZQ(Z)⋅log[Q(Z)P(Z∣X)]dZ
- 等式左端:
-
在EM算法中定义 ∫ Z Q ( Z ) ⋅ log [ P ( X , Z ) Q ( Z ) ] d Z \int_{\mathcal Z} \mathcal Q(\mathcal Z) \cdot \log \left[\frac{P(\mathcal X,\mathcal Z)}{\mathcal Q(\mathcal Z)}\right] d\mathcal Z ∫ZQ(Z)⋅log[Q(Z)P(X,Z)]dZ为 证据下界(Evidence Lower Bound,ELBO);
− ∫ Z Q ( Z ) ⋅ log [ P ( Z ∣ X ) Q ( Z ) ] d Z - \int_{\mathcal Z}\mathcal Q(\mathcal Z) \cdot \log\left[\frac{P(\mathcal Z \mid \mathcal X)}{\mathcal Q(\mathcal Z)}\right] d\mathcal Z −∫ZQ(Z)⋅log[Q(Z)P(Z∣X)]dZ是关于 Q ( Z ) \mathcal Q(\mathcal Z) Q(Z)和隐变量 Z \mathcal Z Z的后验概率分布 P ( Z ∣ X ) P(\mathcal Z \mid \mathcal X)