变分推断(Variational Inference)算法的原理与计算过程
字数 1729 2025-11-14 02:20:33

变分推断(Variational Inference)算法的原理与计算过程

题目描述
变分推断是机器学习中一种重要的近似推断方法,用于在概率模型中近似计算难以直接求解的后验分布。当模型包含隐变量时,后验分布通常无法解析求解,变分推断通过引入一个易处理的变分分布来逼近真实后验,将推断问题转化为优化问题。本题目将详细讲解变分推断的数学原理、变分下界的推导,以及坐标上升算法的优化过程。

解题过程

  1. 问题定义
    假设我们有一个概率模型,其中观测变量为 \(X\),隐变量为 \(Z\),模型联合分布为 \(p(X, Z)\)。目标是计算后验分布 \(p(Z | X)\),但由于积分 \(p(X) = \int p(X, Z) dZ\) 难以计算,直接求解后验不可行。变分推断通过引入变分分布 \(q(Z)\)(属于某个易处理的分布族,如高斯分布),并最小化 \(q(Z)\) 与真实后验 \(p(Z | X)\) 的KL散度来近似后验:

\[ \text{KL}(q(Z) \| p(Z | X)) = \mathbb{E}_{q} \left[ \log \frac{q(Z)}{p(Z | X)} \right] \]

  1. 证据下界(ELBO)的推导
    直接最小化KL散度不可行(因涉及真实后验),转而最大化证据下界(ELBO)。对边缘似然 \(\log p(X)\) 分解:

\[ \log p(X) = \text{ELBO}(q) + \text{KL}(q(Z) \| p(Z | X)) \]

其中ELBO定义为:

\[ \text{ELBO}(q) = \mathbb{E}_{q} [\log p(X, Z)] - \mathbb{E}_{q} [\log q(Z)] \]

  • 第一项是联合分布的期望,鼓励 \(q\) 将质量放在能解释观测数据的隐变量上。
  • 第二项是 \(q\) 的熵,鼓励 \(q\) 更分散以避免过拟合。
    由于 \(\log p(X)\) 是常数,最大化ELBO等价于最小化KL散度。
  1. 平均场变分推断
    为简化问题,常假设变分分布可分解(平均场假设):

\[ q(Z) = \prod_{j=1}^{m} q_j(Z_j) \]

其中 \(Z\) 被划分为 \(m\) 个不相交组。通过固定其他 \(q_{k \neq j}\) 优化 \(q_j\),可推导出最优解:

\[ \log q_j^*(Z_j) = \mathbb{E}_{i \neq j} [\log p(X, Z)] + \text{const.} \]

这里期望是对所有 \(Z_i (i \neq j)\)\(q_i\) 下取期望。该式表明,\(q_j^*\) 的形式由联合分布的对数期望决定,通常可解析求解(如指数族分布)。

  1. 坐标上升优化算法
    通过迭代更新每个 \(q_j\) 以最大化ELBO:

    • 初始化:随机设置变分参数(如均值和方差)。
    • 迭代更新:对于 \(j = 1, \dots, m\)
      1. 计算 \(\mathbb{E}_{i \neq j} [\log p(X, Z)]\)(期望在当前 \(q_{i \neq j}\) 下计算)。
      2. 根据 \(\log q_j^* \propto \mathbb{E}_{i \neq j} [\log p(X, Z)]\) 更新 \(q_j\)
    • 收敛判断:当ELBO的变化小于阈值时停止。
  2. 应用示例
    以高斯混合模型为例:

    • 隐变量 \(Z\) 包括簇分配和均值/方差参数。
    • 变分分布 \(q\) 假设为高斯分布(参数)和类别分布(分配)。
    • 更新 \(q\) 时,簇参数的更新依赖数据点的加权统计量,分配的更新依赖参数的后验概率。

总结
变分推断通过优化易处理的变分分布逼近复杂后验,其核心是最大化ELBO。平均场假设和坐标上升算法使计算可行,适用于大规模概率模型。与MCMC采样相比,变分推断更高效但可能低估后验方差。

变分推断(Variational Inference)算法的原理与计算过程 题目描述 变分推断是机器学习中一种重要的近似推断方法,用于在概率模型中近似计算难以直接求解的后验分布。当模型包含隐变量时,后验分布通常无法解析求解,变分推断通过引入一个易处理的变分分布来逼近真实后验,将推断问题转化为优化问题。本题目将详细讲解变分推断的数学原理、变分下界的推导,以及坐标上升算法的优化过程。 解题过程 问题定义 假设我们有一个概率模型,其中观测变量为 \( X \),隐变量为 \( Z \),模型联合分布为 \( p(X, Z) \)。目标是计算后验分布 \( p(Z | X) \),但由于积分 \( p(X) = \int p(X, Z) dZ \) 难以计算,直接求解后验不可行。变分推断通过引入变分分布 \( q(Z) \)(属于某个易处理的分布族,如高斯分布),并最小化 \( q(Z) \) 与真实后验 \( p(Z | X) \) 的KL散度来近似后验: \[ \text{KL}(q(Z) \| p(Z | X)) = \mathbb{E}_ {q} \left[ \log \frac{q(Z)}{p(Z | X)} \right ] \] 证据下界(ELBO)的推导 直接最小化KL散度不可行(因涉及真实后验),转而最大化证据下界(ELBO)。对边缘似然 \( \log p(X) \) 分解: \[ \log p(X) = \text{ELBO}(q) + \text{KL}(q(Z) \| p(Z | X)) \] 其中ELBO定义为: \[ \text{ELBO}(q) = \mathbb{E} {q} [ \log p(X, Z)] - \mathbb{E} {q} [ \log q(Z) ] \] 第一项是联合分布的期望,鼓励 \( q \) 将质量放在能解释观测数据的隐变量上。 第二项是 \( q \) 的熵,鼓励 \( q \) 更分散以避免过拟合。 由于 \( \log p(X) \) 是常数,最大化ELBO等价于最小化KL散度。 平均场变分推断 为简化问题,常假设变分分布可分解(平均场假设): \[ q(Z) = \prod_ {j=1}^{m} q_ j(Z_ j) \] 其中 \( Z \) 被划分为 \( m \) 个不相交组。通过固定其他 \( q_ {k \neq j} \) 优化 \( q_ j \),可推导出最优解: \[ \log q_ j^ (Z_ j) = \mathbb{E}_ {i \neq j} [ \log p(X, Z) ] + \text{const.} \] 这里期望是对所有 \( Z_ i (i \neq j) \) 在 \( q_ i \) 下取期望。该式表明,\( q_ j^ \) 的形式由联合分布的对数期望决定,通常可解析求解(如指数族分布)。 坐标上升优化算法 通过迭代更新每个 \( q_ j \) 以最大化ELBO: 初始化 :随机设置变分参数(如均值和方差)。 迭代更新 :对于 \( j = 1, \dots, m \): 计算 \( \mathbb{E} {i \neq j} [ \log p(X, Z)] \)(期望在当前 \( q {i \neq j} \) 下计算)。 根据 \( \log q_ j^* \propto \mathbb{E}_ {i \neq j} [ \log p(X, Z)] \) 更新 \( q_ j \)。 收敛判断 :当ELBO的变化小于阈值时停止。 应用示例 以高斯混合模型为例: 隐变量 \( Z \) 包括簇分配和均值/方差参数。 变分分布 \( q \) 假设为高斯分布(参数)和类别分布(分配)。 更新 \( q \) 时,簇参数的更新依赖数据点的加权统计量,分配的更新依赖参数的后验概率。 总结 变分推断通过优化易处理的变分分布逼近复杂后验,其核心是最大化ELBO。平均场假设和坐标上升算法使计算可行,适用于大规模概率模型。与MCMC采样相比,变分推断更高效但可能低估后验方差。