2. 高斯过程回归的数学基础
高斯过程回归(Gaussian Process Regression, GPR)之所以能对未知函数给出带不确定性的预测,根源在于它把“函数”本身当作一个随机对象,并用多元高斯分布来描述这个随机对象在任意有限个输入点上的取值。理解这条主线,需要依次打通四个环节:多元高斯分布、条件分布、核函数与均值/协方差函数、以及贝叶斯线性回归视角。本节按这条逻辑链展开,并在关键处给出可直接手算的小例子。
一、多元高斯分布:GPR 的概率底座
设随机向量 z = [z₁, z₂, …, z_n]ᵀ 服从 n 维高斯分布,记作 z ~ N(μ, Σ),其中均值向量 μ 为 n×1,协方差矩阵 Σ 为 n×n 对称正定矩阵。其联合概率密度为:
p(z) = (2π)^(-n/2) |Σ|^(-1/2) exp[ -½ (z-μ)ᵀ Σ⁻¹ (z-μ) ]
对 GPR 而言,最关键的三个性质是:边缘化封闭(高斯分布的子集仍是高斯分布)、条件化封闭(给定部分分量后,其余分量仍服从高斯分布)、线性变换封闭(高斯变量的线性组合仍是高斯)。这三条性质保证了“在有限观测点上做推断”与“在任意点上做预测”可以始终停留在高斯框架内,无需数值积分。
协方差矩阵 Σ 的第 (i, j) 个元素 Σ_ij = Cov(z_i, z_j),它编码了各分量之间的相关性。若 Σ 为对角阵,则各分量相互独立;若存在非对角非零项,则分量之间存在统计关联——这正是 GPR 用来表达“相近输入对应相近输出”的载体。
二、条件分布:从观测到预测的推断公式
把随机向量分成两组:z = [z_A; z_B],对应均值 μ = [μ_A; μ_B],协方差分块为
Σ = [ Σ_AA Σ_AB
Σ_BA Σ_BB ]
在给定 z_B 的条件下,z_A 的条件分布仍为高斯:
z_A | z_B ~ N( μ_A + Σ_AB Σ_BB⁻¹ (z_B - μ_B),
Σ_AA - Σ_AB Σ_BB⁻¹ Σ_BA )
这个公式是 GPR 预测的全部数学核心。条件均值是 z_B 的线性函数,条件协方差与 z_B 的取值无关,只与协方差结构有关。把 z_A 视为待预测点上的函数值、z_B 视为已观测的训练输出,就得到了 GPR 的预测均值与预测方差。
Σ_AB Σ_BB⁻¹ 相当于卡尔曼滤波中的卡尔曼增益。三、核函数、均值函数与协方差函数
把上述有限维结论推广到任意输入集合,就得到高斯过程的定义:一个高斯过程 f(x) 由均值函数 m(x) 和协方差函数(核函数)k(x, x′) 完全确定,记作
f(x) ~ GP( m(x), k(x, x′) )
m(x) = E[f(x)]
k(x, x′) = E[(f(x) - m(x))(f(x′) - m(x′))]
均值函数表达对函数整体趋势的先验信念,工程上常取 m(x) = 0(数据标准化后尤其合理),或取线性/常数形式。核函数则决定函数的平滑性、周期性与尺度。最常用的平方指数(RBF)核为:
k(x, x′) = σ_f² · exp( - (x - x′)² / (2 ℓ²) )
其中 σ_f² 是信号方差(控制函数振幅),ℓ 是长度尺度(控制函数变化的快慢)。ℓ 越大,函数越平滑、远距离点之间相关性越强;ℓ 越小,函数越“抖动”。核函数必须满足 Mercer 条件,即对任意有限点集,核矩阵 K(K_ij = k(x_i, x_j))对称半正定。
给定训练集 D = {(x_i, y_i)}_{i=1}^n,观测模型为 y_i = f(x_i) + ε_i,ε_i ~ N(0, σ_n²),则训练输出与测试点 x_* 上函数值的联合分布为
[ y ] [ K + σ_n² I k_* ]
[ f_* ] ~ N( 0, [ k_*ᵀ k_** ] )
其中 k_* = [k(x_*, x_1), …, k(x_*, x_n)]ᵀ,k_** = k(x_*, x_*)。代入条件分布公式即得预测分布:
μ_* = k_*ᵀ (K + σ_n² I)⁻¹ y
σ_*² = k_** - k_*ᵀ (K + σ_n² I)⁻¹ k_*
这就是 GPR 的预测方程。注意 σ_*² 只依赖输入位置与核参数,不依赖观测值 y,因此可以在没有观测数据时先评估“哪里不确定性大”,这对主动学习与贝叶斯优化中的采集函数设计至关重要。
四、贝叶斯线性回归视角:GPR 是无限维线性模型
考虑线性模型 f(x) = φ(x)ᵀ w,其中 φ(x) 是特征映射,权重先验 w ~ N(0, Σ_p)。由高斯线性变换封闭性,f(x) 在任意有限点上的取值服从高斯分布,其均值为 0,协方差为
Cov(f(x), f(x′)) = φ(x)ᵀ Σ_p φ(x′)
这说明:任何贝叶斯线性回归模型都等价于一个以 k(x, x′) = φ(x)ᵀ Σ_p φ(x′) 为核的高斯过程。反过来,若核函数可写成有限维内积形式,则对应一个有限维线性模型;若特征维数趋于无穷(如 RBF 核对应无穷维特征),则对应无限维线性模型。这一视角带来两个实用结论:
- 核函数可以看作“隐式特征空间中的内积”,无需显式构造
φ(x),从而避免维数灾难; - 权重空间视角(先验 + 似然 → 后验)与函数空间视角(GP 先验 + 观测 → GP 后验)在数学上等价,前者便于理解参数不确定性,后者便于直接给出预测分布。
下面用一张图把本节的核心关系串起来:从多元高斯分布出发,经条件分布得到预测公式,再由核函数与均值函数定义 GP 先验,最后用贝叶斯线性回归视角统一解释。
把这张图与前面的公式对照,可以看到 GPR 的完整推断链条:多元高斯分布提供概率语言,条件分布提供推断公式,核函数与均值函数提供先验结构,贝叶斯线性回归提供统一解释。实际建模时,通常先对数据做零均值化和方差归一化,再选择 RBF 核并初始化 ℓ、σ_f²、σ_n²,然后通过最大化对数边缘似然来优化这些超参数:
log p(y | X, θ) = -½ yᵀ (K + σ_n² I)⁻¹ y
- ½ log |K + σ_n² I|
- (n/2) log(2π)
其中第一项衡量数据拟合,第二项惩罚模型复杂度,第三项为归一化常数。超参数优化完成后,代入预测方程即可得到任意测试点上的预测均值与方差。若预测方差在训练点附近趋近于 σ_n²、在远离训练点处回升至 σ_f²,说明核参数与噪声水平设置合理;若预测均值明显偏离训练数据趋势,则应检查均值函数假设或核函数形式是否匹配问题结构。
σ_n² 仅当作“数值稳定项”。实际上它同时承担观测噪声建模与矩阵求逆正则化的双重角色。若数据本身近似无噪声,σ_n² 过大会导致预测过度平滑、忽略局部变化;过小则 K + σ_n² I 接近奇异,数值求解不稳定。建议在 1e-6 到 1e-1 量级之间结合边缘似然曲线选择。最后给出一个可手算的示例,帮助建立数量级直觉。取一维输入,训练点 x = [0, 1],观测 y = [1, 2],核为 RBF,参数 σ_f² = 1、ℓ = 1、σ_n² = 0.01。则 K = [[1, e^{-0.5}], [e^{-0.5}, 1]] ≈ [[1, 0.6065], [0.6065, 1]],K + σ_n² I ≈ [[1.01, 0.6065], [0.6065, 1.01]]。在测试点 x_* = 0.5 处,k_* = [e^{-0.125}, e^{-0.125}] ≈ [0.8825, 0.8825],k_** = 1。代入公式可得预测均值约为 1.5,预测方差约为 1 - 0.8825² × (两个相同行向量与逆矩阵相乘的结果),数值上约为 0.12。这个结果符合直觉:在两点中间预测,均值取平均,方差小于先验方差 1,说明观测提供了信息。读者可用 Python 的 numpy.linalg.solve 复现该计算,验证公式与代码的一致性。