高斯过程分类(Gaussian Process Classification)的原理与预测过程
题目描述
高斯过程分类(GPC)是一种基于贝叶斯概率框架的非参数分类方法,适用于二分类或多分类问题。其核心思想是将高斯过程先验作用于隐函数,再通过逻辑函数(如sigmoid)将隐函数值映射为类别概率。与高斯过程回归(GPR)不同,GPC因观测目标为离散类别,需借助近似推断(如拉普拉斯近似或变分推断)求解后验分布。本题目将详细讲解GPC的数学模型、隐函数构建、后验推断及预测步骤。
解题过程
- 问题定义与隐函数引入
- 设训练集为 \(\{(\mathbf{x}_i, y_i)\}_{i=1}^n\),其中 \(y_i \in \{0,1\}\)(二分类)。GPC假设存在隐函数 \(f(\mathbf{x})\),其函数值 \(f_i = f(\mathbf{x}_i)\) 服从联合高斯分布(高斯过程先验)。
- 通过sigmoid函数(如logistic函数 \(\sigma(z) = 1/(1+e^{-z})\))将隐函数值转换为类别概率:
\[ P(y_i=1 | f_i) = \sigma(f_i) \]
- 多分类问题可通过softmax函数扩展,但以下以二分类为例。
- 高斯过程先验设置
- 隐函数 \(f(\mathbf{x}) \sim \mathcal{GP}(m(\mathbf{x}), k(\mathbf{x}, \mathbf{x}'))\),其中 \(m(\mathbf{x})\) 为均值函数(常设为0),\(k(\cdot, \cdot)\) 为协方差函数(如径向基核RBF)。
- 训练点的隐函数值向量 \(\mathbf{f} = [f_1, \dots, f_n]^\top\) 服从多元高斯分布:
\[ p(\mathbf{f} | \mathbf{X}) = \mathcal{N}(\mathbf{0}, \mathbf{K}_{XX}) \]
其中 $ \mathbf{K}_{XX} $ 是核矩阵,$ [\mathbf{K}_{XX}]_{ij} = k(\mathbf{x}_i, \mathbf{x}_j) $。
- 后验分布推断的挑战与近似方法
- 目标为计算隐函数的后验分布 \(p(\mathbf{f} | \mathbf{X}, \mathbf{y})\)。根据贝叶斯定理:
\[ p(\mathbf{f} | \mathbf{X}, \mathbf{y}) = \frac{p(\mathbf{y} | \mathbf{f}) p(\mathbf{f} | \mathbf{X})}{p(\mathbf{y} | \mathbf{X})} \]
其中似然项 $ p(\mathbf{y} | \mathbf{f}) = \prod_{i=1}^n \sigma(y_i f_i) $(注:此处 $ y_i \in \{-1,1\} $ 时似然为 $ \sigma(y_i f_i) $,若 $ y_i \in \{0,1\} $ 需调整)。
- 由于似然非高斯分布,后验 \(p(\mathbf{f} | \mathbf{X}, \mathbf{y})\) 无法解析求解,需采用近似推断。以拉普拉斯近似为例:
- 步骤1:寻找后验众数 \(\hat{\mathbf{f}}\)(即最大化 \(\log p(\mathbf{f} | \mathbf{X}, \mathbf{y})\) 的 \(\mathbf{f}\)),通过牛顿法迭代求解:
\[ \mathbf{f}^{\text{new}} = (\mathbf{K}_{XX}^{-1} + \mathbf{W})^{-1} \mathbf{W} (\mathbf{f} + \mathbf{W}^{-1} \mathbf{r}) \]
其中 $ \mathbf{W} = -\nabla \nabla \log p(\mathbf{y} | \mathbf{f}) $ 为对角阵(Hessian矩阵),$ \mathbf{r} = \nabla \log p(\mathbf{y} | \mathbf{f}) $。
- **步骤2**:在众数 $ \hat{\mathbf{f}} $ 处用高斯分布近似后验:
\[ q(\mathbf{f} | \mathbf{X}, \mathbf{y}) = \mathcal{N}(\hat{\mathbf{f}}, (\mathbf{K}_{XX}^{-1} + \mathbf{W})^{-1}) \]
- 新样本的预测步骤
- 对于新输入 \(\mathbf{x}^*\),首先计算隐函数后验 \(p(f^* | \mathbf{X}, \mathbf{y}, \mathbf{x}^*)\) 的近似分布:
- 联合分布 \(p(\mathbf{f}, f^* | \mathbf{X}, \mathbf{x}^*)\) 为高斯分布,条件分布 \(p(f^* | \mathbf{f}, \mathbf{X}, \mathbf{x}^*)\) 可直接推导。
- 利用拉普拉斯近似的高斯后验 \(q(\mathbf{f} | \mathbf{X}, \mathbf{y})\),积分得:
- 对于新输入 \(\mathbf{x}^*\),首先计算隐函数后验 \(p(f^* | \mathbf{X}, \mathbf{y}, \mathbf{x}^*)\) 的近似分布:
\[ q(f^* | \mathbf{X}, \mathbf{y}, \mathbf{x}^*) = \int p(f^* | \mathbf{f}, \mathbf{X}, \mathbf{x}^*) q(\mathbf{f} | \mathbf{X}, \mathbf{y}) d\mathbf{f} \]
结果为高斯分布 $ \mathcal{N}(\mu^*, \sigma^{*2}) $,其中:
\[ \mu^* = \mathbf{k}_*^\top \mathbf{K}_{XX}^{-1} \hat{\mathbf{f}}, \quad \sigma^{*2} = k(\mathbf{x}^*, \mathbf{x}^*) - \mathbf{k}_*^\top (\mathbf{K}_{XX} + \mathbf{W}^{-1})^{-1} \mathbf{k}_* \]
($ \mathbf{k}_* = [k(\mathbf{x}^*, \mathbf{x}_1), \dots, k(\mathbf{x}^*, \mathbf{x}_n)]^\top $)。
- 最终类别概率通过对隐函数值积分得到:
\[ P(y^*=1 | \mathbf{X}, \mathbf{y}, \mathbf{x}^*) = \int \sigma(f^*) q(f^* | \mathbf{X}, \mathbf{y}, \mathbf{x}^*) df^* \]
此积分无闭式解,可通过数值积分(如高斯-埃尔米特积分)或蒙特卡洛采样近似。
- 多分类扩展与核函数选择
- 多分类问题需为每个类别引入隐函数 \(f_c(\mathbf{x})\),并通过softmax函数计算概率:
\[ P(y=c | \{f_c\}) = \frac{e^{f_c}}{\sum_{j=1}^C e^{f_j}} \]
后验推断更复杂,常使用变分推断或期望传播(EP)近似。
- 核函数需根据数据特性选择(如RBF核适用于平滑函数,Matérn核适用于更灵活的拟合)。
关键点总结
- GPC通过隐函数的高斯过程先验与非线性映射结合,实现概率化分类。
- 后验推断需依赖近似方法(如拉普拉斯近似)处理非高斯似然。
- 预测阶段需对隐函数后验积分,得到校准后的类别概率,优于直接输出点估计的模型。