高斯过程回归模拟器 返回
机器学习模拟器

高斯过程回归 — RBF核和95%置信区间

1维数据的GP回归实时可视化。通过调整观测点数、长度尺度、信号方差、噪声,学习贝叶斯不确定性推估的行为。

参数设置
观测点数 N
长度尺度 l
信号方差 σ_f
噪声 σ_n

真实函数 $y=\sin(x)+0.5\cos(2x)$ 加上确定论述噪声的N个观测(LCG seed=42固定)进行GP回归。

暂停时,拖动滑块即可即时更新结果。

计算结果
观测点数 N
核长度尺度 ℓ
最大预测不确定性 σ
x*=5 的预测平均值 μ
GP回归的预测平均值和95%置信区间

灰色虚线=真实函数 $\sin(x)+0.5\cos(2x)$ /黄色圆点=观测点(逐点添加)/蓝色实线=预测平均值 μ(x)/蓝色填充=95%置信带(μ ± 1.96σ)/绿线=后验分布采样

理论·主要公式

在高斯过程回归中,用核函数表示观测点间的协方差,通过对观测数据进行条件化求得预测点的平均值和方差。

RBF核(信号方差 $\sigma_f$、长度尺度 $l$):

$$k(x, x') = \sigma_f^2 \exp\!\left(-\frac{(x - x')^2}{2 l^2}\right)$$

向核矩阵加入噪声方差($\delta_{ij}$ 为Kronecker Delta):

$$K_{ij} = k(x_i, x_j) + \sigma_n^2 \delta_{ij}$$

预测点 $x_\ast$ 的预测平均值和预测方差:

$$\mu(x_\ast) = \mathbf{k}_\ast^\top K^{-1} \mathbf{y}, \qquad \sigma^2(x_\ast) = k(x_\ast, x_\ast) - \mathbf{k}_\ast^\top K^{-1} \mathbf{k}_\ast$$

95%置信区间为 $\mu \pm 1.96\,\sigma$。观测点越远离,方差越大,不确定性自动增加,这是其特征。

高斯过程回归模拟器简介

🙋
我只知道最小二乘法回归,「高斯过程回归」有什么不同吗?
🎓
最大的区别是「预测带有不确定性」。最小二乘法只返回一条最佳直线或曲线,而GP为每个预测点返回「平均值」和「周围波动范围」的配对。上面模拟器中蓝色实线是预测平均值,淡蓝色带子是95%置信区间。你会注意到在观测点(黑色圆点)附近带子较窄,离开观测区时带子变宽。
🙋
真的!只有在观测点少的区间,带子才膨胀。这是自动的吗?
🎓
没错,没人写代码说「离观测点远时不确定性就要增加」。是GP的数学本身告诉我们的。用公式说,预测方差 $\sigma^2(x_\ast) = k(x_\ast,x_\ast) - \mathbf{k}_\ast^\top K^{-1} \mathbf{k}_\ast$。离观测点远时 $\mathbf{k}_\ast$ 变小,被减去的项也小,所以方差就大了。这就是「不确定性自动出现」的秘密。
🙋
「长度尺度」滑块左移时,曲线变得波浪状。右移时几乎是直线。
🎓
这就是l的作用。RBF核中的 $\exp(-(x-x')^2 / 2l^2)$ 决定了「多远的点仍被认为相似」。l小时只有近处点有影响,结果曲线波浪状。l大时远处点也被认为「相似」,曲线过度平滑,无法捉住真实波动。实务中通过最大化「对数边际似然」来自动选择l。试试在看log似然卡片的同时移动l滑块,能看出最大值对应的最优l。
🙋
那「噪声σ_n」增大会怎样?
🎓
σ_n增大时,GP会认为「观测值不太准确」,结果不再严格通过观测点,曲线变得光滑。反之σ_n非常小时,GP会试图通过每个观测点,导致过拟合。实务中需要找到「真实噪声水平」,通过最大化对数边际似然来自动调整。GP的强大之处在于l、σ_f、σ_n这些超参数都能从数据里「一致地学习」。

常见问题

有,Matérn(ν=1/2、3/2、5/2)、有理二次(rational quadratic)、周期核、线性核等很多选择。RBF无限次可微,过于光滑,Matérn 3/2或5/2更现实。周期现象(季节变化、振荡等)用周期核,多种行为组合用核加法或乘法。
对超参数θ=(l, σ_f, σ_n)用梯度法(L-BFGS等)最大化log p(y|X, θ)。这个值自然平衡了「对数据的拟合」和「模型复杂度的惩罚」,起到正则化作用防止过拟合。sklearn.gaussian_process、GPy、GPflow等库自动处理求导和优化。
N达到数千~数万时O(N³)计算变不可行,用M≪N个「诱导点」来近似。SVGP(随机变分GP)用变分推理学习诱导点,支持小批量学习。FITC、DTC、KISS-GP等多种近似方法可处理百万级数据,在精度和成本间权衡。
常见的有EI(期望改进)、UCB(置信上界)、PI(改进概率)。EI最大化「超过当前最佳值的期望改进量」,UCB选「平均值高且不确定性大的点」。UCB中κ越大越倾向探索,越小越倾向利用。多目标优化用EHI(期望超体积改进)。

现实应用

贝叶斯优化:机器学习超参数搜索(学习率、层数、正则系数等),单次评估需数小时~数天。用GP推估平均值和不确定性,通过获取函数选择下一个试点,比随机或网格搜索快得多。AutoML、SigOpt、Optuna等工具已广泛实装。

材料设计·实验规划:合成新材料时实验条件(温度、组成、时间)探索成本极高。用GP贝叶斯优化可从过去实验推荐「下一个有前景的条件」,大幅减少实验次数。电池、催化剂、合金开发、药物设计已有实用案例。

模拟的代理模型:用少量CFD或FEM计算结果训练GP作为代理,替代重计算。设计优化、敏感性分析、不确定性传播可减少计算成本数个数量级。航空机翼气动设计、汽车碰撞鲁棒优化有应用。

地球统计学(Kriging):GP在地理空间的应用称「Kriging」,自1960年代起用于矿产评估、土壤污染制图、气象补间。从少数测点推断未测点值和其不确定性,指导补充取样。其实Kriging就是历史上称GP的「地统」版本。

常见误解和注意

最常见的误解是「超参数(l, σ_f, σ_n)随便设就行」。实际这些值决定了预测质量。试试在模拟器中把l拖到0.1和5.0两个极端,前者完全过拟合噪声,后者完全捕捉不到真实振荡。实务必须通过对数边际似然最大化自动调参,或至少交叉验证选l。「目测好看」很危险。

再常见的误解是把预测区间读成「预测值必然有95%概率在这里」。实际是「在当前模型(核选择+超参)下的概率」,若模型本身与现实不符则无效。比真函数是周期的却用RBF核,信心带只表示「光滑函数内的不确定」,看不到结构性偏离。要分别验证「预测平均离真值多远」。

最后「加观测点就必然精度上升」不总是对。N增大时核矩阵条件数变坏,Cholesky分解数值不稳定。实装常在对角加小正则项(10⁻⁶量级)稳定化。计算量也是O(N³)倍增,N超数千需考虑稀疏GP或诱导点法。「加数据」和「重新选核」要平衡考虑。

使用指南

  1. 用滑块设置训练数据点数(N),在1维输入空间生成观测点
  2. 调整RBF核长度尺度(L值:0.1~5.0),控制预测曲线平滑度
  3. 修改信号方差σ_f(0.5~3.0)和噪声方差σ_n(0.01~1.0),实时观察95%置信区间宽度变化
  4. 检查x*=5的预测平均值μ和标准差σ、全体平均不确定性、对数边际似然log p(y),探索最优超参数

具体计算示例

使用本工具默认设置(观测点 N=10、长度尺度 l=1.0、信号方差 σ_f=1.5、噪声 σ_n=0.10、真函数 y=sin(x)+0.5cos(2x)、输入 0~10)运行高斯过程回归,在预测点 x*=5 处预测平均值 μ≈-1.288、预测标准差 σ≈0.268,95%置信区间 μ±1.96σ ≈ [-1.81, -0.76]。全部预测点的平均不确定性约 0.351,对数边际似然 log p(y)≈-9.33。观测密集区 σ 较小,无数据区 σ 增大,可用于采样策略优化。将 l 在 0.1 与 5.0 两端移动可观察过拟合与过平滑对置信区间的影响。

实务注意事项

  1. 长度尺度L<0.5会过度拟合噪声,L>3.0会遗漏局部变化,必须交叉验证选择
  2. 噪声方差σ_n≦0.05会导致RBF核矩阵数值不稳定,逆矩阵计算失败,需添加正则化参数
  3. 训练点N>500时RBF核矩阵计算O(N³)急剧延迟,应考虑迁移至稀疏近似(诱导点法)
  4. 多输出系统(如复合成型过程的温度·压力同时预测)需用LMC显式定义核间相关结构