变分贝叶斯推断(Variational Bayesian Inference)算法的原理与计算过程
题目描述
变分贝叶斯推断(Variational Bayesian Inference, VB)是一种用于近似复杂后验分布的确定性方法,广泛应用于贝叶斯模型中的参数估计和隐变量推断。与基于采样的MCMC方法不同,VB通过优化一个易于处理的变分分布来逼近真实后验,从而显著提高计算效率。本题目将详细讲解VB的核心思想、变分下界(ELBO)的推导,以及通过坐标上升法迭代优化变分参数的完整过程。
解题过程
1. 问题形式化
- 设观测数据为 \(\mathbf{X}\),隐变量为 \(\mathbf{Z}\),模型参数为 \(\boldsymbol{\theta}\)。
- 贝叶斯推断的目标是计算后验分布 \(p(\mathbf{Z}, \boldsymbol{\theta} \mid \mathbf{X})\),但该分布通常难以直接求解(如因积分复杂)。
- VB通过引入变分分布 \(q(\mathbf{Z}, \boldsymbol{\theta})\) 近似真实后验,并最小化 \(q\) 与真实后验的KL散度:
\[ \text{KL}(q \| p) = \int q(\mathbf{Z}, \boldsymbol{\theta}) \ln \frac{q(\mathbf{Z}, \boldsymbol{\theta})}{p(\mathbf{Z}, \boldsymbol{\theta} \mid \mathbf{X})} d\mathbf{Z} d\boldsymbol{\theta} \]
2. 证据下界(ELBO)的推导
- 对边缘似然 \(\ln p(\mathbf{X})\) 分解:
\[ \ln p(\mathbf{X}) = \mathcal{L}(q) + \text{KL}(q \| p) \]
其中 \(\mathcal{L}(q)\) 是ELBO,定义为:
\[ \mathcal{L}(q) = \mathbb{E}_q [\ln p(\mathbf{X}, \mathbf{Z}, \boldsymbol{\theta})] - \mathbb{E}_q [\ln q(\mathbf{Z}, \boldsymbol{\theta})] \]
- 由于 \(\ln p(\mathbf{X})\) 是常数,最小化 \(\text{KL}(q \| p)\) 等价于最大化 \(\mathcal{L}(q)\)。
3. 平均场变分假设
- 为简化问题,假设变分分布可分解为独立组块:
\[ q(\mathbf{Z}, \boldsymbol{\theta}) = q_{\mathbf{Z}}(\mathbf{Z}) q_{\boldsymbol{\theta}}(\boldsymbol{\theta}) \]
该假设将联合优化问题转化为交替优化子问题。
4. 坐标上升法迭代优化
- 固定 \(q_{\boldsymbol{\theta}}\),优化 \(q_{\mathbf{Z}}\):
通过计算函数导数,得到最优解:
\[ \ln q_{\mathbf{Z}}^*(\mathbf{Z}) = \mathbb{E}_{q_{\boldsymbol{\theta}}} [\ln p(\mathbf{X}, \mathbf{Z}, \boldsymbol{\theta})] + \text{const} \]
该式表明 \(q_{\mathbf{Z}}^*\) 的形态由联合分布对 \(\boldsymbol{\theta}\) 的期望决定。
- 固定 \(q_{\mathbf{Z}}\),优化 \(q_{\boldsymbol{\theta}}\):
类似地:
\[ \ln q_{\boldsymbol{\theta}}^*(\boldsymbol{\theta}) = \mathbb{E}_{q_{\mathbf{Z}}} [\ln p(\mathbf{X}, \mathbf{Z}, \boldsymbol{\theta})] + \text{const} \]
- 迭代更新 \(q_{\mathbf{Z}}\) 和 \(q_{\boldsymbol{\theta}}\) 直至ELBO收敛。
5. 计算步骤示例(以高斯混合模型为例)
- 模型设定:
假设数据 \(\mathbf{X} = \{\mathbf{x}_1, \dots, \mathbf{x}_N\}\) 由 \(K\) 个高斯分布生成,隐变量 \(\mathbf{Z}\) 为分配标签,参数 \(\boldsymbol{\theta} = \{\boldsymbol{\mu}_k, \boldsymbol{\Sigma}_k\}\)。 - 变分分布假设:
\[ q(\mathbf{Z}, \boldsymbol{\mu}, \boldsymbol{\Sigma}) = q_{\mathbf{Z}}(\mathbf{Z}) \prod_{k=1}^K q_{\boldsymbol{\mu}_k, \boldsymbol{\Sigma}_k}(\boldsymbol{\mu}_k, \boldsymbol{\Sigma}_k) \]
- 更新 \(q_{\mathbf{Z}}\):
计算每个数据点属于第 \(k\) 类的责任 \(\gamma_{nk}\):
\[ \gamma_{nk} \propto \exp\left( \mathbb{E}[\ln \pi_k] + \mathbb{E}[\ln \mathcal{N}(\mathbf{x}_n \mid \boldsymbol{\mu}_k, \boldsymbol{\Sigma}_k)] \right) \]
其中期望在 \(q_{\boldsymbol{\mu}_k, \boldsymbol{\Sigma}_k}\) 下计算。
- 更新 \(q_{\boldsymbol{\mu}_k, \boldsymbol{\Sigma}_k}\):
基于当前 \(\gamma_{nk}\) 计算高斯-逆Wishart分布的后验参数(闭合解)。 - 迭代直至ELBO变化小于阈值。
6. 总结
VB通过将推断问题转化为优化问题,避免了MCMC的采样开销。其核心在于通过平均场假设分解变分分布,并利用坐标上升法迭代优化ELBO。该方法在主题模型、深度学习等领域有广泛应用,但需注意平均场假设可能引入近似误差。