SVM 的核函数选择和调参

本文结构:

什么是核函数

都有哪些 & 如何选择

调参

1. 什么是核函数

核函数形式 K(x, y) =,

其中 x, y 为 n 维,f 为 n 维到 m 维的映射,表示内积。

在用SVM处理问题时,如果数据线性不可分,希望通过 将输入空间内线性不可分的数据 映射到 一个高维的特征空间内,使数据在特征空间内是线性可分的,这个映射记作 ϕ(x),

之后优化问题中就会有内积 ϕi⋅ϕj,

这个内积的计算维度会非常大,因此引入了核函数,

kernel 可以帮我们很快地做一些计算, 否则将需要在高维空间中进行计算。

2. 都有哪些 & 如何选择

下表列出了 9 种核函数以及它们的用处和公式,常用的为其中的前四个:linear,Polynomial,RBF,Sigmoid

其中 linear kernel 和 RBF kernel 在线性可分和不可分的对比可视化例子如下:

3. 调参

在 sklearn 中可以用 grid search 找到合适的 kernel,以及它们的 gamma,C 等参数,那么来看看各 kernel 主要调节的参数是哪些:

其中有两个重要的参数,即 C(惩罚系数) 和 gamma,

gamma 越大,支持向量越少,gamma 越小,支持向量越多。

而支持向量的个数影响训练和预测的速度。

C 越高,容易过拟合。C 越小,容易欠拟合。

学习资料:

https://data-flair.training/blogs/svm-kernel-functions/

https://www.quora.com/What-are-kernels-in-machine-learning-and-SVM-and-why-do-we-need-them

https://www.zhihu.com/question/21883548

https://www.quora.com/How-do-I-select-SVM-kernels

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180607G0AN1W00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券