svm常用核函数

原创 2016年08月29日 19:34:27

SVM核函数的选择对于其性能的表现有至关重要的作用,尤其是针对那些线性不可分的数据,因此核函数的选择在SVM算法中就显得至关重要。对于核技巧我们知道,其目的是希望通过将输入空间内线性不可分的数据映射到一个高纬的特征空间内使得数据在特征空间内是可分的,我们定义这种映射为ϕ(x),那么我们就可以把求解约束最优化问题变为

minαs.t.αi0,12i=1Nj=1Nαiαjyiyj(ϕiϕj)i=1Nαii=1Nαiyi=0i=1,2,...,N

但是由于从输入空间到特征空间的这种映射会使得维度发生爆炸式的增长,因此上述约束问题中内积ϕiϕj的运算会非常的大以至于无法承受,因此通常我们会构造一个核函数
κ(xi,xj)=ϕ(xi)ϕ(xj)
从而避免了在特征空间内的运算,只需要在输入空间内就可以进行特征空间的内积运算。通过上面的描述我们知道要想构造核函数κ,我们首先要确定输入空间到特征空间的映射,但是如果想要知道输入空间到映射空间的映射,我们需要明确输入空间内数据的分布情况,但大多数情况下,我们并不知道自己所处理的数据的具体分布,故一般很难构造出完全符合输入空间的核函数,因此我们常用如下几种常用的核函数来代替自己构造核函数:

  • 线性核函数
    κ(x,xi)=xxi
    线性核,主要用于线性可分的情况,我们可以看到特征空间到输入空间的维度是一样的,其参数少速度快,对于线性可分数据,其分类效果很理想,因此我们通常首先尝试用线性核函数来做分类,看看效果如何,如果不行再换别的
  • 多项式核函数
    κ(x,xi)=((xxi)+1)d
    多项式核函数可以实现将低维的输入空间映射到高纬的特征空间,但是多项式核函数的参数多,当多项式的阶数比较高的时候,核矩阵的元素值将趋于无穷大或者无穷小,计算复杂度会大到无法计算。
  • 高斯(RBF)核函数
    κ(x,xi)=exp(||xxi||2δ2)
    高斯径向基函数是一种局部性强的核函数,其可以将一个样本映射到一个更高维的空间内,该核函数是应用最广的一个,无论大样本还是小样本都有比较好的性能,而且其相对于多项式核函数参数要少,因此大多数情况下在不知道用什么核函数的时候,优先使用高斯核函数。
  • sigmoid核函数
    κ(x,xi)=tanh(η<x,xi>+θ)
    采用sigmoid核函数,支持向量机实现的就是一种多层神经网络。

因此,在选用核函数的时候,如果我们对我们的数据有一定的先验知识,就利用先验来选择符合数据分布的核函数;如果不知道的话,通常使用交叉验证的方法,来试用不同的核函数,误差最下的即为效果最好的核函数,或者也可以将多个核函数结合起来,形成混合核函数。在吴恩达的课上,也曾经给出过一系列的选择核函数的方法:

  • 如果特征的数量大到和样本数量差不多,则选用LR或者线性核的SVM;
  • 如果特征的数量小,样本的数量正常,则选用SVM+高斯核函数;
  • 如果特征的数量小,而样本的数量很大,则需要手工添加一些特征从而变成第一种情况。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

【模式识别】SVM核函数

以下是几种常用的核函数表示:线性核(Linear Kernel)多项式核(Polynomial Kernel)径向基核函数(Radial Basis Function)也叫高斯核(Gaussian K...

理解支持向量机(二)核函数

由之前对核函数的定义(见统计学习方法定义7.6): 设χ是输入空间(欧氏空间或离散集合),Η为特征空间(希尔伯特空间),如果存在一个从χ到Η的映射 φ(x): χ→Η 使得对所有的x,z∈χ...

常用的核函数

以下是几种常用的核函数表示: 线性核(Linear Kernel) 多项式核(Polynomial Kernel) 径向基核函数(Radial Basis Function) ...

总结一下遇到的各种核函数~

由于之前做了很多核方法相关的子空间学习算法,本文打算对各种核函数进行一下简要的介绍,希望对大家能够有所帮助。...

svm核函数的理解和选择

特征空间的隐式映射:核函数     咱们首先给出核函数的来头:在上文中,我们已经了解到了SVM处理线性可分的情况,而对于非线性的情况,SVM 的处理方法是选择一个核函数 κ(⋅,⋅) ,通过将数据映...
  • Leonis_v
  • Leonis_v
  • 2016年02月18日 22:52
  • 21923

Kernel SVM (核函数支持向量机)

1. SVM 目标函数及约束条件SVM 的介绍及数学推导参考:我的CSDN,此处直接跳过,直接给出 SVM 的目标函数和约束条件:minw,b12wTws.t.yn(wTxn+b)≥1,n=1,..N...

SVM熟练到精通3:核函数与非线性分类

文章引自pluskid于2010年发表于“Machine Learning”板块,本文仅做编辑。 1.回顾 前面我们介绍了线性情况下的支持向量机,它通过寻找一个线性的超平面来达到对数...

选择支持向量机(SVM)核函数

SVM核函数通常有四种: 1. Linear 2. Polynomial 3. Gaussian (RBF) 4. Sigmoid/Logistic 不知为何,RBF最常用...

libSVM简介及核函数模型选择

1. libSVM简介 训练模型的结构体 struct svm_problem //储存参加计算的所有样本 { int l; //记录样本总数 double *y; //指向样本类别的组数 ...

SVM学习笔记(3)LIBSVM中的核函数及其参数

在LIBSVM中-t用来指定核函数类型(默认值是2)。 0)线性核函数 1)多项式核函数 2)RBF核函数 3)sigmoid核函数 4)自定义核函数 常用的四种核函数对应的公式如下:...
  • lqhbupt
  • lqhbupt
  • 2013年02月25日 17:55
  • 26930
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:svm常用核函数
举报原因:
原因补充:

(最多只允许输入30个字)