图谱连接

草稿

多项式核

通过点积捷径加入幂次项和特征交互,而不是手动展开每一项。

concept intermediate machine-learningkernelssimilarity

Hook problem:交互项很重要

原始坐标 x1x2 单独看可能都很弱,但它们的乘积 x1 x2 可能很有用。手动加入每个平方、三次方和交互项,很快就会变得繁琐。

**多项式核(polynomial kernel)**把这些交互打包进一个公式。

交互项制造弯曲边界二次多项式核可以像在平方项和交互项上的点积。
从锚点 A 出发的多项式核
点积距离平方K(A, z)
A204
B316.250
C152.250
D-2100

First naive idea:手动扩展特征向量

对二次情况,映射可以包含 x1^2x1 x2x2^2。但维度更多、次数更高时,项数会快速增长。

核函数捷径保留这些项的效果,却不要求页面或程序把所有项列出来。

Formal version

K(x,z)=(γxTz+c)dK(x,z)=(\gamma x^Tz+c)^d

这里 d 是次数,gamma 缩放点积,c 在乘方之前做平移。d=1 时接近缩放后的线性核;更高次数会加入更高阶交互。

Interactive comparison

核相似度实验台

(gamma x * z + c)^d: 不用写出所有展开特征,也能加入特征交互项。 只影响 RBF 的衰减速度;其他核函数保持固定参数。

把每个点都和选中的锚点比较。注意每种核函数对“接近”的理解不同。

A -> A4

相似度; 点积 2, 距离平方 0

A -> B6.250

相似度; 点积 3, 距离平方 1

A -> C2.250

相似度; 点积 1, 距离平方 5

A -> D0

相似度; 点积 -2, 距离平方 10

Implementation sketch

function polynomialKernel(dot: number, gamma = 0.5, c = 1, degree = 2) {
  return (gamma * dot + c) ** degree;
}

Common confusions

  • 多项式核不一定比线性核更好。
  • 更高次数可以制造更灵活的边界,但也可能过拟合或产生很大的数值。
  • 参数是几何的一部分;改参数就是改相似度尺度。

Connections

多项式核通过加入交互特征来推广线性核。它和 RBF 核形成对比:RBF 用距离接近来衡量相似,而不是使用点积的幂次。

Exercises

  1. 次数 d 控制什么?
  2. 为什么手动展开多项式特征会很痛苦?
  3. d=1 时会发生什么?

图谱连接 : 多项式核