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 kernel

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

Gaussian radial basis function (RBF)

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

Sigmoid kernel

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

Gaussian kernel

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

Laplace RBF kernel

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

Hyperbolic tangent kernel

neural networks中用

Bessel function of the first kind Kernel

可消除函数中的交叉项

ANOVA radial basis kernel

回归问题

Linear splines kernel in one-dimension

text categorization,回归问题,处理大型稀疏向量

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

linear kernel

RBF 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 越小,容易欠拟合。


学习资料: 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


推荐阅读 历史技术博文链接汇总 http://www.jianshu.com/p/28f02bb59fe5 也许可以找到你想要的: [入门问题][TensorFlow][深度学习][强化学习][神经网络][机器学习][自然语言处理][聊天机器人]

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Duncan's Blog

StatisticLearning

1.泛化误差/期望损失(风险函数):是理论模型f(X)关于联合分布P(X,Y)的平均意义下的损失.

1142
来自专栏PPV课数据科学社区

机器学习常见的算法面试题总结

摘要:包含机器学习常见算法公式、原理和优缺点比较,简介清洗,适合作为面试和考试前速查和记忆使用。 朴素贝叶斯 P(A∩B)=P(A)*P(B|A)=P(B)*P...

1K5
来自专栏红色石头的机器学习之路

台湾大学林轩田机器学习基石课程学习笔记15 -- Validation

上节课我们主要讲了为了避免overfitting,可以使用regularization方法来解决。在之前的 上加上一个regularizer,生成 ,将其最...

2540
来自专栏机器之心

Kaggle车辆边界识别第一名解决方案:使用预训练权重轻松改进U-Net

3828
来自专栏鸿的学习笔记

分类问题中的维度诅咒(下)

换句话说,如果可用训练数据的数量是固定的,我们继续添加维度的话,则会发生过拟合。另一方面,如果我们不断增加维度,训练数据的数量需要快速增长以保持相同的覆盖,并避...

1091
来自专栏魏晓蕾的专栏

【机器学习】CS229课程笔记notes1翻译-Part I线性回归

      让我们开始谈论一些监督学习的例子。假定我们有一个数据集,给出俄勒冈州波特兰地区47套房屋的居住面积和价格:

2069
来自专栏外文文献翻译

从潜在向量生成大图像 - 第二部分

更多分辨率为1080x1080的MNIST数字

24010
来自专栏计算机视觉战队

每日一学——线性分类笔记(下)

Softmax分类器 SVM是最常用的两个分类器之一,而另一个就是Softmax分类器,它的损失函数与SVM的损失函数不同。对于学习过二元逻辑回归分类器的读者来...

4217
来自专栏SIGAI学习与实践平台

【实验】理解SVM的核函数和参数

支持向量机(SVM)在很多分类问题上曾经取得了当时最好的性能,使用非线性核的支持向量机可以处理线性不可分的问题。仅仅通过一个简单的核函数映射,就能达到如此好的效...

1331
来自专栏iOSDevLog

人工智能-深度学习

1612

扫码关注云+社区

领取腾讯云代金券