核技巧 Kernel Trick

ML

依赖提醒

这一节内容依赖于 SVM 内容。如果你跳过了 SVM 也请跳过这一节。

上一节 SVM,我们定义了 作为核函数。这里我们将在这一节更细节地讨论核技巧。

核方法和核技巧本质上是相同的概念,只是在不同语境下使用的不同术语。

请不要将其和 CNN 中的卷积核混淆。它们是不同的概念。

空间变换

如果简单的去看待核函数,我们可以认为核函数是一个函数,其输入是两个向量,输出是一个标量。即

从空间角度来看,其是将两个位于 空间的向量映射到一个新的标量空间 。而我们也称这个新的空间为再生核希尔伯特空间(RKHS)。

通过定义不同的输入空间 和映射函数 ,我们可以得到不同的核函数 。如果我们考虑图片、文本等等空间为 ,如果我们能寻找到一个 或者 ,我们就可以对这些数据进行处理。例如对于自然语言处理领域,我们希望读取文本去进行一些操作,我们可以使用 TF-IDF 核以处理。

总的来说,核函数除了让我们可以处理非线性问题也可以让我们处理不同种类点数据。

Mercer's Condition

直接寻找一个 是一个困难的问题,甚至很多 难以用方程表达出来。但是我们可以通过直接构建 而不去寻找 来解决这个问题。

Mercer's Condition 是一个充分条件,如果一个函数 满足 Mercer's Condition,那么我们可以认为 是一个合法的核函数。因此我们就跳过寻找 的过程,直接寻找

其定义为: 考虑所有点 ,令定义函数 的类 Gram 矩阵 。我们假设 是有 个元素的集合,那么 是一个 的方阵,即

那么,如果矩阵

  • 对称的(symmetric),即:
    • 或者说 或者说
  • 且是半正定的(Positive Semidefinite, PSD)记作
    • 即对于任何 ,有

是一个合法的核函数。

组合核 Compositional Kernels

如果我们有两个核函数 ,我们可以通过以下方式构建新的核函数: