SVM 的核函数选择和调参

作者: 不会停的蜗牛 | 来源:发表于2018-06-07 08:11 被阅读68次

本文结构:

  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][深度学习][强化学习][神经网络][机器学习][自然语言处理][聊天机器人]

相关文章

  • SVM 的核函数选择和调参

    本文结构: 什么是核函数 都有哪些 & 如何选择 调参 1. 什么是核函数 核函数形式 K(x, y) =

  • 072 FM&FFM

    FM和SVM多项式核差异 SVM多项式核函数 上式中可以看出多项式核起到对特征交叉的作用,但是当样本中存在大量的稀...

  • Polynomial Kernel

    核函数实现转换 + 内积 首先采用线性核配合原始SVM;然后考虑对偶配合各种核函数

  • sklearn中随机测试数据:sklearn包中SVM算法库的使

    目录 SVM相关知识点回顾1.1. SVM与SVR1.2. 核函数sklearn中SVM相关库的简介2.1. 分类...

  • 机器学习小组第十周打卡

    学习目标 知识点描述:致敬真神:支持向量机 学习目标: SVM算法原理及数学推导 SVM算法中的核函数 SVM算法...

  • 2018-12-16

    svm糖尿病预测 项目描述:基于python的sklearn库实现用svm预测糖尿病患者,使用rbf核函数。svm...

  • 10 SVM - 核函数

    09 SVM - 线性不可分模型 十一、核函数初识 假设: 函数Ф是一个从低维特征空间到高维特征空间的一个映射,那...

  • RN中组件DatePickerIOS中的onChange和onD

    ①:onChange 用户选择日期组件发生变化时触发回调函数,回调函数的入参是event 即:onChange =...

  • 超详细白板推导:从模型和优化 2 个角度详解 SVM 核函数

    在 SVM 白板推导| 由最大间隔化目标演化的损失函数推导过程 中白板手推了 SVM 的原理,并介绍了硬间隔核函数...

  • LR与SVM

    LR 最大化似然函数: 决策边界: 核函数:, 实际中LR不采用核函数方法,因为SVM只依赖于支持向量,而LR考虑...

网友评论

    本文标题:SVM 的核函数选择和调参

    本文链接:https://www.haomeiwen.com/subject/nfrwsftx.html