使用svm(Support Vector Machine)中要获得好的分类器,最重要的是要选对kernel. 常见的svm kernel包括linear kernel, Gaussian kernel, polynomial kernel 和 string kernel. String kernel多用于文本分类,事实上大多数情况下使用linear或Gaussian kernel就能找到好的分类器。以下是几个选择kernel的方法。假设一个数据集,他的属性集为N,数据量为M:

1 当N很大M很小,则使用linear kernel
 2 当N小 (N<10) M大 (M>1000), 则使用Gaussian kernel
 3 当N小 (N<10) M很大 (M>10^7), 则使用linear kernel, 并尝试增加属性。
 4 如果属性中的值存在负值,不要使用polynomial kernel;事实上polynomial kernel方法也很不常用。

设置合适的参数C对svm分类器的精度也很有帮助,如果使用libsvm软件,该参数就是C。libsvm是常用的svm软件,在默认设置下它使用
radial Gaussian kernel. Libsvm开发者主张使用他们的默认kernel,他们指出如果使用model
selection的方法来生成svm分类器,那么就不需要考虑linear kernel, RBF kernel(即gaussian
kernel)的表现不会比之差。

最后如果数据集中存在某个属性值的取值范围比其他属性值大很多,那么可以使用scale来对数据进行预处理,这也有助于提高svm分类器的精度。

对于多类分类问题,svm需使用one-vs-the-rest方法,某些缺陷也可能因此带入。譬如说imbalance data的问题在这种方法下会被放大。

Some References:
1 Standford course, Machine learning -- svm
2 A tutorial on support vector machines for pattern recognition, Christopher J.C. Burges

引用原地址:http://blog.csdn.net/t_safin/article/details/8167815

使用Support Vector Machine的更多相关文章

  1. 6. support vector machine

    1. 了解SVM 1. Logistic regression 与SVM超平面 给定一些数据点,它们分别属于两个不同的类,现在要找到一个线性分类器把这些数据分成两类.如果用x表示数据点,用y表示类别( ...

  2. Support Vector Machine (3) : 再谈泛化误差(Generalization Error)

    目录 Support Vector Machine (1) : 简单SVM原理 Support Vector Machine (2) : Sequential Minimal Optimization ...

  3. Support Vector Machine (2) : Sequential Minimal Optimization

    目录 Support Vector Machine (1) : 简单SVM原理 Support Vector Machine (2) : Sequential Minimal Optimization ...

  4. Support Vector Machine (1) : 简单SVM原理

    目录 Support Vector Machine (1) : 简单SVM原理 Support Vector Machine (2) : Sequential Minimal Optimization ...

  5. 支持向量机 support vector machine

    SVM(support Vector machine) (1) SVM(Support Vector Machine)是从瓦普尼克(Vapnik)的统计学习理论发展而来的,主要针对小样本数据进行学习. ...

  6. A glimpse of Support Vector Machine

    支持向量机(support vector machine, 以下简称svm)是机器学习里的重要方法,特别适用于中小型样本.非线性.高维的分类和回归问题.本篇希望在正篇提供一个svm的简明阐述,附录则提 ...

  7. 支持向量机SVM(Support Vector Machine)

    支持向量机(Support Vector Machine)是一种监督式的机器学习方法(supervised machine learning),一般用于二类问题(binary classificati ...

  8. 机器学习技法:01 Linear Support Vector Machine

    Roadmap Course Introduction Large-Margin Separating Hyperplane Standard Large-Margin Problem Support ...

  9. 支持向量机(Support Vector Machine,SVM)—— 线性SVM

      支持向量机(Support Vector Machine,简称 SVM)于 1995 年正式发表,由于其在文本分类任务中的卓越性能,很快就成为机器学习的主流技术.尽管现在 Deep Learnin ...

随机推荐

  1. 小识Tableau

    关于 Tableau Tableau 帮助人们将数据转化为可以付诸行动的见解.探索无所不能的可视化分析.只需点击几下即可构建仪表板,进行即兴分析. Tableau与R对比: 1.从开发的角度讲,Tab ...

  2. HDU 1272 小希的迷宫 并查集

    小希的迷宫 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  3. JDBC相关的类介绍

    JDBC 背景:1996年,Sun公司推出了Java数据库连接(Java Database Connectivity JDBC)工具包的第一个版本.该工具包使得程序员可以使用结构化语言SQL连接到一个 ...

  4. R:incomplete final line found by readTableHeader on

      报错: In read.table("abc.txt", header = T) :  incomplete final line found by readTableHead ...

  5. CAS单点登录和spring securtiy集成

    说明:本文章主要建立在spring-security早已集成在系统中的前提下: 1.需要创建一个spring-security.xml文件并关联在applicationContext.xml文件中:& ...

  6. Docker安装ruby2.1

    # sudo apt-get install Python-software-properties# sudo apt-add-repository ppa:brightbox/ruby-ng# su ...

  7. Python 启动本地服务

    在 Linux 服务器上或安装了 Python 的机器上,Python自带了一个WEB服务器 SimpleHTTPServer,我们可以很简单的使用  python -m SimpleHTTPServ ...

  8. eclipse rcp 打包出适合不同操作系统和操作位数.

    http://blog.csdn.net/luoww1/article/details/8677999 http://blog.csdn.net/soszou/article/details/8053 ...

  9. 20161117__修改yum源

    1.CentOS6.5中修改yum源 http://www.cnblogs.com/liuling/p/2014-4-14-001.html 在自己安装的CentOS6.5中使用yum安装软件,总是提 ...

  10. UITableView使用

    @多组数据和多组cell 1根数组内含数组时,只可以开启一组cell,内含多个数组时,可以开启多组cell 2多个数组开启多个cell时,既可以竖向开启,也可以横向里层开启,就好比猜题的模式 @注意点 ...