协方差函数或内核-它们到底是什么?


13

我对高斯过程领域及其在机器学习中的应用方式还很陌生。我一直在阅读和听到协方差函数是这些方法的主要吸引力。那么,谁能以直观的方式解释这些协方差函数中发生了什么呢?

否则,如果您可以指出特定的教程或说明它们的文档。



如果这主要是参考请求问题,则可以添加“ references”标签。(问题是相当广泛的,但是如果您接受指出您应该去阅读的内容的人,那么在很大程度上可以解决该问题。)
Silverfish

Answers:


12

用宽松的术语来说,核或协方差函数指定输入空间中两个点之间的统计关系;也就是说,处的高斯过程(GP)值的变化与处的GP的变化有多显着相关。在某种意义上,您可以认为定义了输入(*)之间的相似性。k(x,x)x,xxxk(,)

典型的内核可能仅取决于点之间的欧几里得距离(或其线性变换),但是当您意识到自己可以做更多的事情时,乐趣就开始了。

正如David Duvenaud所说:

可以在所有类型的数据结构上定义内核:文本,图像,矩阵甚至内核。针对新型数据提供内核曾经是获取NIPS论文的简便方法。

为了使GP内核更容易了解,我热烈推荐他的《内核食谱》及其参考。


(*)正如@Dikran Marsupial所指出的那样,请注意相反的说法不正确;并非所有相似度指标都是有效的内核(请参阅他的答案)。


8

正如@lacerbi所建议的那样,核函数(或高斯过程设置中的协方差函数)本质上是一个相似性度量,因此,如果根据应用程序的需要将两个输入向量视为“相似”,则核的值很高。如果它们不同,则降低。 但是,并非所有相似度指标都是有效的内核功能。要成为有效内核,该函数必须可解释为在某些变换后的特征空间中计算内部乘积,即其中是将输入向量映射到特征空间的函数。φ K(x,x)=ϕ(x)ϕ(x)ϕ()

那么,为什么在某些功能空间中必须将内核解释为内部产品呢?原因是在线性模型(例如逻辑回归)的泛化性能方面设计理论界限要比在非线性模型(例如神经网络)方面要容易得多。可以编写大多数线性模型,以便输入向量仅以内积形式出现。这意味着我们可以通过在内核特征空间中构建线性模型来构建非线性模型。这是数据的固定转换,因此线性模型的所有理论性能范围都会自动应用于新的内核非线性模型*。

首先很难理解的重要一点是,我们倾向于不考虑对我们的特定应用程序有利的功能空间,然后设计产生该功能空间的内核。总的来说,我们提出了一个很好的相似性度量,然后看它是否是一个核(测试很简单,如果在总体位置上的点对核函数进行成对求值的任何矩阵都是正定的,那么它就是一个有效核) 。

当然,如果您调整内核参数以优化泛化性能(例如,通过最小化交叉验证误差),则它不再是固定的转换,而是从数据中学到的,而且许多漂亮的理论也只是无效。因此,在实践中,尽管内核方法的设计背后有很多令人放心的理论,但界限本身通常并不适用于实际应用,但是由于模型中存在可靠的原理,因此仍然令人放心。


1
“一个内核(测试很简单,如果内核函数的成对评估的任何矩阵都是正定的,那么它就是有效内核)。” 我相信您需要包括“不同点”。
马克·L·斯通
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.