高斯过程分类(Gaussian Process Classification)的期望传播(EP)算法原理与计算过程
题目描述
高斯过程分类(GPC)是一种基于贝叶斯框架的非参数分类方法,通过高斯过程先验对函数建模,并利用sigmoid函数(如logistic或probit)将函数值映射为类别概率。然而,由于sigmoid函数的非线性,后验分布无法直接求解。期望传播(Expectation Propagation, EP)算法通过局部矩匹配近似后验,高效处理非高斯似然问题。本题要求详细解释EP算法在GPC中的原理与计算步骤。
解题过程
1. 高斯过程分类模型设定
- 二分类问题:输入数据 \(X = \{\mathbf{x}_i\}_{i=1}^n\),标签 \(\mathbf{y} = \{y_i\}_{i=1}^n\)(\(y_i \in \{-1, +1\}\))。
- 隐函数 \(f(\mathbf{x})\):假设服从高斯过程先验 \(f \sim \mathcal{GP}(0, k(\mathbf{x}, \mathbf{x}'))\),其中 \(k\) 是核函数(如RBF核)。
- 似然函数:使用probit函数 \(p(y_i \mid f_i) = \Phi(y_i f_i)\)(\(\Phi\) 为标准正态CDF),或logistic函数 \(\sigma(y_i f_i)\)。
- 后验分布:
\[ p(\mathbf{f} \mid X, \mathbf{y}) = \frac{p(\mathbf{y} \mid \mathbf{f}) p(\mathbf{f} \mid X)}{p(\mathbf{y} \mid X)}, \]
其中 \(\mathbf{f} = [f(\mathbf{x}_1), \dots, f(\mathbf{x}_n)]^\top\),先验 \(p(\mathbf{f} \mid X) = \mathcal{N}(\mathbf{0}, K)\)(\(K_{ij} = k(\mathbf{x}_i, \mathbf{x}_j)\))。由于似然非高斯,后验无法解析求解。
2. 期望传播(EP)的核心思想
- 目标:用高斯分布 \(q(\mathbf{f}) = \mathcal{N}(\mathbf{f} \mid \boldsymbol{\mu}, \Sigma)\) 近似后验 \(p(\mathbf{f} \mid X, \mathbf{y})\)。
- 分解似然:将联合分布写为
\[ p(\mathbf{f} \mid X, \mathbf{y}) \propto p(\mathbf{f} \mid X) \prod_{i=1}^n p(y_i \mid f_i) = p(\mathbf{f} \mid X) \prod_{i=1}^n t_i(f_i), \]
其中 \(t_i(f_i) = p(y_i \mid f_i)\) 为每个数据点的似然项。
- 近似似然项:用未归一化的高斯函数 \(\tilde{t}_i(f_i) = \tilde{Z}_i \cdot \mathcal{N}(f_i \mid \tilde{\mu}_i, \tilde{\sigma}_i^2)\) 替代每个 \(t_i(f_i)\),参数 \(\{\tilde{Z}_i, \tilde{\mu}_i, \tilde{\sigma}_i^2\}\) 通过迭代优化。
- 近似后验:
\[ q(\mathbf{f}) \propto p(\mathbf{f} \mid X) \prod_{i=1}^n \tilde{t}_i(f_i) = \mathcal{N}(\mathbf{f} \mid \boldsymbol{\mu}, \Sigma), \]
其中均值和协方差通过高斯分布的乘积公式计算:
\[ \Sigma = (K^{-1} + \tilde{\Sigma}^{-1})^{-1}, \quad \boldsymbol{\mu} = \Sigma \tilde{\Sigma}^{-1} \tilde{\boldsymbol{\mu}}. \]
这里 \(\tilde{\Sigma} = \text{diag}(\tilde{\sigma}_1^2, \dots, \tilde{\sigma}_n^2)\),\(\tilde{\boldsymbol{\mu}} = [\tilde{\mu}_1, \dots, \tilde{\mu}_n]^\top\)。
3. EP算法的迭代步骤
对每个数据点 \(i\),执行以下循环直至收敛:
- 步骤1:移出当前近似项
构造“剔除近似”的后验 \(q^{\setminus i}(\mathbf{f}) \propto q(\mathbf{f}) / \tilde{t}_i(f_i)\)。由于 \(q\) 和 \(\tilde{t}_i\) 均为高斯,其均值和协方差为:
\[ \Sigma^{\setminus i} = (\Sigma^{-1} - \tilde{\sigma}_i^{-2} \mathbf{e}_i \mathbf{e}_i^\top)^{-1}, \quad \boldsymbol{\mu}^{\setminus i} = \Sigma^{\setminus i} (\Sigma^{-1} \boldsymbol{\mu} - \tilde{\mu}_i \tilde{\sigma}_i^{-2} \mathbf{e}_i), \]
其中 \(\mathbf{e}_i\) 为第 \(i\) 个单位向量。
- 步骤2:计算真实后验的矩
定义新分布 \(\hat{p}(\mathbf{f}) \propto q^{\setminus i}(\mathbf{f}) t_i(f_i)\)。虽然非高斯,但其边缘分布 \(\hat{p}(f_i)\) 可解析计算矩:- 零阶矩:\(Z_i = \int q^{\setminus i}(f_i) t_i(f_i) df_i\),
- 一阶矩:\(\mu_{\text{new}, i} = \mathbb{E}_{\hat{p}}[f_i] = \frac{1}{Z_i} \int f_i q^{\setminus i}(f_i) t_i(f_i) df_i\),
- 二阶矩:\(\sigma_{\text{new}, i}^2 = \mathbb{E}_{\hat{p}}[f_i^2] - \mu_{\text{new}, i}^2\)。
以probit似然为例,有 \(t_i(f_i) = \Phi(y_i f_i)\),计算可得:
\[ Z_i = \Phi(z_i), \quad z_i = \frac{y_i \mu^{\setminus i}_i}{\sqrt{1 + (\sigma^{\setminus i}_i)^2}}, \]
\[ \mu_{\text{new}, i} = \mu^{\setminus i}_i + \frac{(\sigma^{\setminus i}_i)^2 \cdot \mathcal{N}(z_i; 0, 1)}{Z_i \sqrt{1 + (\sigma^{\setminus i}_i)^2}} y_i, \]
\[ \sigma_{\text{new}, i}^2 = (\sigma^{\setminus i}_i)^2 - \frac{(\sigma^{\setminus i}_i)^4 \cdot \mathcal{N}(z_i; 0, 1)}{(1 + (\sigma^{\setminus i}_i)^2) Z_i} \left( z_i + \frac{\mathcal{N}(z_i; 0, 1)}{Z_i} \right). \]
- 步骤3:更新近似项参数
通过矩匹配更新 \(\tilde{t}_i\) 的参数,使新近似 \(\tilde{t}_i^{\text{new}}(f_i) \propto q^{\setminus i}(f_i) t_i(f_i)\) 的高斯矩与 \(\hat{p}(f_i)\) 一致:
\[ \tilde{\sigma}_i^2 = \left( \frac{1}{\sigma_{\text{new}, i}^2} - \frac{1}{(\sigma^{\setminus i}_i)^2} \right)^{-1}, \quad \tilde{\mu}_i = \tilde{\sigma}_i^2 \left( \frac{\mu_{\text{new}, i}}{\sigma_{\text{new}, i}^2} - \frac{\mu^{\setminus i}_i}{(\sigma^{\setminus i}_i)^2} \right). \]
同时更新归一化常数 \(\tilde{Z}_i = Z_i \cdot \mathcal{N}(\mu^{\setminus i}_i \mid \tilde{\mu}_i, \tilde{\sigma}_i^2 + (\sigma^{\setminus i}_i)^2) / \mathcal{N}(\tilde{\mu}_i \mid \mu^{\setminus i}_i, (\sigma^{\setminus i}_i)^2)\)。
- 步骤4:更新全局后验 \(q(\mathbf{f})\)
用新参数 \(\tilde{\mu}_i, \tilde{\sigma}_i^2\) 更新 \(\tilde{\Sigma}\) 和 \(\tilde{\boldsymbol{\mu}}\),重新计算 \(\Sigma\) 和 \(\boldsymbol{\mu}\)。
4. 预测新样本
- 对于新输入 \(\mathbf{x}_*\),隐函数后验预测分布为:
\[ q(f_*) = \int p(f_* \mid \mathbf{f}) q(\mathbf{f}) d\mathbf{f} = \mathcal{N}(f_* \mid \mu_*, \sigma_*^2), \]
其中 \(\mu_* = \mathbf{k}_*^\top K^{-1} \boldsymbol{\mu}\),\(\sigma_*^2 = k(\mathbf{x}_*, \mathbf{x}_*) - \mathbf{k}_*^\top (K^{-1} - K^{-1} \Sigma K^{-1}) \mathbf{k}_*\)(\(\mathbf{k}_* = [k(\mathbf{x}_*, \mathbf{x}_1), \dots, k(\mathbf{x}_*, \mathbf{x}_n)]^\top\))。
- 类别概率预测:
\[ p(y_* = +1 \mid \mathbf{x}_*) = \int \sigma(f_*) q(f_*) df_* \approx \Phi\left( \frac{\mu_*}{\sqrt{1 + \sigma_*^2}} \right) \quad (\text{probit近似}). \]
关键点总结
EP通过局部高斯近似似然项,迭代优化矩匹配,避免了对非高斯后验的直接处理。其优势在于高效利用高斯分布的性质,但需注意迭代可能不收敛的情况(可通过阻尼策略改进)。