Skip to content

为什么核技巧被称为“技巧”?

Why is Kernel Trick Called a "Trick"?

有如此多的 ML 算法使用核函数来进行稳健建模,比如 SVM、KernelPCA 等。简而言之,核函数让我们可以在某个其他特征空间(通常是高维的)中计算点积,而甚至不需要知道从当前空间到那个空间的映射(mapping)。

ds p378 1

但这究竟是怎么发生的呢?让我们来理解一下!

首先,需要指出的是,核函数提供了一种在某个高维空间中计算两个向量 a 和 b 之间点积的方法,而无需把向量投影到那个空间。如下图所示,核函数的输出被期望等于投影后向量之间的点积:

ds p378 2

关键优势在于,核函数是作用在原始特征空间中的向量上的。然而它的结果,却等于这两个向量被投影到一个更高维(但未知)空间后的点积。如果这有点令人困惑,我给你举个例子。

我们假设如下的多项式核函数:

ds p379 1

为简单起见,我们设 X 和 Y 都是二维向量:

ds p379 2

化简上面的核表达式,我们得到:

ds p379 3

展开平方项,我们得到:

ds p379 4

现在注意最终的表达式:

ds p380 1

上面的表达式是下面两个六维向量之间的点积:

ds p380 2

于是,我们的投影函数为:

ds p380 3

这表明我们之前选择的核函数,在一个六维空间中计算了点积,而无需显式地访问那个空间。

ds p380 4

这也正是我们把它称作“核技巧(kernel trick)”的主要原因。更具体地说,它之所以被表述为一个“技巧”,是因为它允许我们在高维空间中运算,而无需显式地计算数据在那个空间中的坐标。

本站内容仅供学习交流,版权归原作者所有。