Gaussian Processes/zh
| Article | |
|---|---|
| Topic area | Bayesian Methods |
| Prerequisites | Linear Regression |
概述
高斯过程(GP)是一种在函数上的分布,其性质是:函数值的任意有限集合都服从联合高斯分布。GP 为回归、分类以及其他supervised learning任务提供了一种有原则的非参数贝叶斯方法:模型不再拟合一个固定维度的参数向量,而是直接在函数空间上设定先验,并根据观测数据将其更新为posterior。[1]预测结果伴随着由后验导出的校准良好的不确定性估计,这使得 GP 在贝叶斯优化、地统计学以及对昂贵模拟器的代理建模等应用中颇具吸引力。
与诸如Linear Regression或前馈神经网络等参数化模型相比,GP 不会预先固定函数形式;其inductive bias被编码在核(协方差)函数中,而不是在某个基函数集合中。这种灵活性带来的代价是计算成本与训练点数的立方成正比,这也催生了大量关于稀疏与近似推断的研究。
直观理解
在一个vector上的标准高斯分布为每个坐标指定了一个均值,以及该坐标与其他每个坐标之间的协变方式。高斯过程将这一思想从有限维向量推广到由输入$ x \in \mathcal{X} $索引的无限集合:它在任意有限点集上的函数值上设定一个高斯分布。如果从一个GP中采样一个函数,并在$ n $个输入处取值,就会得到一个$ n $维高斯随机向量,其均值和协方差由 GP 的均值函数和核函数决定。
核编码了关于光滑性、周期性、长度尺度和幅度的假设。在核函数下相互接近的两个输入会产生高度相关的输出;相距较远的两个输入则产生几乎独立的输出。基于观测数据进行条件化会将posterior固定在训练点上,并使得不确定性随着远离这些点而平滑增长,在没有附近观测数据的区域恢复为prior。
形式化定义
在输入域$ \mathcal{X} $上的高斯过程是一个随机过程$ \{f(x) : x \in \mathcal{X}\} $,使得对于任意有限个输入$ x_1, \ldots, x_n \in \mathcal{X} $,随机vector$ (f(x_1), \ldots, f(x_n)) $都服从多变量高斯分布。GP由一个均值函数$ m(x) = \mathbb{E}[f(x)] $和一个协方差(或核)函数$ k(x, x') = \mathbb{E}[(f(x) - m(x))(f(x') - m(x'))] $完全确定,记作
$ {\displaystyle f(\cdot) \sim \mathcal{GP}(m(\cdot), k(\cdot, \cdot)).} $
为了让核定义一个合法的 GP,它必须是对称且半正定的:对于任意输入和权重,Gram 矩阵$ K_{ij} = k(x_i, x_j) $都必须是半正定的。在对目标进行中心化后,均值函数通常被设为零,因此模型的全部表达能力都来自核函数。
核函数
核决定了哪些函数在先验上是合理的。常见的选择包括:
- 平方指数核(RBF):$ k(x, x') = \sigma_f^2 \exp\!\left(-\tfrac{1}{2 \ell^2} \lVert x - x' \rVert^2 \right) $,产生由长度尺度$ \ell $和幅度$ \sigma_f $控制的无限次可微的光滑函数。
- Matern 核:由光滑度参数$ \nu $参数化的一族核函数,当$ \nu \to \infty $时还原为 RBF,而较小的$ \nu $(例如$ \nu = 3/2 $或$ 5/2 $)会产生更粗糙的样本。在对物理过程建模时,通常优于 RBF。
- 周期核:$ k(x, x') = \sigma_f^2 \exp\!\left(-\tfrac{2}{\ell^2} \sin^2(\pi (x - x') / p)\right) $,用于底层函数具有周期$ p $的情形。
- 线性核:$ k(x, x') = \sigma_f^2\, x^\top x' $,使得GP等价于在原始特征空间中的贝叶斯线性回归。
- 组合核:基础核的求和与乘积可以组合多种假设,例如周期核与 RBF 核之和可以同时建模季节性与缓慢趋势。
选择核函数及其超参数是 GP 回归中核心的建模决策,其作用类似于参数化模型中的架构与特征设计。
推断与预测
考虑带噪声的回归问题,观测值满足$ y_i = f(x_i) + \varepsilon_i $,其中$ \varepsilon_i \sim \mathcal{N}(0, \sigma_n^2) $是独立同分布的高斯噪声。将训练输入堆叠为$ X $,目标值堆叠为$ \mathbf{y} $,并记核矩阵$ K = K(X, X) $。在$ f $上设置零均值GP先验并对潜在函数值进行积分。训练目标与测试点$ x_* $处预测$ f_* $的联合分布是高斯的,因此posterior也是高斯的,且具有闭式均值与方差:
$ {\displaystyle \bar{f}_* = k_*^\top (K + \sigma_n^2 I)^{-1} \mathbf{y},} $
$ {\displaystyle \mathbb{V}[f_*] = k(x_*, x_*) - k_*^\top (K + \sigma_n^2 I)^{-1} k_*,} $
其中$ k_* = K(X, x_*) $。均值是目标值的线性平滑器,方差在训练点附近收缩,在远离训练点时增大。在实践中,出于数值稳定性考虑,通常用$ K + \sigma_n^2 I $的 Cholesky 分解来代替直接求逆。
对于非高斯似然(例如使用伯努利似然的分类问题),后验不再是高斯的。诸如 Laplace 近似、期望传播或变分推断等近似方法可以替代精确的闭式形式。
超参数学习
核的超参数$ \theta $(长度尺度、幅度、噪声方差)通常通过最大化对数边缘似然来学习,
$ {\displaystyle \log p(\mathbf{y} \mid X, \theta) = -\tfrac{1}{2} \mathbf{y}^\top (K_\theta + \sigma_n^2 I)^{-1} \mathbf{y} - \tfrac{1}{2} \log |K_\theta + \sigma_n^2 I| - \tfrac{n}{2} \log 2\pi.} $
第一项对数据拟合给予奖励,第二项对模型复杂度进行惩罚,第三项是常数。这种自动化的奥卡姆剃刀在灵活性与简约性之间取得平衡,无需单独的验证集,但该目标函数是非凸的,可能存在多个局部最优解。完全贝叶斯的替代方案是在$ \theta $上设置超先验,并通过马尔可夫链蒙特卡洛进行积分,这种方式更慢,但能够量化超参数的不确定性。
计算成本与可扩展变体
精确的GP推断需要存储并分解一个$ n \times n $的核矩阵,时间成本为$ \mathcal{O}(n^3) $,内存成本为$ \mathcal{O}(n^2) $。这使得朴素 GP 在训练点超过数千之后就变得不切实际。可扩展的变体通过利用结构或近似来降低成本:
- 稀疏/诱导点方法使用$ m \ll n $个诱导输入来汇总训练数据,将成本降至$ \mathcal{O}(n m^2) $。Titsias 提出的变分形式和随机化变体 SVGP 被广泛使用。[2][3]
- 结构化核插值(KISS-GP)以及 Toeplitz / Kronecker 技巧利用网格化输入进一步降低成本。
- 局部方法与专家乘积近似对输入空间进行划分,并组合多个局部 GP。
- 随机傅里叶特征用有限维的特征映射近似平稳核,将 GP 转化为特征空间中的贝叶斯线性回归。
- 深度核将一个参数化特征提取器(通常是一个神经网络)与基础核组合,把 GP 的不确定性量化与学到的表示结合起来。
选择哪种近似方法取决于数据集规模、输入的几何结构,以及除了均值之外是否还需要后验协方差。
与相关模型的比较
使用线性核的GP可以还原为贝叶斯线性回归;使用固定特征核$ k(x, x') = \phi(x)^\top \Sigma_p \phi(x') $的 GP 则等价于在特征空间$ \phi $(即特征空间)中的贝叶斯线性回归。反过来,具有一层无限宽隐藏层并对权重设置高斯先验的贝叶斯神经网络会收敛到一个 GP,其核由激活函数决定,这一联系在深层网络中通过神经切线核得到了进一步推广。与支持向量回归相比,GP 共享核机制,但产出的是完整的后验而不是单一的回归函数;与随机森林和梯度提升相比,GP 通常以较差的可扩展性为代价,提供更好校准的不确定性。
局限性
最主要的实际限制是立方级的扩展性,这使得精确的GP只能用于小规模数据集。各种近似方法虽然可以缓解这一点,但也引入了各自的偏差-方差权衡和调参负担。GP 对核的选择非常敏感:被错误指定的核可能导致过度自信或校准不良的预测,而标准的平稳核在处理高维输入时会遇到困难,因为长度尺度变得难以学习,且维度灾难会侵蚀光滑性先验。非高斯似然需要近似推断,而单调性或非负性等约束并不被原生支持。最后,尽管边缘似然提供了一种优雅的模型选择准则,但当噪声模型被错误指定时,它可能偏向过于灵活的核函数。