为什么回归需要不确定性?Gaussian-Process-Regression-Tutorial带你读懂高斯过程回归的初心

为什么回归需要不确定性?Gaussian-Process-Regression-Tutorial带你读懂高斯过程回归的初心

【免费下载链接】Gaussian-Process-Regression-Tutorial An Intuitive Tutorial to Gaussian Processes Regression 【免费下载链接】Gaussian-Process-Regression-Tutorial 项目地址: https://gitcode.com/gh_mirrors/ga/Gaussian-Process-Regression-Tutorial

当我们做回归预测时,往往只关心"预测值是多少"。但在很多真实场景中,"这个预测有多可靠"同样重要,甚至更关键。高斯过程回归(Gaussian Process Regression,GPR)正是这样一种既能给出预测值、又能量化预测不确定性的机器学习方法。而 Gaussian-Process-Regression-Tutorial 项目,就是一本从直觉出发、面向新手的经典高斯过程回归教程。今天这篇文章,就带你一起读懂它背后的设计初心。

为什么回归需要不确定性?先从一个"多选题"说起

什么是回归?简单说,就是根据已有的观测数据点(训练集),找到一条尽可能贴合数据的函数,再用它预测新位置的值。

传统回归方法(比如多项式拟合)通常只给出一条"最优"函数。可问题在于:能拟合同一批观测点的函数往往不止一条,甚至有无穷多条。不同曲线在观测点附近表现差不多,但在没有数据的区域却可能天差地别。

回归预测不确定性:同一个数据集可以拟合出多条不同的函数

上图直观展示了这一点:随着新的观测点(星号)不断加入,候选函数的范围被逐步收窄。这也引出了回归的核心痛点——只给一个答案远远不够,我们更想知道这个答案有多可信。💡

不确定性量化在实际应用中价值巨大:

  • 贝叶斯优化:主动探索不确定性最高的区域,高效寻找最优参数;
  • 主动学习:优先标注模型最"没把握"的样本,用更少数据达到更好效果;
  • 机器人学习:对预测不自信的决策点保持谨慎,避免危险动作。

一句话总结:知道"自己不知道什么",比知道"答案"更重要。 这正是高斯过程回归被发明出来的初心。

高斯过程回归是什么:函数空间上的概率分布

理解高斯过程回归,关键要跳出"函数是确定的"这一惯性思维。

回顾一维高斯分布:均值 μ 和方差 σ² 就能完全刻画一条钟形曲线。把这种思想推广到"函数"上——高斯过程是定义在函数空间上的概率分布,它描述的是"所有可能函数的概率"。

高斯过程回归先验分布:从高斯过程先验中采样得到的函数曲线

上图是从一个高斯过程先验中采样出的 200 条函数曲线,对应 gpr_tutorial.ipynb 中的可视化实验。可以看到,每条曲线都是一个"可能的函数",它们整体构成了我们对函数形态的初始假设(先验)。

更生动的演示在动图 gpr_animation.gif 中:随着参与建模的点逐渐增多,函数之间的协方差结构越来越清晰,采样出的曲线也越来越有"函数的样子"。

高斯过程的正式定义:它是所有能拟合给定数据点的函数的概率分布。

有了这个分布,我们就有了两样宝贝:

  • 均值 → 作为预测的函数本身;
  • 方差 → 表示预测的不确定性大小。

高斯过程回归的三大基石:高斯分布、核函数与条件分布

教程用很大篇幅铺陈三个基础概念(对应 gpr_tutorial.ipynb 中的 "Basics" 章节),它们是理解高斯过程回归的必经之路。

高斯分布:一切不确定性的起点

一维高斯分布(正态分布)是最简单的起点。只要给定均值 μ 和方差 σ²,就能完全描述一个随机变量取值的概率。

高斯过程回归基础:一维高斯分布的概率密度曲线

教程从一维高斯出发,逐步推广到"把每个点的函数值都看作一个随机变量",再用协方差矩阵把这些随机变量关联起来,就得到了多元高斯分布(MVN)——高斯过程回归的数学骨架。

核函数:衡量两个点"有多像"

光有独立的高斯点还不够——如果函数值之间互不相关,采样出的"函数"就会像锯齿一样杂乱。核函数(Kernel,也叫协方差函数)就是来解决这个问题的:它定义了两个输入点 x₁ 和 x₂ 之间的相似程度,相似的点函数值也应该相近。

教程采用最经典的平方指数核(也叫 RBF 核、高斯核):两个点离得越近,协方差越大,函数值越趋向一致;离得越远,相关性越弱。这就是高斯过程回归能生成"平滑函数"的秘密。✨

条件分布:从联合分布到预测

多元高斯还有一个美妙性质:条件分布仍然是高斯分布。当已知一部分点(观测数据)后,可以通过条件分布推算出其他位置(预测点)的分布。

高斯过程回归条件分布:二维高斯条件概率示意

教程中 2d_gaussian_conditional.png 这张图展示了在已知 x₂ 后,x₁ 的条件分布被"切"出来,依然是一条高斯曲线。高斯过程回归的整个预测过程,本质上就是在做这件事。

高斯过程回归如何给出预测不确定性:从先验到后验

现在把三大基石串起来,高斯过程回归的完整流程就很清晰了:

  1. 选先验:用核函数定义协方差矩阵,构建"所有可能函数"的先验分布;
  2. 加观测:把训练数据(观测点)代入联合分布;
  3. 算后验:利用条件分布公式,推导出预测点上的均值与方差。

高斯过程回归后验分布:40条后验采样函数在观测点处收敛

上图中灰色细线是从后验分布中采样的 40 条函数曲线,红色虚线是预测均值。可以清楚看到两个特点:

  • 所有后验采样函数都在观测点处"坍缩"——因为观测值已经把那里的不确定性压到了零;
  • 在远离观测点的区域,采样曲线明显发散——这正是模型诚实地告诉你"这里我不确定"。

这正是高斯过程回归最迷人的地方:预测不是一条线,而是一个带着"信心带"的分布。 阴影越宽,预测越不可靠,而模型自己心里有数。🎯

高斯过程回归超参数:控制函数形状的两个旋钮

核函数里的 l 和 σ² 被称为超参数,它们直接决定模型行为:

  • l(长度参数):控制函数的"平滑程度"。l 越小,函数越灵活、波动越大;l 越大,函数越平缓;
  • σ²(垂直缩放):控制函数值的整体波动幅度。

高斯过程回归超参数:核函数长度参数对函数平滑度的影响

上图(来自 hyperparameter.png)直观对比了不同 l 取值下的函数形态。教程中还演示了如何通过最大化对数边际似然来自动学习这些超参数,让模型自己去"调节旋钮"。

如何快速上手高斯过程回归教程:项目结构与学习路径

Gaussian-Process-Regression-Tutorial 的用法非常友好,核心学习材料都在项目根目录:

  • gpr_tutorial.ipynb:主教程,图文代码一体,从高斯分布讲到完整的高斯过程回归实现,建议按顺序通读;
  • README.md:项目导读,概述了教程的动机、结构与核心结论;
  • latex/arXiv/:教程对应的正式学术论文(作者 Jie Wang,发表于 Computing in Science & Engineering),想深入理论可配合阅读;
  • img/tex/:所有配图与公式源文件,方便复现与二次创作。

想要本地运行教程,只需执行:

git clone https://gitcode.com/gh_mirrors/ga/Gaussian-Process-Regression-Tutorial

然后用 Jupyter 打开 gpr_tutorial.ipynb 即可逐步执行。教程中所有可视化(包括上面这些图)都可以通过运行对应代码单元一键复现,非常适合边看边动手。

如果你学完还想了解工程化的高斯过程回归工具,教程最后一节还对比了 scikit-learn、GPy、GPflow、GPyTorch 等主流框架的适用场景,帮你无缝衔接到实际项目。

总结:预测不确定性,是高斯过程回归的初心

回到开篇的问题:为什么回归需要不确定性?

因为现实世界很少给我们"标准答案"。高斯过程回归的初心,就是承认这一点,并用优雅的数学语言把它表达出来——它不仅告诉你"预测是什么",还告诉你"预测有多可靠"

Gaussian-Process-Regression-Tutorial 的价值在于:它不堆砌公式,而是用大量直观的可视化(先验采样、后验收敛、超参数对比),让每个新手都能真正"用起来、用明白"。如果你正在寻找一门能快速入门的高斯过程回归教程,它值得你从第一个 cell 开始读起。

【免费下载链接】Gaussian-Process-Regression-Tutorial An Intuitive Tutorial to Gaussian Processes Regression 【免费下载链接】Gaussian-Process-Regression-Tutorial 项目地址: https://gitcode.com/gh_mirrors/ga/Gaussian-Process-Regression-Tutorial

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值