← 返回题目列表

SVM 常见的核函数有哪些?RBF 核怎么选?参数 γ 起什么作用?

高频 中等 第 5 / 25 题 更新于 2026/09/25
支持向量机SVM核函数RBF高斯核
学习 AI 实战项目

简化版

SVM 常见核函数包括线性核、多项式核、RBF(高斯)核和较少使用的 sigmoid 核。线性核适合先做可扩展基线,尤其是高维稀疏数据;RBF 能表达局部非线性,但训练与预测成本随样本和支持向量增长,不能无条件称为默认最优。RBF 的 γ 控制相似度衰减尺度:γ 较大时作用更局部、复杂度通常更高,γ 较小时边界通常更平滑。核选择、特征缩放、C 和 γ 必须放进同一交叉验证流水线,并结合样本规模与预测延迟选择。

详细版

常见核函数:

核公式特点适用
线性核K = xᵀz不升维、快、可解释高维稀疏、线性可分(文本)
多项式核K = (γ·xᵀz + r)^d表达特征交叉,参数多(d,γ,r)有明确多项式关系
RBF/高斯核K = exp(-γ‖x-z‖²)无穷维、按距离度量相似中小规模非线性候选
sigmoid 核K = tanh(γ·xᵀz + r)类神经网络、非总合法核少用

RBF 核的 γ:

K(x,z) = exp(-γ‖x-z‖²)
  • 两样本越近 K 越接近 1(相似),越远越接近 0。
  • γ 大 → 只有非常近的样本才算相似 → 影响范围小 → 边界复杂弯曲 → 过拟合。
  • γ 小 → 较远样本也算相似 → 影响范围大 → 边界平滑 → 欠拟合。

选核经验: 线性可分或高维稀疏用线性核;非线性、拿不准用 RBF;C(容错)与 γ(弯曲度)联合网格搜索 + 交叉验证。

完整版教学

一、核函数的作用回顾

核函数 K(x,z)=φ(x)·φ(z) 让 SVM 隐式地在高维空间找线性边界,从而处理原空间的非线性。换不同的核,就是换不同的高维映射,也就换出不同形状的决策边界。 所以「选核」本质是「选一族能匹配数据结构的非线性边界」。

二、线性核:不升维,专治高维稀疏

K(x, z) = xᵀz

线性核就是原始内积,不做任何升维,等价于普通的线性 SVM。它的价值在于:

  • 高维稀疏数据(如文本 TF-IDF、One-Hot 后的特征)本身在原空间就大概率线性可分,无需再升维,用 RBF 反而慢又易过拟合。
  • 快、可扩展:不用算复杂核,能处理大规模数据。
  • 可解释:有显式的 w,能看特征权重。

经验法则:特征数远大于样本数、或数据本就近似线性可分 → 首选线性核。 文本分类是线性核的经典战场。

三、多项式核:显式表达特征交叉

K(x, z) = (γ·xᵀz + r)^d

多项式核能表达到 d 阶的特征交互。齐次形式 (γxᵀz)^d 对应恰好 d 次项;带非零常数 r 的非齐次形式 (γxᵀz+r)^d 才会展开出 0 到 d 次项,不能一概说成“所有次数 ≤d”。

  • 参数多:d(阶数)、γ(缩放)、r(常数项),调起来麻烦。
  • d 越大表达力越强但越易过拟合、数值也可能不稳定(大数幂)。
  • 适合已知数据有明确多项式/交叉结构的场景,实践中不如 RBF 通用。

四、RBF(高斯)核:最通用的默认选择

K(x, z) = exp(-γ‖x - z‖²)

RBF 核按两个样本之间的距离衡量相似度:距离越近,K 越接近 1(很相似);距离越远,K 越接近 0(不相似)。它把样本映射到无穷维空间(泰勒展开有无穷项),表达能力极强,能拟合各种复杂的非线性边界。

为什么它常被列为非线性基线候选:

  • 表达力强:在适当条件下具有通用逼近性质,但有限样本下的效果仍由 C、γ、缩放和数据分布决定。
  • 只有一个核参数 γ(加上 C),比多项式核好调。
  • 实践中大多数非线性问题上表现稳健。

经验法则:先跑线性基线;中小规模且线性效果不足时,再把 RBF 放入候选。大样本上还要评估核矩阵训练成本和支持向量预测延迟。

五、RBF 的关键参数 γ——控制「影响范围」和「弯曲程度」

γ 是 RBF 最重要的参数,理解它就理解了 RBF 的过拟合/欠拟合行为。

K=exp(-γ‖x-z‖²),γ 控制「距离多远还算相似」:

  • γ 大:γ‖x-z‖² 增长快,只有非常接近的样本 K 才不接近 0 → 每个样本的影响范围很小、很「局部」 → 决策边界为了迁就每个点变得极其弯曲复杂 → 过拟合(训练好、测试差)。极端时每个支持向量只管自己附近,退化成「记住训练点」。
  • γ 小:远处样本也还算相似 → 每个样本影响范围大、很「全局」 → 决策边界平滑 → 可能欠拟合(连训练集都拟合不好,趋近线性)。
γ 大 → 影响范围小 → 边界复杂弯曲 → 过拟合(方差大)
γ 小 → 影响范围大 → 边界平滑     → 欠拟合(偏差大)

六、C 和 γ 一起调——网格搜索 + 交叉验证

RBF-SVM 有两个关键超参数,作用不同但都影响过拟合,要联合调:

  • C(软间隔容错):C 大→不容错、间隔窄→过拟合;C 小→容错、间隔宽→欠拟合。
  • γ(RBF 边界弯曲度):γ 大→边界复杂→过拟合;γ 小→边界平滑→欠拟合。

标准做法是网格搜索(Grid Search)+ 交叉验证:在 C ∈ {0.1,1,10,100…}、γ ∈ {0.001,0.01,0.1,1…} 的组合上交叉验证,选验证集最好的组合。两者常有交互,不能只调一个。

七、sigmoid 核与选核总结

  • sigmoid 核 tanh(γxᵀz+r):形式像神经网络的激活,但在某些参数下不满足 Mercer 条件(不是合法核),实践中很少用。
  • 选核决策:
数据线性可分 / 高维稀疏(文本)→ 线性核
中小规模且线性不足 → 验证 RBF
已知明确多项式/交叉结构 → 多项式核
样本量巨大 → 线性核(RBF 训练太慢)

别忘了 RBF/多项式核对特征缩放极敏感(核里有距离/内积),通常应在训练集上拟合缩放器,再对验证集和测试集做同样变换。

八、用算例与工程边界复核

RBF 核 K(x,z)=exp(-γ||x-z||²)。当距离平方为 4 时,γ=0.1 得 e^-0.4≈0.670,γ=1 得 e^-4≈0.018;γ 越大,单个样本影响范围越窄,边界更弯曲且过拟合风险更高。

对象/方案核心机制选择或风险
线性核xᵀz高维稀疏或近线性
多项式核(γxᵀz+r)^d指定阶交互但参数敏感
RBFexp(-γ

把推导和选择压缩成执行路径:

scale features
 -> linear baseline
 -> CV search C and γ
 -> inspect score, SV count and latency

scikit-learn 的 gamma=scale 只是数据相关默认值,不是理论最优值;正式模型仍应在合法验证流程中调参。

九、常见误区与追问

  • 误区:γ 越大,核函数越平滑。 γ 大使相似度随距离更快衰减,模型边界通常更局部、更复杂。
  • 误区:RBF 总比线性核准确。 高维稀疏和近线性任务中线性核常更快且泛化更好。
  • 追问:C 和 γ 如何联动? 大 C 与大 γ 都可能提高复杂度,应联合交叉验证而非分别拍定。
  • 追问:Sigmoid 核一定满足 Mercer 条件吗? 只在部分参数范围内是合法 PSD 核,不能任意设置。
  • 追问:多项式 degree 越高越好吗? 高阶扩大表达力也放大数值和过拟合风险,通常从低阶验证。

十、加强记忆

线性核适合高维稀疏和大样本基线;多项式核表达指定阶交互,齐次与非齐次形式对应的次数范围不同;RBF 按距离定义相似度,γ 大时更局部、γ 小时更平滑,但过拟合与欠拟合是常见趋势而非单参数定律;sigmoid 核只在部分参数下合法。实践应先在训练折内缩放,再联合搜索核、C、γ,并同时检查验证指标、支持向量数、训练资源和线上延迟。