高斯过程回归(GPR)依赖协方差函数刻画数据相关性,适用于小样本、不确定性估计与物理可解释性任务;需选对核函数、标准化输入输出、用边际似然优化超参,并利用预测标准差评估不确定性。

高斯过程回归(GPR)不是“黑箱拟合器”,它靠协方差函数刻画数据的内在相关性,适合小样本、带不确定性估计、需物理可解释性的预测任务——比如传感器校准、材料性能建模、实验响应面拟合。
选对核函数,比调参更重要
核函数决定GPR如何理解“相似点”。默认的RBF核(径向基函数)平滑但可能过泛化;遇到周期性信号(如温度日变化),加个周期核;有趋势项(如随时间缓慢上升的退化数据),叠加一个线性核或白噪声核处理测量误差。scikit-learn中可用sklearn.gaussian_process.kernels组合构建,例如:
kernel = RBF(length_scale=1.0) * ConstantKernel(1.0) + WhiteKernel(noise_level=1e-2)——乘号表示自动相关,加号表示独立效应。
训练前务必标准化输入输出
GPR对量纲敏感:温度(℃)和压力(MPa)数值范围差三个数量级,不缩放会导致优化器在超参空间“迷路”。用StandardScaler或MinMaxScaler统一到均值为0、方差为1(或[0,1]区间)。注意:对y做标准化后,预测完要反变换回原始单位,且预测方差也要同步缩放(乘以y_std²)。
用边际似然最大化自动选超参,别硬调
GPR训练本质是最大化对数边际似然(log-marginal-likelihood),它自动权衡拟合优度与模型复杂度。scikit-learn的GaussianProcessRegressor默认开启optimizer="fmin_l_bfgs_b",会迭代搜索最优核参数。若收敛失败,可设n_restarts_optimizer=5多起点重试;也可手动指定初值(如length_scale粗略设为输入特征范围的1/5)加快收敛。
立即学习“Python免费学习笔记(深入)”;
预测时别只取均值,善用标准差
- 调用predict(X_test, return_std=True)直接得预测均值+标准差,后者反映局部不确定性——稀疏区域、远离训练点处标准差自然变大;
- 用标准差构造95%置信区间(均值±1.96×std),可视化能直观暴露模型“没把握”的区域;
- 若下游要做主动学习或采样决策,可基于方差选下一轮最值得测量的点(即最大不确定性采样)。
基本上就这些。GPR不是万能,样本超2000点时计算开销陡增(O(n³)),这时可考虑稀疏GPR或转用随机森林+分位数回归替代。关键在理解核的设计逻辑,而不是把数据扔进去等结果。










