当前位置: 首页 > news >正文

高斯过程回归(GPR)原理的通俗解释

什么是高斯过程回归?

高斯过程回归(Gaussian Process Regression, GPR)是一种基于概率的回归方法,它不像传统回归模型(如线性回归)那样直接拟合一个固定函数,而是通过概率分布来描述所有可能的函数形式,并给出预测结果的不确定性。
本质上是通过数学公式,综合先验数据集,来对未知数据进行预测,并没有类似于深度学习的训练过程(正向反向传播),当然,我们也可以通过这种方式来优化核函数的超参数,但是一般意义下的高斯过程回归是没有训练环节的
如果把高斯过程回归当作一个黑箱,其效果就是:
输入已知的数据集(包含系统的输入X输出Y),再提供新的输入X*,黑箱输出对应Y*的高斯分布(概率密度函数)

RBF线性回归是高斯过程回归的一种特例

通俗类比:
假设你有一个黑盒子,输入是某个变量(比如温度),输出是另一个变量(比如湿度)。你想知道输入和输出之间的关系,但黑盒子内部的规律未知。

  • 传统方法会直接拟合一条曲线(比如直线或多项式),作为最佳猜测。
  • GPR则认为:所有可能的曲线都有可能存在,但某些曲线更合理(比如更平滑)。它会给出一个“概率分布”,告诉你哪些曲线更可能,哪些不太可能,并基于这些可能性给出预测结果。

举个栗子 🌰

假设你想预测某个城市的气温随时间的变化:

  • 数据:过去一周每天中午的气温(7个点)。
  • GPR的处理
    1. 假设气温变化是平滑的(用RBF核)。
    2. 根据已知的7个点,计算所有可能曲线的概率分布。
    3. 对于明天的气温,GPR会给出一个预测值(比如25°C)和一个置信区间(比如23°C~27°C)。

核心思想

高斯过程(Gaussian Process, GP)是GPR的理论基础。它把函数看作一个无限维的正态分布,即:

  • 任意有限个输入点对应的输出值服从多维正态分布。
  • 这些点之间的相关性由 核函数(Kernel) 决定。

通俗理解:

  • 假设你想预测某个地点的温度,已知附近几个点的温度。
  • 核函数会告诉你:“离得越近的点,温度越相似”(比如用“高斯核”来量化这种相似性)。
  • 有了核函数,GPR就能根据已知数据点,推断出所有可能的温度分布,并给出最可能的预测值和不确定性范围。

三个关键步骤

(1)先验分布:定义函数的“可能性”

在没有任何数据之前,GPR假设所有可能的函数都符合某种“先验”规律。

  • 均值函数:通常设为0,表示在没有数据时,默认函数值围绕0波动。
  • 核函数:决定函数的平滑性和形状。例如:
    • RBF核(径向基函数):类似高斯函数,假设输出值随输入距离的增加而指数衰减相关性。
    • 马特恩核:允许更灵活的平滑性调整。

先验就像你对黑盒子的“初始猜测”——比如你认为温度变化应该是平滑的,而不是突然跳跃的。


(2)后验分布:结合数据更新先验

当观测到一些数据点(输入-输出对)后,GPR会用贝叶斯定理更新先验分布,得到后验分布

  • 后验分布描述了:在已知数据的条件下,所有可能函数的概率分布。
  • 对于新的输入点,GPR会给出一个预测值(均值)和不确定性(标准差)。

你测量了几个点的温度,发现某些位置的温度特别高。GPR会调整之前的猜测,认为这些高温点附近的区域也可能温度偏高,但不确定性会随着距离增加而增大。


(3)预测:给出结果和不确定性

对于一个新的输入点 x ∗ x_* x,GPR会计算:

  • 预测均值:最可能的输出值。
  • 预测方差:不确定性(方差越大,说明预测越不可靠)。

公式简化版:
预测值 = K ( x ∗ , X ) ⋅ [ K ( X , X ) + σ n 2 I ] − 1 ⋅ y \text{预测值} = K(x_*, X) \cdot [K(X,X) + \sigma_n^2 I]^{-1} \cdot y 预测值=K(x,X)[K(X,X)+σn2I]1y
其中:

  • K ( X , X ) K(X,X) K(X,X) 是训练数据点之间的相似性矩阵(核函数计算)。
  • K ( x ∗ , X ) K(x_*, X) K(x,X) 是新点与训练数据点的相似性向量。
  • σ n 2 \sigma_n^2 σn2 是噪声的方差(假设观测数据有噪声)。

预测值是已知数据点的加权平均,权重由新点与每个数据点的相似性决定。越相似的点,对预测的影响越大。

常规协方差矩阵求解方法
中心化后的矩阵 X ′ X' X,其中 x i j ′ = x i j − μ j x'_{ij} = x_{ij} - \mu_j xij=xijμj x i j x_{ij} xij为原矩阵元素, μ j \mu_j μj为特征 j j j的均值。确保协方差计算仅基于数据偏离均值的部分。
C ∈ R p × p C \in \mathbb{R}^{p \times p} CRp×p 的元素 c k l c_{kl} ckl 表示第 k k k 个特征与第 l l l 个特征的协方差:
c k l = 1 n − 1 ∑ i = 1 n ( x i k ′ ⋅ x i l ′ ) c_{kl} = \frac{1}{n-1} \sum_{i=1}^n (x'_{ik} \cdot x'_{il}) ckl=n11i=1n(xikxil)
通常采用无偏估计(分母为 n − 1 n-1 n1),总之,协方差矩阵是衡量两个向量的差异,其元素由任意两个特征偏差计算而来

但在GPR中,我们通常使用核函数求对应的协方差矩阵(Moore-Aronszajn定理证明了该方式的合理性),这让我们可以跳过繁琐的求解过程,将两个向量(样本)代入核函数,即可直接得到对应的协方差矩阵

但是理解常规的解法,有助于我们理解协方差的本质,且更具有泛用性
完整公式分析可以看这篇博客,讲的确实不错

通常我们只需要站在巨人的肩膀上,直接用就好了,证明公式对不对,不是我需要考虑的事,我们只需要筛选正确信息即可(做控制已经很累了,再学泛函分析真没时间)


  1. 无需假设函数形式:不像线性回归需要提前假设是直线还是曲线,GPR通过核函数自动适应数据的复杂性。
  2. 提供不确定性估计:不仅给出预测值,还能告诉你预测的可信度(比如误差范围)。
  3. 小样本友好:即使数据量少,也能通过核函数捕捉数据间的潜在关系。
  4. 灵活性强:通过选择不同的核函数,可以适应周期性、平滑性、非线性等不同类型的规律。

  1. 计算复杂度高:当数据量很大时(比如上万点),矩阵求逆的计算量会非常大(时间复杂度 O ( n 3 ) O(n^3) O(n3))。
  2. 核函数选择依赖经验:核函数的选择和参数调优对结果影响很大,需要一定的领域知识。
  3. 不适合高维输入:输入特征维度很高时(比如图像),核函数的效果可能下降。

应用场景

  1. 时间序列预测:比如股票价格、天气预测,利用历史数据预测未来值及其波动范围。
  2. 机器人路径规划:在未知环境中,预测传感器数据并评估路径的安全性(不确定性)。
  3. 电池SOC估计:根据电压、电流等输入,预测电池的剩余电量(如知识库中的锂电池案例)。
  4. 超参数调优:在机器学习中,GPR常用于贝叶斯优化,寻找最优的模型超参数。

总结

高斯过程回归(GPR)是一种强大的概率模型,它的核心思想是:

“我不知道真实函数长什么样,但我知道它可能符合某种规律(核函数),并根据观测数据不断修正猜测。”

如果你需要模型不仅给出预测值,还能告诉你“有多确定这个预测”,那么GPR是一个不错的选择

相关文章:

  • 从 SpringBoot 到微服务架构:Java 后端开发的高效转型之路
  • 5.2 参数管理
  • vue3的响应式设计原理
  • Tengine:高性能Web服务器的原理与应用实践优雅草卓伊凡
  • 通俗的桥接模式
  • 如何安装不同版本的ESP-IDF,并配置Vscode插件,以及在Vscode中切换版本
  • Linux:进程间通信---消息队列信号量
  • Linux 信号终篇(总结)
  • HTTP/3展望、我应该迁移到HTTP/2吗
  • LeetCode 270:在二叉搜索树中寻找最接近的值(Swift 实战解析)
  • 从父类到子类:C++ 继承的奇妙旅程(2)
  • LinkedList源码解析
  • 嵌入式硬件篇---麦克纳姆轮(简单运动实现)
  • 【金仓数据库征文】国产数据库KingbaseES安装与使用详解
  • 深度解析 MySQL 与 Spring Boot 长耗时进程:从故障现象到根治方案(含 Tomcat 重启必要性分析)
  • Java与Go语言对比教程
  • LeetCode --- 448 周赛
  • MCP项目实例 - client sever交互
  • AZScreenRecorder最新版:功能强大、操作简便的手机录屏软件
  • LangGraph(三)——添加记忆
  • 广西百色通报:极端强对流天气致墙体倒塌,3人遇难7人受伤
  • 宇数科技王兴兴:第一桶金来自上海,欢迎上海的年轻人加入
  • 李在明正式登记参选下届韩国总统
  • 经济日报刊文:品牌经营不能让情怀唱“独角戏”
  • 2025中国南昌国际龙舟赛5月23日启幕,是历年来南昌举办的最高规格龙舟赛事
  • 国家税务总局泰安市税务局:山东泰山啤酒公司欠税超536万元