资讯

多项式核函数是什么?隐式地引入特征之间的组合

2026-11-053 分钟阅读百科
TL;DR多项式核函数(Polynomial Kernel)定义为两个样本内积加常数后的 d 次方,对应于包含原始特征所有不超过 d 阶乘积组合的特征空间,使支持向量机等线性方法能够学习多项式形状的非线性边界并刻画特征交互,常用于自然语言处理中的特征组合,阶数过高易过拟合和数值不稳定。

多项式核函数(Polynomial Kernel Function)是核方法中常用的一种核函数。它的计算方法是:先计算两个样本的内积,再加上一个常数,然后取 d 次方,d 叫作多项式的阶数。借助核技巧,它可以让支持向量机等线性方法,隐式地在一个包含了原始特征各种乘积组合的高维空间中进行计算,从而学习到非线性的关系。

它对应着什么样的特征空间

以二维的数据为例,假设每个样本有两个特征 x1 和 x2,使用阶数为 2、常数为 1 的多项式核。可以证明,计算这个核函数,就相当于先把每个样本映射到一个新的特征空间中,这个空间包含常数项、原始的两个特征、两个特征各自的平方,以及两个特征的乘积等一共六个维度,再计算它们在新空间中的内积。也就是说,多项式核自动地为我们引入了特征的平方项和特征之间的乘积项,也就是交互项。一般地,阶数为 d 的多项式核,对应的特征空间包含了原始特征所有阶数不超过 d 的乘积组合。当原始特征很多、阶数较高时,这个特征空间的维度会非常大,但借助核技巧,我们只需要在原始空间中计算内积再取 d 次方,计算量几乎没有增加。

参数的作用

多项式核通常有几个参数。阶数 d:决定了能够表示的特征组合的最高阶数,也决定了决策边界的复杂程度。阶数为 1 时,多项式核就退化为线性核;阶数为 2 时,可以表示二次曲线形状的边界,比如椭圆、抛物线;阶数越高,边界可以越复杂。但阶数过高,模型容易过拟合,而且核函数的数值可能变得非常大或非常小,导致计算不稳定,实际中通常使用 2 到 3 阶。常数项:它控制着高阶项和低阶项之间的相对重要性。常数为零时,只包含恰好 d 阶的组合,这叫齐次多项式核;常数大于零时,所有低于 d 阶的组合也都被包含在内。此外,有时还会对内积乘以一个缩放系数。

它的特点和应用

多项式核的一个优点是可解释性比高斯核更好:它对应的特征空间是有限维的,每个维度都有明确的含义,就是原始特征的某种乘积组合,可以理解为模型在考虑特征之间的交互作用。比如在自然语言处理中,单个词语提供的信息有限,而两个词语的组合往往更有意义,比如“不”和“好”组合在一起表达的意思与它们各自的意思完全不同。在深度学习兴起之前,使用二阶多项式核的支持向量机常被用于词性标注、句法分析、命名实体识别等任务,用来捕捉特征之间的组合效应。研究者还发现,对于二阶多项式核,可以直接显式地计算出所有的特征组合,再用线性模型进行训练,有时速度会更快。在图像识别中,多项式核也曾被用于手写数字识别等任务。

与高斯核的比较

高斯核对应的是一个无穷维的特征空间,表达能力更强,参数也较少,只需要调节带宽,在不确定使用哪种核函数时常被作为首选。多项式核对应的是有限维的空间,在数据确实存在多项式形式的关系、或者需要考虑特征之间有限阶的交互时更加合适。在实际使用中,通常通过交叉验证来比较不同核函数及其参数的效果。