高斯过程分类(Gaussian Process Classification)的拉普拉斯近似推断过程
题目描述
高斯过程分类(GPC)是一种基于高斯过程(GP)的非参数概率模型,用于解决二分类或多分类问题。与高斯过程回归(GPR)直接建模连续输出不同,GPC需将GP先验通过链接函数(如sigmoid)映射到概率区间[0,1],从而输出类别概率。然而,由于非线性链接函数的存在,后验分布无法直接解析求解。拉普拉斯近似(Laplace Approximation)是一种常用推断方法,通过用高斯分布近似后验分布,将问题转化为优化任务。本题要求详细解释拉普拉斯近似在GPC中的推导步骤,包括潜在函数建模、后验近似、边缘似然优化及预测计算。
解题过程
- 问题建模与潜在函数引入
- 设训练集输入为 \(X = \{\mathbf{x}_i\}_{i=1}^n\),输出为二分类标签 \(y_i \in \{0,1\}\)。
- 引入潜在函数 \(f(\mathbf{x}) \sim \mathcal{GP}(0, k(\mathbf{x}, \mathbf{x}'))\),其中 \(k\) 是协方差函数(如RBF核)。
- 通过sigmoid函数(如logistic函数 \(\sigma(z) = 1/(1+e^{-z})\))将 \(f(\mathbf{x})\) 映射为概率:
\[ p(y=1 \mid f(\mathbf{x})) = \sigma(f(\mathbf{x})). \]
- 目标:给定新输入 \(\mathbf{x}^*\),预测其类别概率 \(p(y^*=1 \mid X, \mathbf{y}, \mathbf{x}^*)\)。
- 后验分布的非高斯性挑战
- 潜在函数的后验 \(p(\mathbf{f} \mid X, \mathbf{y})\)(其中 \(\mathbf{f} = [f(\mathbf{x}_1), \dots, f(\mathbf{x}_n)]^\top\))满足:
\[ p(\mathbf{f} \mid X, \mathbf{y}) = \frac{p(\mathbf{y} \mid \mathbf{f}) p(\mathbf{f} \mid X)}{p(\mathbf{y} \mid X)}. \]
- 由于似然 \(p(\mathbf{y} \mid \mathbf{f}) = \prod_{i=1}^n \sigma(y_i f_i)\)(其中 \(y_i \in \{-1,1\}\) 时更易推导)非高斯,后验 \(p(\mathbf{f} \mid X, \mathbf{y})\) 无法解析求解。
- 拉普拉斯近似核心思想
- 用高斯分布 \(q(\mathbf{f} \mid X, \mathbf{y}) = \mathcal{N}(\mathbf{f} \mid \hat{\mathbf{f}}, A^{-1})\) 近似后验,其中:
- \(\hat{\mathbf{f}}\) 是后验众数(mode),通过最大化 \(\log p(\mathbf{f} \mid X, \mathbf{y})\) 得到;
- \(A\) 是负Hessian矩阵,在 \(\hat{\mathbf{f}}\) 处计算: \(A = -\nabla^2 \log p(\mathbf{f} \mid X, \mathbf{y}) \mid_{\mathbf{f}=\hat{\mathbf{f}}}\)。
- 后验对数密度为:
- 用高斯分布 \(q(\mathbf{f} \mid X, \mathbf{y}) = \mathcal{N}(\mathbf{f} \mid \hat{\mathbf{f}}, A^{-1})\) 近似后验,其中:
\[ \psi(\mathbf{f}) = \log p(\mathbf{y} \mid \mathbf{f}) + \log p(\mathbf{f} \mid X) + \text{常数}. \]
- 求解后验众数 \(\hat{\mathbf{f}}\)
- 牛顿-拉弗森法迭代更新: \(\mathbf{f}_{\text{new}} = \mathbf{f} - (\nabla^2 \psi)^{-1} \nabla \psi\)。
- 具体计算(以logistic似然为例,标签 \(y_i \in \{-1,1\}\)):
- 先验 \(p(\mathbf{f} \mid X) = \mathcal{N}(\mathbf{0}, K)\),其中 \(K\) 是Gram矩阵( \(K_{ij} = k(\mathbf{x}_i, \mathbf{x}_j)\))。
- 对数后验:
\[ \psi(\mathbf{f}) = \sum_{i=1}^n \log \sigma(y_i f_i) - \frac{1}{2} \mathbf{f}^\top K^{-1} \mathbf{f} + \text{常数}. \]
- 梯度:
\[ \nabla \psi = \mathbf{y} \circ (\mathbf{1} - \boldsymbol{\sigma}) - K^{-1} \mathbf{f}, \]
其中 $ \boldsymbol{\sigma} = [\sigma(y_1 f_1), \dots, \sigma(y_n f_n)]^\top $,$ \circ $ 为逐元素乘。
- Hessian矩阵:
\[ \nabla^2 \psi = -W - K^{-1}, \]
其中 $ W $ 是对角矩阵,元素 $ W_{ii} = \sigma(y_i f_i)(1 - \sigma(y_i f_i)) $。
- 迭代至收敛得 \(\hat{\mathbf{f}}\)。
-
边缘似然与超参数优化
- 近似边缘似然 \(p(\mathbf{y} \mid X) \approx \exp(\psi(\hat{\mathbf{f}})) \cdot \frac{(2\pi)^{n/2}}{|A|^{1/2}}\)。
- 超参数(如核参数)通过最大化该近似边缘似然优化(梯度上升法)。
-
预测分布计算
- 新点 \(\mathbf{x}^*\) 的潜在函数后验 \(p(f^* \mid X, \mathbf{y}, \mathbf{x}^*) \approx \mathcal{N}(f^* \mid \mu^*, \sigma^{*2})\),其中:
\[ \mu^* = \mathbf{k}_*^\top K^{-1} \hat{\mathbf{f}}, \quad \sigma^{*2} = k_{**} - \mathbf{k}_*^\top (K + W^{-1})^{-1} \mathbf{k}_*, \]
这里 $ \mathbf{k}_* = [k(\mathbf{x}_1, \mathbf{x}^*), \dots, k(\mathbf{x}_n, \mathbf{x}^*)]^\top $,$ k_{**} = k(\mathbf{x}^*, \mathbf{x}^*) $。
- 最终预测概率通过积分近似:
\[ p(y^*=1 \mid X, \mathbf{y}, \mathbf{x}^*) \approx \int \sigma(f^*) \mathcal{N}(f^* \mid \mu^*, \sigma^{*2}) df^*. \]
该积分无闭式解,但可数值计算(如Probit近似)。
关键点
- 拉普拉斯近似的核心是用高斯分布逼近后验众数附近的形状。
- 计算依赖牛顿法求众数及Hessian矩阵的显式表达。
- 近似精度取决于后验的单峰性和对称性,多峰分布可能效果不佳。