我对高斯过程以及它们如何应用于机器学习领域相当陌生。我一直在阅读和听说协方差函数是这些方法的主要吸引力。那么谁能以直观的方式解释这些协方差函数中发生了什么?
否则,如果您可以指出解释它们的特定教程或文档。
我对高斯过程以及它们如何应用于机器学习领域相当陌生。我一直在阅读和听说协方差函数是这些方法的主要吸引力。那么谁能以直观的方式解释这些协方差函数中发生了什么?
否则,如果您可以指出解释它们的特定教程或文档。
简单地说,核函数或协方差函数指定输入空间中两点也就是说,在 x 处高斯过程 (GP) 值的变化与在 x^\prime 处的 GP 变化有多大相关。在某种意义上,您可以将视为定义输入之间的相似性 (*)。
典型的核可能仅仅依赖于点之间的欧几里得距离(或其线性变换),但是当你意识到你可以做更多的事情时,乐趣就开始了。
正如大卫杜维诺所说:
内核可以定义在所有类型的数据结构上:文本、图像、矩阵,甚至内核。在一种新型数据上提出内核曾经是获得 NIPS 论文的一种简单方法。
对于 GP 内核的简单概述,我强烈推荐他的内核食谱和其中的参考资料。
(*) 正如@Dikran Marsupial 所指出的,请注意反之亦然;并非所有的相似性指标都是有效的内核(见他的回答)。
正如@lacerbi 建议的那样,内核函数(或高斯过程设置中的协方差函数)本质上是一种相似性度量,因此如果根据应用程序的需要将两个输入向量视为“相似”,则内核的值很高,并且如果它们不同,则更低。 然而,并非所有相似性度量都是有效的核函数。要成为一个有效的内核,该函数必须可解释为在某些转换后的特征空间中计算内积,即在哪里是将输入向量映射到特征空间的函数。
那么为什么内核必须在某些特征空间中被解释为内积呢?原因是为线性模型(例如逻辑回归)设计泛化性能的理论界限比为非线性模型(例如神经网络)设计泛化性能的理论界限要容易得多。大多数线性模型可以写成输入向量只以内积的形式出现。这意味着我们可以通过在内核特征空间中构建线性模型来构建非线性模型。这是数据的固定转换,因此线性模型的所有理论性能界限都会自动应用于新的内核非线性模型*。
一开始很难掌握的重要一点是,我们往往不会考虑对我们的特定应用程序有好处的特征空间,然后设计一个产生该特征空间的内核。一般来说,我们会提出一个好的相似度度量,然后看看它是否是一个核(测试很简单,如果在一般位置的点上核函数的任何成对评估矩阵是正定的,那么它就是一个有效的核) .
当然,如果你调整内核参数来优化泛化性能,例如通过最小化交叉验证误差,那么它就不再是一个固定的转换,而是从数据中学习到的一个转换,并且很多漂亮的理论都刚刚失效. 所以在实践中,虽然内核方法的设计背后有很多令人放心的理论,但界限本身通常不适用于实际应用——但它仍然令人放心,因为模型背后有合理的原则。