高斯混合模型的贝叶斯推断:变分贝叶斯(Variational Bayes, VB)算法原理与后验分布近似过程
题目描述
在机器学习中,高斯混合模型(Gaussian Mixture Model, GMM)常用于对复杂数据进行聚类或密度估计。其标准参数估计方法为期望最大化(EM)算法,但EM算法属于频率主义框架,无法直接提供参数的不确定性度量,且容易过拟合。题目要求:详细讲解如何对GMM进行贝叶斯推断,即引入参数(混合权重、均值、精度矩阵)的先验分布,并推导使用变分贝叶斯(Variational Bayes, VB) 算法来近似计算参数与隐变量(各数据点的混合成分标签)的联合后验分布的全过程。重点包括:模型完整的贝叶斯设定、变分后验分布的因子化假设、证据下界(ELBO)的推导、变分分布的更新方程(坐标上升更新)及其收敛性分析。
解题过程
第一步:高斯混合模型的贝叶斯设定
我们假设观测数据集为 \(\mathbf{X} = \{\mathbf{x}_1, \dots, \mathbf{x}_N\}\),其中 \(\mathbf{x}_i \in \mathbb{R}^D\)。GMM假设每个数据点 \(\mathbf{x}_i\) 由一个隐变量 \(\mathbf{z}_i\) 生成,\(\mathbf{z}_i\) 是一个 \(K\) 维的独热编码向量,表示该点属于第 \(k\) 个高斯成分(\(z_{ik} = 1\))。
-
生成过程(加入先验):
- 混合权重 \(\boldsymbol{\pi} = (\pi_1, \dots, \pi_K)\):服从狄利克雷先验,\(\boldsymbol{\pi} \sim \text{Dir}(\boldsymbol{\alpha}_0)\),其中 \(\boldsymbol{\alpha}_0\) 是超参数向量。
- 成分均值 \(\boldsymbol{\mu}_k\):服从高斯先验,\(\boldsymbol{\mu}_k \sim \mathcal{N}(\mathbf{m}_0, \beta_0^{-1} \boldsymbol{\Lambda}_k^{-1})\),其中 \(\mathbf{m}_0\) 是先验均值,\(\beta_0 > 0\) 控制先验强度,\(\boldsymbol{\Lambda}_k\) 是精度矩阵(见下)。
- 成分精度矩阵 \(\boldsymbol{\Lambda}_k\)(逆协方差矩阵):服从威沙特(Wishart)先验,\(\boldsymbol{\Lambda}_k \sim \mathcal{W}(W_0, \nu_0)\),其中 \(W_0\) 是尺度矩阵,\(\nu_0\) 是自由度。
- 隐变量 \(\mathbf{z}_i\):给定 \(\boldsymbol{\pi}\),\(\mathbf{z}_i \sim \text{Categorical}(\boldsymbol{\pi})\)。
- 观测数据 \(\mathbf{x}_i\):给定 \(\mathbf{z}_i\)、\(\{\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k\}\),\(\mathbf{x}_i \mid z_{ik}=1 \sim \mathcal{N}(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k^{-1})\)。
-
联合概率分布:
所有随机变量的联合分布为:
\[ p(\mathbf{X}, \mathbf{Z}, \boldsymbol{\pi}, \{\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k\}) = p(\boldsymbol{\pi}) \prod_{k=1}^K p(\boldsymbol{\mu}_k \mid \boldsymbol{\Lambda}_k) p(\boldsymbol{\Lambda}_k) \prod_{i=1}^N p(\mathbf{z}_i \mid \boldsymbol{\pi}) p(\mathbf{x}_i \mid \mathbf{z}_i, \{\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k\}) \]
其中 \(\mathbf{Z} = \{\mathbf{z}_1, \dots, \mathbf{z}_N\}\) 是所有隐变量。
贝叶斯推断的目标是计算后验分布 \(p(\mathbf{Z}, \boldsymbol{\pi}, \{\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k\} \mid \mathbf{X})\),但该后验复杂,无法直接求解。
第二步:引入变分近似与因子化假设
变分贝叶斯的核心思想:用一个简单的分布 \(q(\cdot)\) 来近似真实后验,并通过优化使 \(q\) 尽可能接近后验。
- 变分分布 \(q\) 的因子化假设(平均场近似):
假设变分分布可以分解为:
\[ q(\mathbf{Z}, \boldsymbol{\pi}, \{\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k\}) = q(\mathbf{Z}) q(\boldsymbol{\pi}) \prod_{k=1}^K q(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k) \]
即,隐变量与各参数组之间相互独立。进一步,对于 \(q(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k)\),我们假设其为高斯-威沙特分布(Normal-Wishart),这是高斯均值和精度矩阵的共轭先验形式,能简化计算。
- 变分分布的具体形式:
- \(q(\mathbf{Z}) = \prod_{i=1}^N q(\mathbf{z}_i)\),其中 \(q(\mathbf{z}_i) = \text{Categorical}(\mathbf{r}_i)\),\(\mathbf{r}_i = (r_{i1}, \dots, r_{iK})\) 是变分责任(responsibility),满足 \(\sum_k r_{ik} = 1\)。
- \(q(\boldsymbol{\pi}) = \text{Dir}(\boldsymbol{\alpha})\),其中 \(\boldsymbol{\alpha} = (\alpha_1, \dots, \alpha_K)\) 是变分参数。
- \(q(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k) = \mathcal{N}(\boldsymbol{\mu}_k \mid \mathbf{m}_k, \beta_k^{-1} \boldsymbol{\Lambda}_k^{-1}) \cdot \mathcal{W}(\boldsymbol{\Lambda}_k \mid W_k, \nu_k)\),即高斯-威沙特分布,参数为 \(\mathbf{m}_k, \beta_k, W_k, \nu_k\)。
第三步:推导证据下界(ELBO)
目标:最大化证据下界 \(\mathcal{L}(q)\),它等于对数边际似然的下界。
- ELBO的定义:
\[ \ln p(\mathbf{X}) \ge \mathcal{L}(q) = \mathbb{E}_q[\ln p(\mathbf{X}, \mathbf{Z}, \boldsymbol{\pi}, \{\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k\})] - \mathbb{E}_q[\ln q(\mathbf{Z}, \boldsymbol{\pi}, \{\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k\})] \]
其中期望 \(\mathbb{E}_q\) 是对变分分布 \(q\) 取的。
- 分解 ELBO:
代入因子化的 \(q\) 和联合分布,ELBO 可分解为:
\[ \mathcal{L}(q) = \mathbb{E}_q[\ln p(\mathbf{X} \mid \mathbf{Z}, \{\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k\})] + \mathbb{E}_q[\ln p(\mathbf{Z} \mid \boldsymbol{\pi})] + \mathbb{E}_q[\ln p(\boldsymbol{\pi})] + \sum_k \mathbb{E}_q[\ln p(\boldsymbol{\mu}_k \mid \boldsymbol{\Lambda}_k) + \ln p(\boldsymbol{\Lambda}_k)] - \mathbb{E}_q[\ln q(\mathbf{Z})] - \mathbb{E}_q[\ln q(\boldsymbol{\pi})] - \sum_k \mathbb{E}_q[\ln q(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k)] \]
每个期望均可解析计算,因为涉及的分布是指数族。
第四步:坐标上升更新变分参数
通过固定其他因子,轮流优化每个变分因子 \(q(\cdot)\) 来最大化 \(\mathcal{L}(q)\)。这导出了一组更新方程:
- 更新 \(q(\mathbf{Z})\) (变分责任 \(r_{ik}\)):
最大化 \(\mathcal{L}\) 关于 \(q(\mathbf{Z})\) 的部分,得到:
\[ r_{ik} \propto \exp\left( \mathbb{E}_q[\ln \pi_k] + \frac{1}{2} \mathbb{E}_q[\ln |\boldsymbol{\Lambda}_k|] - \frac{D}{2} \ln(2\pi) - \frac{1}{2} \mathbb{E}_q[(\mathbf{x}_i - \boldsymbol{\mu}_k)^\top \boldsymbol{\Lambda}_k (\mathbf{x}_i - \boldsymbol{\mu}_k)] \right) \]
其中:
- \(\mathbb{E}_q[\ln \pi_k] = \psi(\alpha_k) - \psi(\sum_{j=1}^K \alpha_j)\),\(\psi\) 是 digamma 函数。
- \(\mathbb{E}_q[\ln |\boldsymbol{\Lambda}_k|] = \sum_{d=1}^D \psi\left(\frac{\nu_k + 1 - d}{2}\right) + D \ln 2 + \ln |W_k|\)。
- \(\mathbb{E}_q[(\mathbf{x}_i - \boldsymbol{\mu}_k)^\top \boldsymbol{\Lambda}_k (\mathbf{x}_i - \boldsymbol{\mu}_k)] = \nu_k (\mathbf{x}_i - \mathbf{m}_k)^\top W_k (\mathbf{x}_i - \mathbf{m}_k) + \beta_k^{-1} D\)。
计算后归一化:\(r_{ik} = r_{ik} / \sum_{j=1}^K r_{ij}\)。
- 更新 \(q(\boldsymbol{\pi})\) (参数 \(\boldsymbol{\alpha}\)):
最大化得到狄利克雷后验:
\[ \alpha_k = \alpha_0 + N_k, \quad \text{其中 } N_k = \sum_{i=1}^N r_{ik} \]
- 更新 \(q(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k)\) (高斯-威沙特参数):
最大化得到共轭更新:- \(\beta_k = \beta_0 + N_k\)
- \(\mathbf{m}_k = \frac{1}{\beta_k} \left( \beta_0 \mathbf{m}_0 + \sum_{i=1}^N r_{ik} \mathbf{x}_i \right)\)
- \(W_k^{-1} = W_0^{-1} + \sum_{i=1}^N r_{ik} (\mathbf{x}_i - \bar{\mathbf{x}}_k)(\mathbf{x}_i - \bar{\mathbf{x}}_k)^\top + \frac{\beta_0 N_k}{\beta_0 + N_k} (\bar{\mathbf{x}}_k - \mathbf{m}_0)(\bar{\mathbf{x}}_k - \mathbf{m}_0)^\top\),其中 \(\bar{\mathbf{x}}_k = \frac{1}{N_k} \sum_{i=1}^N r_{ik} \mathbf{x}_i\)。
- \(\nu_k = \nu_0 + N_k\)
第五步:算法执行与收敛性分析
-
算法流程:
- 初始化变分参数 \(\boldsymbol{\alpha}, \{\mathbf{m}_k, \beta_k, W_k, \nu_k\}\),以及责任 \(r_{ik}\)(可随机初始化)。
- 重复以下步骤直到 ELBO 收敛:
a. 用当前参数计算 \(r_{ik}\)(E 步类似)。
b. 用更新后的 \(r_{ik}\) 计算 \(\boldsymbol{\alpha}\) 和各 \(\{\mathbf{m}_k, \beta_k, W_k, \nu_k\}\)(M 步类似)。
c. 计算 ELBO 值 \(\mathcal{L}(q)\)(可选,用于监控收敛)。
-
收敛性:
- 由于每一步更新都保证 ELBO 不下降,算法保证收敛到局部最优。
- 收敛条件可以是 ELBO 的变化小于阈值,或参数变化很小。
- 变分贝叶斯通常比 EM 算法收敛慢,但能提供后验不确定性(如通过 \(q(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k)\) 的分布)。
-
结果解释:
- 变分责任 \(r_{ik}\):给出了数据点 \(i\) 属于成分 \(k\) 的后验概率,可用于软聚类。
- 变分后验 \(q(\boldsymbol{\pi})\):给出了混合权重的分布,其均值 \(\alpha_k / \sum_j \alpha_j\) 表示各成分的权重估计。
- 变分后验 \(q(\boldsymbol{\mu}_k, \boldsymbol{\Lambda}_k)\):给出了每个高斯成分的均值和协方差的后验分布,可用于估计参数及置信区间。
总结
本题目详细阐述了高斯混合模型的贝叶斯推断变分求解过程。通过引入共轭先验和平均场假设,将复杂的后验近似为可分解的变分分布,并通过最大化 ELBO 推导出各变分参数的坐标上升更新方程。该方法不仅提供了参数估计,还给出了不确定性的度量,相比 EM 算法更具贝叶斯优势。