基于高斯混合模型(GMM)的贝叶斯推断:马尔可夫链蒙特卡洛(MCMC)采样算法原理与参数后验估计过程
题目描述
高斯混合模型(GMM)假设观测数据由多个高斯分布混合生成,每个高斯成分有其权重、均值向量和协方差矩阵。在贝叶斯框架下,我们为模型参数(权重、均值、协方差)设置先验分布,并通过后验分布进行参数估计与不确定性量化。由于后验分布无解析解,常采用马尔可夫链蒙特卡洛(MCMC)采样方法(如吉布斯采样)从后验中抽取样本,进而近似参数的后验分布。本题将详细讲解:
- GMM的贝叶斯模型设定(先验选择)。
- 基于吉布斯采样的MCMC后验推断步骤。
- 隐变量(成分标签)的采样与参数更新的交替过程。
解题过程
1. 贝叶斯GMM的模型设定
设观测数据为 \(\mathbf{X} = \{\mathbf{x}_1, \dots, \mathbf{x}_N\}\),其中 \(\mathbf{x}_i \in \mathbb{R}^D\)。模型假设有 \(K\) 个高斯成分,参数如下:
- 混合权重:\(\boldsymbol{\pi} = (\pi_1, \dots, \pi_K)\),满足 \(\sum_{k=1}^K \pi_k = 1\)。
- 每个成分的均值向量:\(\boldsymbol{\mu}_k \in \mathbb{R}^D\)。
- 协方差矩阵:\(\boldsymbol{\Sigma}_k\)(正定矩阵)。
引入隐变量(成分标签)\(\mathbf{Z} = \{z_1, \dots, z_N\}\),其中 \(z_i \in \{1, \dots, K\}\) 表示 \(\mathbf{x}_i\) 所属的成分。生成过程为:
\[z_i \sim \text{Categorical}(\boldsymbol{\pi}), \quad \mathbf{x}_i \mid z_i = k \sim \mathcal{N}(\boldsymbol{\mu}_k, \boldsymbol{\Sigma}_k). \]
先验分布的选择(共轭先验简化计算):
- 权重 \(\boldsymbol{\pi} \sim \text{Dirichlet}(\alpha_0, \dots, \alpha_0)\)(对称狄利克雷先验)。
- 均值 \(\boldsymbol{\mu}_k\) 的先验:给定协方差时,均值的高斯先验是共轭的,即
\[ \boldsymbol{\mu}_k \sim \mathcal{N}(\mathbf{m}_0, \mathbf{S}_0), \]
其中 \(\mathbf{m}_0\) 为先验均值,\(\mathbf{S}_0\) 为先验协方差(通常取较大方差表示弱信息)。
- 协方差 \(\boldsymbol{\Sigma}_k\) 的先验:逆Wishart分布是高斯似然的共轭先验:
\[ \boldsymbol{\Sigma}_k \sim \text{Inverse-Wishart}(\nu_0, \mathbf{\Psi}_0), \]
其中 \(\nu_0\) 为自由度,\(\mathbf{\Psi}_0\) 为尺度矩阵。
2. 吉布斯采样框架
MCMC的目标是从联合后验 \(p(\boldsymbol{\pi}, \{\boldsymbol{\mu}_k, \boldsymbol{\Sigma}_k\}, \mathbf{Z} \mid \mathbf{X})\) 中采样。由于直接采样困难,吉布斯采样依次从每个参数的全条件后验分布中采样:
- 采样隐变量 \(\mathbf{Z}\)(给定参数和观测数据)
对于每个 \(i = 1, \dots, N\):
\[ p(z_i = k \mid \mathbf{x}_i, \boldsymbol{\pi}, \boldsymbol{\mu}_k, \boldsymbol{\Sigma}_k) \propto \pi_k \cdot \mathcal{N}(\mathbf{x}_i \mid \boldsymbol{\mu}_k, \boldsymbol{\Sigma}_k). \]
计算所有 \(k\) 的未归一化概率,归一化后从多项分布中抽取 \(z_i\)。
- 采样混合权重 \(\boldsymbol{\pi}\)(给定 \(\mathbf{Z}\) 和其他参数)
令 \(n_k = \sum_{i=1}^N \mathbb{I}(z_i = k)\) 为属于成分 \(k\) 的样本数。
由于狄利克雷先验的共轭性,后验为:
\[ \boldsymbol{\pi} \mid \mathbf{Z} \sim \text{Dirichlet}(\alpha_0 + n_1, \dots, \alpha_0 + n_K). \]
- 采样均值 \(\boldsymbol{\mu}_k\)(给定 \(\mathbf{Z}\)、\(\boldsymbol{\Sigma}_k\) 和观测数据)
定义属于成分 \(k\) 的数据集合 \(\mathbf{X}_k = \{\mathbf{x}_i : z_i = k\}\),样本均值 \(\bar{\mathbf{x}}_k = \frac{1}{n_k} \sum_{\mathbf{x} \in \mathbf{X}_k} \mathbf{x}\)。
高斯先验与高斯似然共轭,后验仍为高斯分布:
\[ \boldsymbol{\mu}_k \mid \mathbf{X}_k, \boldsymbol{\Sigma}_k \sim \mathcal{N}(\mathbf{m}_k, \mathbf{S}_k), \]
其中后验参数为:
\[ \mathbf{S}_k^{-1} = \mathbf{S}_0^{-1} + n_k \boldsymbol{\Sigma}_k^{-1}, \quad \mathbf{m}_k = \mathbf{S}_k \left( \mathbf{S}_0^{-1} \mathbf{m}_0 + n_k \boldsymbol{\Sigma}_k^{-1} \bar{\mathbf{x}}_k \right). \]
- 采样协方差 \(\boldsymbol{\Sigma}_k\)(给定 \(\mathbf{Z}\)、\(\boldsymbol{\mu}_k\) 和观测数据)
定义散布矩阵 \(\mathbf{W}_k = \sum_{\mathbf{x} \in \mathbf{X}_k} (\mathbf{x} - \boldsymbol{\mu}_k)(\mathbf{x} - \boldsymbol{\mu}_k)^\top\)。
逆Wishart先验与高斯似然共轭,后验为逆Wishart分布:
\[ \boldsymbol{\Sigma}_k \mid \mathbf{X}_k, \boldsymbol{\mu}_k \sim \text{Inverse-Wishart}(\nu_k, \mathbf{\Psi}_k), \]
其中:
\[ \nu_k = \nu_0 + n_k, \quad \mathbf{\Psi}_k = \mathbf{\Psi}_0 + \mathbf{W}_k. \]
3. 完整MCMC采样流程
- 初始化:随机分配 \(\mathbf{Z}^{(0)}\),或基于K-means初始化参数 \(\boldsymbol{\mu}_k, \boldsymbol{\Sigma}_k\) 和 \(\boldsymbol{\pi}\)。
- 对每次迭代 \(t = 1, 2, \dots, T\):
- 采样 \(\mathbf{Z}^{(t)}\) 根据步骤1。
- 采样 \(\boldsymbol{\pi}^{(t)}\) 根据步骤2。
- 对每个成分 \(k = 1, \dots, K\):
- 采样 \(\boldsymbol{\mu}_k^{(t)}\) 根据步骤3。
- 采样 \(\boldsymbol{\Sigma}_k^{(t)}\) 根据步骤4。
- 后验近似:丢弃前期燃烧期(burn-in)样本,用剩余样本计算参数的后验均值、置信区间等。
4. 关键细节说明
- 标签切换(Label Switching)问题:MCMC中成分标签可能置换,导致后验分布多模态。可后处理对齐(如按均值排序)或使用可识别性约束(如固定 \(\mu_1 < \mu_2\) 在一维情形)。
- 先验超参数选择:通常取 \(\alpha_0 = 1\)(对称先验),\(\mathbf{m}_0\) 为整体样本均值,\(\mathbf{S}_0\) 为较大对角矩阵(如 \(10^2 \mathbf{I}\)),\(\nu_0 = D+2\)(最小自由度),\(\mathbf{\Psi}_0 = \mathbf{I}\)。
- 收敛诊断:可跟踪参数轨迹或计算潜在尺度缩减因子(\(\hat{R}\))判断MCMC收敛。
总结
贝叶斯GMM的MCMC推断通过吉布斯采样交替更新隐变量与参数,利用共轭先验使全条件后验有解析形式,易于采样。该方法不仅能估计参数,还能量化不确定性(如成分个数的后验)。相比EM算法(点估计),MCMC提供了完整的后验分布,但计算成本更高。