核技巧(Kernel Trick)是一招数学上的"偷懒":本来要让模型处理非线性问题,得先把数据映射到高维空间,而它让我们跳过这一步,直接用原始坐标里的一个函数,算出数据在高维空间中的内积。
为什么想到升维
想象二维平面上一圈红点围着中心,蓝点散在圈外。在平面里画不出任何一条直线把它们分开,这就是线性不可分。但如果给每个点加第三个坐标——它到原点的距离——把点抬到三维空间,红点就落进一个"碗底",蓝点贴在"碗壁",一个平面就能把两者切开。
一般化地说:存在一个映射 φ(phi),把 x 变成 φ(x),维度可能远高于原始数据,甚至无穷维,而在那里数据变得线性可分。
技巧藏在哪
麻烦在于 φ(x) 常常算不出来,或者算起来太贵。核技巧注意到:很多算法(AI 词典:支持向量机 SVM">支持向量机 SVM、核岭回归、核 PCA)在训练和预测时,真正用到的只是样本之间的内积 ⟨φ(x), φ(z)⟩,从不需要 φ(x) 本身。
于是我们找一个核函数 K(x, z),满足 K(x, z) = ⟨φ(x), φ(z)⟩,却只用原始坐标做运算。生活化的比方:要判断两个人合不合拍,不必先给每人写一份 500 项的性格清单(那等于显式升维),只要有个函数直接吐出"合拍分"就行。分数够用,中间那份清单根本不必写出来。
经典例子:K(x, z) = (x·z)² 这个核,等价于把二维点映射到三维 (x₁², √2x₁x₂, x₂²),但计算量仍停留在二维。高斯核(RBF)对应的映射是无穷维,照样能靠核函数算出来。
| 对比项 | 显式升维 | 核技巧 |
|---|---|---|
| 是否构造 φ(x) | 要 | 不要 |
| 单次计算代价 | 随新维度增长 | 只随原始维度增长 |
| 能处理无穷维吗 | 不能 | 能 |
| 典型用途 | 手工特征工程 | SVM、核 PCA、高斯过程 |
几个容易混的概念
核技巧是手段,核方法(Kernel Methods)是用它的那一类算法的统称。它和特征工程都追求"让数据变得线性可分",区别是前者不真的构造新特征。和深度学习相比:深度网络自己学表示,核方法靠人选核函数;样本少、维度中等、结构规整时,核方法依然好用。
对从业者的意义
按 n 个样本计算,核矩阵是 n×n,与特征维度无关——维度高不心疼,样本多才心疼:训练复杂度通常随样本量平方甚至立方增长,数据量很大时就得考虑随机特征、Nyström 这类近似,或者转向深度学习。实践中最常见的是 RBF 核加两个待调参数(核宽度 γ 与正则强度),它是小样本表格数据上值得先试的基线。具体核函数与参数以所用库的官方文档为准。
