
导航链接- Hello- Publications- blog- Podcast- Bucket List- People- Now---- Hello- Publications- blog- Bucket List- People- Contact美丽的核函数及其可视化- 作者Kelvin Paschal- 机器学习- 发布时间2026 年 5 月 30 日想象一下你拥有一台神奇的机器只要投入奶酪它就能产出任意数量的黄金。然而你并不清楚投入多少奶酪才能获得特定数量的黄金而且这种映射关系并非线性也就是说黄金数量 $G$ 与奶酪数量 $C$ 既不是直接比例关系也不是反比例关系所以投入更多的奶酪并不一定能得到更多的黄金。你的目标是在奶酪数量有限的情况下找到从这台机器中获取最多黄金的方法。我们假定这个过程并非随机的即从奶酪数量 $(C)$ 到黄金数量 $(G)$ 存在一种映射关系。我们将这种映射关系称为 $f$你需要揭开它的神秘面纱这样在投入任意数量的奶酪 $C$ 时都能预测出能得到的黄金数量 $G$。你需要理解这种关系$G f(C)$揭示这种关系的一种途径是投入不同数量的奶酪并观察得到的黄金数量。这便是数据收集/生成过程。利用这些数据你可以构建一个模型帮助你预测每次投入奶酪 $C$ 时能得到的黄金数量 $G$。但为何这被称作模型呢模型是对其他事物的一种近似。我们并不了解这台机器的内部工作原理而且由于奶酪数量有限我们也无法观察到它的所有可能输出。我们基于观察到的有限输入和输出构建了一个奶酪 - 黄金映射的近似模型。这本质上就是机器学习建模的过程基于我们对某个过程的历史观察尝试正确地近似生成某种数据的过程。在本文中我将介绍一种特定的机器学习方法——高斯过程Gaussian processGP。为了解释 GP我将继续使用前面的类比。假设你只观察到了一两个数据点那么对于这种奶酪 - 黄金映射关系你仍然可以做出无数种猜测。当然随着你从机器中收集到更多的观察数据这种可能性的范围会逐渐缩小。GP 的工作方式是构建无数种对真实过程的猜测或函数。随着你积累更多的观察数据它会改变这些函数的形状使其与数据相匹配从而逼近真实过程就像你在获得新信息后改变自己的想法一样。GP 实际上就是函数或猜测的一种分布。由于我们有无数种猜测所以预期的真实猜测或最佳模型就是所有合理猜测的平均值。我们可以利用这些猜测之间的差异/分布来计算不确定性。如果不确定性很大说明所有猜测之间差异显著那么我们的平均猜测可能是错误的如果不确定性很小说明这些猜测差异不大我们可以信任这个平均值。$$GP(m(x), k (x,x))$$GP 的特征由其均值和协方差来描述。核函数可以帮助我们计算协方差或不确定性它能告诉我们两个点之间的关联程度。在过去几年里我一直在研究 GP我越来越欣赏它们的灵活性。它们是非参数模型不假设函数形状具有固定或有限的参数集。你可以通过改变核函数来调整 GP 对数据集的建模方式。如果你查阅核函数的定义可能会得到如下内容 核函数是机器学习中使用的一种数学工具特别是在支持向量机Support Vector MachinesSVM等算法中用于将数据转换到更高维的空间而无需显式计算该空间中的坐标。这使得在保持计算效率的同时能够分析数据中的复杂非线性关系。在 GP 的上下文中核函数或协方差函数 $k(x, x) Cov(f(x), f(x))$ 编码了哪些函数值应该一起变化它们被用作相似度的度量。如果你了解给定数据集的“形状”或模式那么在训练 GP 模型时就可以使用合适的核函数。这就是对给定数据集的领域知识发挥作用的地方。我喜欢核函数的一个有趣之处在于你可以将它们相加或相乘来形成复合核这意味着你能够让模型偏向于更复杂的数据表示。现在我们已经对机器学习和 GP 有了直观的认识在本文的剩余部分我将介绍不同的核表示及其可视化。我会提供图表展示使用特定核时从 GP 先验中抽取的一维样本以及核比较两个输入时的协方差热力图。线性核函数这个核函数并不复杂它假设函数可以用线性趋势来解释。它通过计算数据点 $x$ 和 $x$ 的点积来衡量它们之间的相似度。$$k(x, x)x^ op x$$在下面左侧的图中展示了从 GP 先验中抽取的三个样本函数它们都呈现出由该核函数形成的简单线性形状。在所有右侧的图中x 轴和 y 轴表示两个可能的输入值颜色表示核函数认为这两个值的相似程度。亮色表示“这两个点相互影响很大”暗色表示“这两个点具有反向协方差或基本无关”。周期核这个核函数适用于对周期性变化的数据进行建模例如气候数据你可能想对某个特定城市的年度温度进行建模。它正式的名称是 Exp - Sine - Squared 核。还记得正弦波是周期性的吗下面是该核函数的展开式$$k(x, x) \text{exp}\left(-\frac{ 2\sin^2(\pi d(x, x)/p) }{ l^ 2} \right)$$其中 $p$ 和 $l$ 分别是核函数的周期和长度尺度$d(.,.)$ 是欧几里得距离。你可以在下面的图中观察到它所创建的重复或周期性模式就像周期性波一样数值从低到高再从高到低变化。线性核和周期核的复合正如我之前所写你可以将核函数组合起来形成复合核这是同时利用不同核函数特性的好方法。核函数相加意味着模型可以将数据解释为多种模式的总和核函数相乘意味着所有模式必须同时适用。在下面的可视化图中我展示了将线性核和周期核相加和相乘的效果。你可以在图中看到两种核函数的痕迹但你会注意到相乘时周期核的效果更明显而相加的复合核看起来主要是线性的只有一点周期性的背景。径向基函数Radial Basis FunctionRBF核这是一种常用的核函数在支持向量机SVM中常被用作默认核。这个核函数是平稳的意味着它根据两点之间距离的大小来计算相似度而不考虑它们在空间中的位置。其公式如下$$k(x, x) \exp\left(-\frac{d(x,x)^2}{2\ell^2}\right)$$其中 $l$ 是长度尺度$d(.,.)$ 是欧几里得距离。RBF 核将距离从 0 到 1 进行缩放见下面右侧的图。当距离为无穷大时相似度为 0当 $x$ 与 $x$ 相同时相似度为 1。如果你观察右侧的图会发现在坐标中相似数字相遇的地方颜色较亮。例如(-2, -2) 处的颜色对应于 1因为这两个点是相同的。随着两点之间距离的增加它们的相似度趋近于 0。如果 $l$ 较小函数对数据的微小变化很敏感调整速度较快如果 $l$ 较大函数变化则较慢。观察左侧的图你会发现函数比较平滑这可能并不一定能反映很多现实生活中的数据情况。RBF 还有其他变体来解决这个问题。有理二次核这个核函数与 RBF 核类似从下面的公式可以看出它们很相似。RBF 核变化平滑它假设数据也是如此。但在现实生活中数据并不总是平滑的我们需要考虑这一点。有理二次核实际上是 RBF 核的无限和具有不同的长度尺度 $l$。该核函数还引入了一个参数 $\alpha$用于缩放 RBF 的混合以捕捉多个长度尺度上的变化。$$ k(x,x) \left(1 \frac{d(x,x)^2}{2\alpha \ell^2}\right)^{-\alpha} $$Matérn 核Matérn 核是 RBF 核的广义形式。它包含一个参数 $\nu$用于控制函数的平滑度。$l$ 和 $d(.,.)$ 与前面的核函数中的长度尺度和欧几里得距离参数相同而 $K_\nu$ 是第二类修正贝塞尔函数。$$k(x,x) \frac{1}{\Gamma(\nu)2^{\nu-1}}\Bigg(\frac{\sqrt{2\nu}}{l} d((x,x)\Bigg)^\nu K_\nu\Bigg(\frac{\sqrt{2\nu}}{l} d(x,x)\Bigg)$$下面我展示了 $\nu$ 取不同值时的 Matérn 核实例。当 $\nu$ 较小时意味着近似函数很敏感变化剧烈$\nu$ 较大时函数更平滑当 $\nu$ 趋近于无穷大时它就变成了 RBF 核。注意$\nu 1.2$ 时的采样函数比 $\nu 2.5$ 时的函数平滑度要低。更复杂的复合核既然我们已经介绍了一些常用的核函数我想展示一下如何用它们形成复合核这可能会让你对核函数如何根据所使用的运算符加法或乘法而变化有更深入的理解。通过堆叠不同的核函数可以创建出很酷的数据表示。注意采样函数的形状和光滑度。在本文中我们对机器学习、高斯过程和核函数有了直观的认识。我展示了不同的核表示如何改变 GP 先验函数的形状从而影响模型的归纳偏置。你可以使用合适的核函数让模型偏向于特定的数据集。用于生成这些可视化结果的所有代码都可以在这个 Colab 笔记本 中找到。你可以通过可视化你设想的其他复合核来玩转这个笔记本。标签- AI- 机器学习请启用 JavaScript 以查看 由 Disqus 提供支持的评论。联系我邮箱[[email protected]]- Bluesky- GitHub- Google Scholar- 博客 RSS或者直接在这里给我写信---发送© 2026 kelvinpaschal.com. 保留所有权利