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核函数的理解和选择

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

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

SVM核函数通常有四种: 1. Linear 2. Polynomial 3. Gaussian (RBF) 4. Sigmoid/Logistic 不知为何,RBF最常用...
  • qq_33232071
  • qq_33232071
  • 2016年03月21日 19:16
  • 3301

SVM核函数

Kernel Functions Below is a list of some kernel functions available from the existing literature. A...
  • xywlpo
  • xywlpo
  • 2011年09月01日 14:48
  • 2665

svm常用核函数

SVM核函数的选择对于其性能的表现有至关重要的作用,尤其是针对那些线性不可分的数据,因此核函数的选择在SVM算法中就显得至关重要。对于核技巧我们知道,其目的是希望通过将输入空间内线性不可分的数据映射到...
  • sinat_22510827
  • sinat_22510827
  • 2018年01月20日 15:53
  • 16

SVM学习——核函数

还记得上篇末提到的对于优化问题: }" src="http://chart.apis.google.com/chart?cht=tx&chl=max+%5cquad%5cquad%5cquad%5c...
  • xiaojiegege123456
  • xiaojiegege123456
  • 2012年07月09日 11:36
  • 10395

机器学习----SVM(3)核函数

本文主要参考了了博客:http://blog.pluskid.org/?p=685  更详细的讲解可以参考原博客。       1、为什么引入核函数呢?       为了回答这个问题,我们先来说明什么...
  • Sunshine_in_Moon
  • Sunshine_in_Moon
  • 2016年05月05日 14:52
  • 1963

【模式识别】SVM核函数

以下是几种常用的核函数表示:线性核(Linear Kernel)多项式核(Polynomial Kernel)径向基核函数(Radial Basis Function)也叫高斯核(Gaussian K...
  • xiaowei_cqu
  • xiaowei_cqu
  • 2014年06月30日 14:40
  • 38077

模式识别(Pattern Recognition)学习笔记(二十三)-- SVM的两大思想:大间隔与核函数

0.引言 上节讲到广义线性判别函数,它是从任意阶非线性判别函数到线性判别函数的一种有效变换,但是这种变换是以牺牲特征空间维数为代价的,如果能很好地处理这种维数灾难,那么上述变换也是极好的,有没有可能在...
  • eternity1118_
  • eternity1118_
  • 2016年06月13日 22:31
  • 6516

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

在LIBSVM中-t用来指定核函数类型(默认值是2)。 0)线性核函数 1)多项式核函数 2)RBF核函数 3)sigmoid核函数 4)自定义核函数 常用的四种核函数对应的公式如下:...
  • lqhbupt
  • lqhbupt
  • 2013年02月25日 17:55
  • 28011

核函数(Kernel Function)与SVM

1.核函数把低维空间映射到高维空间下面这张图位于第一、二象限内。我们关注红色的门,以及“北京四合院”这几个字下面的紫色的字母。我们把红色的门上的点看成是“+”数据,紫色字母上的点看成是“-”数据,它们...
  • bitcarmanlee
  • bitcarmanlee
  • 2017年08月26日 18:02
  • 695
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:svm常用核函数
举报原因:
原因补充:

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