机器学习笔记之变分推断(二)公式推导过程(基于平均场假设)

引言

上一节介绍了分别从频率角度贝叶斯角度认识机器学习问题,并介绍了推断(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(XZ)P(Z)dZ=z1zKP(XZ)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(XZ)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(ZX)。即:
Q ( Z ) ≈ P ( Z ∣ X ) \mathcal Q(\mathcal Z) \approx P(\mathcal Z \mid \mathcal X) Q(Z)P(ZX)
这里定义:

  • 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(ZX)P(X,Z)]=logP(X,Z)logP(ZX)

  • 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(ZX)logQ(Z)]=log[Q(Z)P(X,Z)]log[Q(Z)P(ZX)]

  • 等式两端分别对 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)]dZZQ(Z)log[Q(Z)P(ZX)]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(ZX)]dZ是关于 Q ( Z ) \mathcal Q(\mathcal Z) Q(Z)隐变量 Z \mathcal Z Z后验概率分布 P ( Z ∣ X ) P(\mathcal Z \mid \mathcal X)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

静静的喝酒

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

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

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

打赏作者

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

抵扣说明:

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

余额充值