为了账号安全,请及时绑定邮箱和手机立即绑定

SVM 的核函数选择和调参

标签:
人工智能

本文结构:

  1. 什么是核函数

  2. 都有哪些 & 如何选择

  3. 调参


1. 什么是核函数

核函数形式 K(x, y) = <f(x), f(y)>,
其中 x, y  为 n 维,f 为 n 维到 m 维的映射,<f(x), f(y)> 表示内积。

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

之后优化问题中就会有内积 ϕi⋅ϕj,
这个内积的计算维度会非常大,因此引入了核函数,
kernel 可以帮我们很快地做一些计算, 否则将需要在高维空间中进行计算。


2. 都有哪些 & 如何选择

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

核函数用处公式
linear kernel线性可分时,特征数量多时,样本数量多再补充一些特征时,linear kernel可以是RBF kernel的特殊情况

Polynomial kernelimage processing,参数比RBF多,取值范围是(0,inf)

Gaussian radial basis function (RBF)通用,线性不可分时,特征维数少 样本数量正常时,在没有先验知识时用,取值在[0,1]

Sigmoid kernel生成神经网络,在某些参数下和RBF很像,可能在某些参数下是无效的

Gaussian kernel通用,在没有先验知识时用

Laplace RBF kernel通用,在没有先验知识时用

Hyperbolic tangent kernelneural networks中用

Bessel function of the first kind Kernel可消除函数中的交叉项

ANOVA radial basis kernel回归问题

Linear splines kernel in one-dimensiontext categorization,回归问题,处理大型稀疏向量

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


linear kernelRBF kernel
线性可分

线性不可分


3. 调参

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

核函数公式调参
linear kernel


Polynomial kernel

-d:多项式核函数的最高次项次数,-g:gamma参数,-r:核函数中的coef0
Gaussian radial basis function (RBF)

-g:gamma参数,默认值是1/k
Sigmoid kernel

-g:gamma参数,-r:核函数中的coef0

其中有两个重要的参数,即 C(惩罚系数) 和 gamma,
gamma 越大,支持向量越少,gamma 越小,支持向量越多。
而支持向量的个数影响训练和预测的速度。
C 越高,容易过拟合。C 越小,容易欠拟合。


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消