SVM的两个参数 C 和 gamma

原创 2015年06月06日 10:54:00
           SVM模型有两个非常重要的参数C与gamma。其中 C是惩罚系数,即对误差的宽容度。c越高,说明越不能容忍出现误差,容易过拟合。C越小,容易欠拟合。C过大或过小,泛化能力变差

           gamma是选择RBF函数作为kernel后,该函数自带的一个参数。隐含地决定了数据映射到新的特征空间后的分布,gamma越大,支持向量越少,gamma值越小,支持向量越多。支持向量的个数影响训练与预测的速度。

          此外大家注意RBF公式里面的sigma和gamma的关系如下

   

        这里面大家需要注意的就是gamma的物理意义,大家提到很多的RBF的幅宽,它会影响每个支持向量对应的高斯的作用范围,从而影响泛化性能。我的理解:如果gamma设的太大,会很小,很小的高斯分布长得又高又瘦, 会造成只会作用于支持向量样本附近,对于未知样本分类效果很差,存在训练准确率可以很高,(如果让无穷小,则理论上,高斯核的SVM可以拟合任何非线性数据,但容易过拟合)而测试准确率不高的可能,就是通常说的过训练;而如果设的过小,则会造成平滑效应太大,无法在训练集上得到特别高的准确率,也会影响测试集的准确率。

此外,可以明确的两个结论是:
结论1:样本数目少于特征维度并不一定会导致过拟合,这可以参考余凯老师的这句评论:
这不是原因啊,呵呵。用RBF kernel, 系统的dimension实际上不超过样本数,与特征维数没有一个trivial的关系。

结论2:RBF核应该可以得到与线性核相近的效果(按照理论,RBF核可以模拟线性核),可能好于线性核,也可能差于,但是,不应该相差太多。
当然,很多问题中,比如维度过高,或者样本海量的情况下,大家更倾向于用线性核,因为效果相当,但是在速度和模型大小方面,线性核会有更好的表现。

老师木还有一句评论,可以加深初学者对SVM的理解:
须知rbf实际是记忆了若干样例,在sv中各维权重重要性等同。线性核学出的权重是feature weighting作用或特征选择 。
以上摘录了:http://blog.sina.com.cn/s/blog_6ae183910101cxbv.html


Grid Search

Grid Search是用在Libsvm中的参数搜索方法。很容易理解:就是在C,gamma组成的二维参数矩阵中,依次实验每一对参数的效果。

                                                    


使用grid Search虽然比较简单,而且看起来很naïve。但是他确实有两个优点:

  1. 可以得到全局最优
  2. (C,gamma)相互独立,便于并行化进行


使用Rundll32.exe和Rundll.exe(转程式设计技术)

使用Rundll32.exe和Rundll.exe(转程式设计技术) 本帖版权归原作者,其它网站转载须注明出处,传统媒体转载须事先与原作者和e龙西祠胡同[http://www.xici.net]联系。...
  • yypp
  • yypp
  • 2001-05-27 18:36:00
  • 767

SVM的高斯kernel 参数c和gamma说明

,是否有更佳的参数,有待考证。其中两参数的作用见如下:   The SVM with a Gaussian kernel function has two such training parame...
  • zhuikong
  • zhuikong
  • 2014-06-10 11:21:22
  • 2743

在libsvm中如何求最佳参数c和gamma

一、 如何用grip.py求最佳参数 c、γ 1.     需要安装python及gnuplot两个软件。 2.     修改libsvm-3.2所在目录下的tools中的grip.py,不可以双...
  • aolazuhong
  • aolazuhong
  • 2016-07-22 09:54:44
  • 1919

RBF SVM中的gamma和C参数

This example illustrates the effect of the parameters gamma and C of the Radial Basis Function (RB...
  • wusecaiyun
  • wusecaiyun
  • 2015-11-09 13:42:22
  • 2703

SVM参数详解

svm参数说明---------------------- 如果你要输出类的概率,一定要有-b参数 svm-train training_set_file model_file svm-pred...
  • Bryan__
  • Bryan__
  • 2016-05-26 14:02:40
  • 40215

svm中gamma的确定

from __future__ import print_function from sklearn.learning_curve import validation_curve from skle...
  • qq_32005671
  • qq_32005671
  • 2017-03-17 15:32:01
  • 877

SVM支持向量机高斯核调参小结

转自http://www.cnblogs.com/pinard/p/6117515.html  在支持向量机(以下简称SVM)的核函数中,高斯核(以下简称RBF)是最常用的,从理论上讲, RBF...
  • sun_shengyun
  • sun_shengyun
  • 2017-02-18 17:48:08
  • 7869

Scikit-learn实例之理解SVM正则化系数C

SVM中正则化系数C的理解
  • mingtian715
  • mingtian715
  • 2017-01-16 16:53:01
  • 3529

SVM理解与参数选择(kernel和C)

从SVM的模型表达式开始,理解SVM的各关键点
  • ybdesire
  • ybdesire
  • 2016-12-28 22:57:03
  • 9763

svm算法的实现(c)

  • 2009年03月30日 19:02
  • 229KB
  • 下载
收藏助手
不良信息举报
您举报文章:SVM的两个参数 C 和 gamma
举报原因:
原因补充:

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