草稿
多项式核
通过点积捷径加入幂次项和特征交互,而不是手动展开每一项。
concept intermediate machine-learningkernelssimilarity
Hook problem:交互项很重要
原始坐标 x1 和 x2 单独看可能都很弱,但它们的乘积 x1 x2 可能很有用。手动加入每个平方、三次方和交互项,很快就会变得繁琐。
**多项式核(polynomial kernel)**把这些交互打包进一个公式。
| 点 | 点积 | 距离平方 | K(A, z) |
|---|---|---|---|
| A | 2 | 0 | 4 |
| B | 3 | 1 | 6.250 |
| C | 1 | 5 | 2.250 |
| D | -2 | 10 | 0 |
First naive idea:手动扩展特征向量
对二次情况,映射可以包含 x1^2、x1 x2 和 x2^2。但维度更多、次数更高时,项数会快速增长。
核函数捷径保留这些项的效果,却不要求页面或程序把所有项列出来。
Formal version
这里 d 是次数,gamma 缩放点积,c 在乘方之前做平移。d=1 时接近缩放后的线性核;更高次数会加入更高阶交互。
Interactive comparison
核相似度实验台
(gamma x * z + c)^d: 不用写出所有展开特征,也能加入特征交互项。 只影响 RBF 的衰减速度;其他核函数保持固定参数。
把每个点都和选中的锚点比较。注意每种核函数对“接近”的理解不同。
相似度; 点积 2, 距离平方 0
相似度; 点积 3, 距离平方 1
相似度; 点积 1, 距离平方 5
相似度; 点积 -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
- 次数
d控制什么? - 为什么手动展开多项式特征会很痛苦?
- 当
d=1时会发生什么?
图谱连接 : 多项式核