MATLAB多分类,使用libsvm和linear的详解和区别
2016-09-26 18:43
736 查看
MATLAB多分类,使用libsvm和linear的区别
最近还是在做多分类的问题,之前使用的是libsvm进行多分类,主要使用的是1V1和1Vrsst,具体可参见这篇博文。这两天看到liblinear这个库,针对多分类问题有很好的改进。这里随笔记下:
liblinear链接,liblinear相比于libsvm最大的优点是快,二者针对多分类的区别在官网也有详细的解释:
For some multi-class data, the difference may be significant. The reason is that LIBSVM uses the 1-vs-1 strategy, while LIBLINEAR uses 1-vs-the rest.
意思就是LIBSVM 实现多分类的策略是1v1,而LIBLINEAR 用的是1-vs-the rest,
另外在此再解释一下LIBLINEAR 的调用:
1·数据结构和LIBSVM 保持一致,
2·但是调用参数有些变化
Usage: train [options] training_set_file [model_file]
options:
-s type : set type of solver (default 1)
for multi-class classification
0 – L2-regularized logistic regression (primal)
1 – L2-regularized L2-loss support vector classification (dual)
2 – L2-regularized L2-loss support vector classification (primal)
3 – L2-regularized L1-loss support vector classification (dual)
4 – support vector classification by Crammer and Singer
5 – L1-regularized L2-loss support vector classification
6 – L1-regularized logistic regression
7 – L2-regularized logistic regression (dual)
for regression
11 – L2-regularized L2-loss support vector regression (primal)
12 – L2-regularized L2-loss support vector regression (dual)
13 – L2-regularized L1-loss support vector regression (dual)
这里指出,liblinear的-s 参数能够制定不同的多分类策略,这里的4类型使用的 Crammer and Singer是一种较好的多分类方法,在参考文献:K. Crammer and Y. Singer, “On the learnability and design of output
codes for multiclass problems,” Comput. Learing Theory, pp. 35–46,
2000.这篇文章中提出。
最近还是在做多分类的问题,之前使用的是libsvm进行多分类,主要使用的是1V1和1Vrsst,具体可参见这篇博文。这两天看到liblinear这个库,针对多分类问题有很好的改进。这里随笔记下:
liblinear链接,liblinear相比于libsvm最大的优点是快,二者针对多分类的区别在官网也有详细的解释:
For some multi-class data, the difference may be significant. The reason is that LIBSVM uses the 1-vs-1 strategy, while LIBLINEAR uses 1-vs-the rest.
意思就是LIBSVM 实现多分类的策略是1v1,而LIBLINEAR 用的是1-vs-the rest,
另外在此再解释一下LIBLINEAR 的调用:
1·数据结构和LIBSVM 保持一致,
2·但是调用参数有些变化
Usage: train [options] training_set_file [model_file]
options:
-s type : set type of solver (default 1)
for multi-class classification
0 – L2-regularized logistic regression (primal)
1 – L2-regularized L2-loss support vector classification (dual)
2 – L2-regularized L2-loss support vector classification (primal)
3 – L2-regularized L1-loss support vector classification (dual)
4 – support vector classification by Crammer and Singer
5 – L1-regularized L2-loss support vector classification
6 – L1-regularized logistic regression
7 – L2-regularized logistic regression (dual)
for regression
11 – L2-regularized L2-loss support vector regression (primal)
12 – L2-regularized L2-loss support vector regression (dual)
13 – L2-regularized L1-loss support vector regression (dual)
这里指出,liblinear的-s 参数能够制定不同的多分类策略,这里的4类型使用的 Crammer and Singer是一种较好的多分类方法,在参考文献:K. Crammer and Y. Singer, “On the learnability and design of output
codes for multiclass problems,” Comput. Learing Theory, pp. 35–46,
2000.这篇文章中提出。
相关文章推荐
- MATLAB实现多分类和libsvm工具箱的安装使用详解
- SVM实现多分类的程序基础工作(一)——安装libsvm以及libsvm和matlab自带的svm的区别
- matlab二分类实验(使用libsvm工具包+SVMcgForClass函数)
- MATLAB实现多分类问题,使用libsvm,1-vs-rest和1-vs-1两种方法代码
- 解密SVM系列(五):matlab下libsvm的简单使用:分类与回归
- SVM实现多分类的程序基础工作(一)——安装libsvm以及libsvm和matlab自带的svm的区别
- matlab 支持向量机libSVM 使用
- Matlab安装使用libsvm
- PHP中register_globals参数为OFF和ON的区别(register_globals 使用详解)
- MTK 编译详解以及IncrediBuild联合编译的使用默认分类
- LIBSVM在matlab中使用小结
- PHP isset()与empty()的使用区别详解
- libsvm liblinear 使用心得
- Libsvm使用详解
- SVM学习笔记(1)LIBSVM在matlab下的使用安装
- [转载]PHP isset()与empty()的使用区别详解
- FIR和IIR滤波器的使用范围区别,如何用matlab设计一个滤波器
- JavaScript方法call,apply,caller,callee,bind的使用详解及区别
- jQuery系列01---jQuery简介、jQuery使用详解、DOM对象与jQuery对象的转换与区别
- PHP中register_globals参数为OFF和ON的区别(register_globals 使用详解)