使用Support Vector Machine
使用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
最新文章
- bzoj4692: Beautiful Spacing
- Duilib源码分析(五)UI布局—Layout与各子控件
- iOS面试题总结 (三)
- Jsoup 使用教程:输入
- BZOJ1068: [SCOI2007]压缩
- Spring松耦合实例
- 对<;<; ubuntu 12.04编译安装linux-3.6.10内核笔记>;>;的修正
- SSM框架整合( Spring 、 SpringMVC 和 Mybatis )
- Exception dispatching input event. use XlistView
- Android 事件统计
- python中的类属性和实例属性
- python中使用selenium调用Firefox缺少geckodriver解决方法
- CoreJava逻辑思维-顺时针打印自定义矩阵
- in_flight_pqueue.go
- hbase_2
- Post请求data参数构造及巧用js脚本显示爬虫进度
- Spring源码学习笔记1
- php之sphinx
- SGU 275. To xor or not to xor (高斯消元法)
- python入门-操作列表
热门文章
- 20161127-emmagee
- alert效果
- Linux环境部署(JDK/Tomcat/MySQL/证书)
- zookeeper 故障重连机制
- asp.net 时间操作
- MySQL存储IP地址操作
- webpack + react + es6, 并附上自己碰到的一些问题
- eclipse下的,maven+spring+springMVC+mabatis+mysql.创建
- OpenCV学习笔记(二)——OpenCV环境变量配置
- linux centos yum安装LAMP环境