从联合分布到条件分布:Gaussian-Process-Regression-Tutorial三步推导高斯过程回归预测方程
【免费下载链接】Gaussian-Process-Regression-TutorialAn Intuitive Tutorial to Gaussian Processes Regression项目地址: https://gitcode.com/gh_mirrors/ga/Gaussian-Process-Regression-Tutorial
Gaussian-Process-Regression-Tutorial 是 Jie Wang 编写的高斯过程回归入门教程,配套一份可交互运行的 Jupyter 笔记本 gpr_tutorial.ipynb 和一篇正式论文的 LaTeX 源码(位于 latex/arXiv/ 目录)。许多新手在接触高斯过程回归时,最困惑的往往不是"高斯过程是什么",而是那张神秘的预测方程究竟从哪来。本文将沿教程的核心脉络,把推导拆成清晰的三步:先建立联合分布,再套用 MVN 条件分布定理,最后代入核矩阵得到高斯过程回归预测方程。全程不烧脑,用直觉 + 少量公式带你走完这条路。
为什么高斯过程回归的预测方程值得认真推导?
回归任务的本质,是根据观测点找出一条函数,并对新输入做出预测。普通回归方法只给一个"答案",而高斯过程回归的独特优势是:它给出一整个分布——预测均值告诉你答案在哪,预测方差告诉你答案有多可信。这份不确定性正是贝叶斯优化、主动学习等进阶应用的基石。
教程 README.md 中反复强调一个核心观点:高斯过程是"所有可能函数上的概率分布"。一旦你手里有这个分布,取均值就是预测函数,取方差就是置信区间。而"从分布到预测",本质上就是从联合分布走向条件分布的过程。
推导前的三块基础砖
在动笔之前,先确认三块拼图,缺一不可:
基础一:多元高斯分布(MVN)由均值向量和协方差矩阵完全刻画
一个多元高斯分布完全由均值向量 $\mu$ 和协方差矩阵 $\Sigma$ 决定。协方差矩阵的对角线是每个变量自己的方差,非对角线则描述变量两两之间的相关程度。下图展示了二维高斯的联合分布与两个边际分布的关系:
基础二:核函数定义"点与点之间的相似度"
高斯过程回归常用平方指数核(RBF / 高斯核):$k(x_i, x_j) = \sigma^2 \exp\left(-\frac{1}{2l^2}|x_i - x_j|^2\right)$。两点越近,协方差越大;越远,协方差趋近于 0。它保证了:输入相近的点,函数值也相近——这正是"平滑函数"的来源。
基础三:联合分布切一刀,就是条件分布,而且条件分布仍是高斯
这是整个推导的钥匙。对二维高斯曲面沿某个变量方向"切一刀",得到的截面曲线依然是高斯分布:
左边是三维视角下固定 $x_1$ 后的切片,右边是该切片在二维平面上对应的一维高斯条件分布。"固定已知变量、推断未知变量"正是回归想做的事。
第一步:把观测点和预测点放进同一个联合分布
假设我们已有观测输入 $\mathbf{X}$ 与观测输出 $\mathbf{y}$,想预测新位置 $\mathbf{X}*$ 上的函数值 $\mathbf{f}*$。在高斯过程回归中,我们假设观测值与预测值共同服从一个多元高斯分布:
$$\begin{pmatrix}\mathbf{y} \ \mathbf{f}*\end{pmatrix} \sim \mathcal{N}\left(\mathbf{0},; \begin{pmatrix}\mathbf{K} + \sigma_n^2\mathbf{I} & \mathbf{K}* \ \mathbf{K}*^T & \mathbf{K}{**}\end{pmatrix}\right)$$
其中 $\mathbf{K}=\kappa(\mathbf{X},\mathbf{X})$、$\mathbf{K}*=\kappa(\mathbf{X},\mathbf{X})$、$\mathbf{K}{**}=\kappa(\mathbf{X},\mathbf{X}_*)$ 都是由核函数算出的协方差矩阵,$\sigma_n^2$ 是观测噪声方差。下图直观地展示了"已知红色观测 → 推断蓝色新点"的联合建模思路:
这一步的要点是:不要把观测和预测分开看,而是把它们当成同一个高维高斯随机向量的不同分量。
第二步:套用 MVN 条件分布定理
现在问题变得很纯粹:我们已知这个联合分布,且已经观测到了 $\mathbf{y}$,想知道 $\mathbf{f}*$ 的条件分布 $p(\mathbf{f}* \mid \mathbf{y}, \mathbf{X}, \mathbf{X}_*)$。
教程在这里直接调用了概率论中著名的MVN 边缘分布与条件分布定理:
把联合分布的分块形式代入定理,立刻得到 eqn. 2.19(见 gpr_tutorial.ipynb 的 Math 章节):
$$\mathbf{f}* \mid \mathbf{y}, \mathbf{X}, \mathbf{X}* \sim \mathcal{N}\left(\mathbf{K}*^T\mathbf{K}^{-1}\mathbf{y},; \mathbf{K}{**} - \mathbf{K}*^T\mathbf{K}^{-1}\mathbf{K}*\right)$$
注意观察条件均值的形态:$\mathbf{K}_*^T$ 衡量"新点与观测点的相似度",再乘以 $\mathbf{K}^{-1}\mathbf{y}$——相似度越高,观测对预测的影响越大。直觉上完全合理。
第三步:代入核矩阵,得到高斯过程回归预测方程
现实中我们只能观测到带噪声的 $y = f(x) + \epsilon$,所以把上一步中的 $\mathbf{K}$ 换成含噪声的 $\mathbf{K} + \sigma_n^2\mathbf{I}$,就得到了教科书 GPML 中的预测方程(eqn. 2.22–2.24):
$$\bar{\mathbf{f}}* = \mathbf{K}*^T\left[\mathbf{K} + \sigma_n^2\mathbf{I}\right]^{-1}\mathbf{y}$$
$$cov(\mathbf{f}*) = \mathbf{K}{**} - \mathbf{K}*^T\left[\mathbf{K} + \sigma_n^2\mathbf{I}\right]^{-1}\mathbf{K}*$$
均值是所有可能函数在 $\mathbf{X}_*$ 处取值的加权平均,就是预测曲线;方差刻画每个预测点的不确定性,离观测点越远、方差越大。教程还给出了基于 Cholesky 分解的高效实现流程,避免直接求逆:
用 notebook 亲手验证预测方程
纸上得来终觉浅。教程的 gpr_tutorial.ipynb 用不到 30 行代码实现了上述全部流程:采样 20 个观测点、计算核矩阵、Cholesky 分解求 $\alpha$、再算出测试点的均值与方差。运行后你会看到,预测均值曲线平滑地穿过观测点,灰色区域(±2 倍标准差)在数据稀疏处明显变宽——不确定性量化一目了然。从后验中抽取 40 条函数曲线,它们全部"钉"在观测点上:
总结:三个值得带走的直觉
- 高斯过程回归预测方程 = 联合分布 + 条件分布定理。三步推导中没有引入任何新魔法,只是把熟悉的概率论定理用在了核矩阵上。
- 均值看趋势,方差看信心。预测方程同时给出答案与不确定度,这正是高斯过程回归区别于普通回归的核心价值。
- 公式可以忘,结构要记住:相似度(核矩阵)、加权(求逆)、更新(条件分布)——抓住这条主线,即使公式细节淡忘,你也能向别人讲清楚高斯过程回归预测方程从何而来。
想深入了解每一步的数学细节与可视化代码,直接打开仓库中的 gpr_tutorial.ipynb 逐节运行;论文级的正式推导与排版则见 latex/arXiv/elsarticle-template-num.tex。从联合分布到条件分布,三步之后,高斯过程回归对你将不再神秘。
【免费下载链接】Gaussian-Process-Regression-TutorialAn Intuitive Tutorial to Gaussian Processes Regression项目地址: https://gitcode.com/gh_mirrors/ga/Gaussian-Process-Regression-Tutorial
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考