一、了解SVM:
支持向量机,因其英文名为support vector machine,故一般简称SVM,通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。
关于SVM的具体理论解释可以参考博文: 支持向量机通俗导论(理解SVM的三层境界)
(因为ddl比较紧张,所以我就不求甚解地看了一下SVM原理,然后研究了一下如何实现SVM;建议至少要理解惩罚参数C是怎么回事儿)
二、了解LIBSVM——方便快捷的SVM工具包:
LIBSVM是台湾大学林智仁(Lin Chih-Jen)教授等2001年开发设计的一个简单, 易于使用和快速有效的SVM模式识别与回归的软件包, 他不但提供了编译好的可在Windows系列系统的执行文件, 还提供了源代码, 方便改进, 修改以及在其它操作系统上应用; 该软件对SVM所涉及的参数调节相对比较少, 提供了很多的默认参数, 利用这些默认参数可以解决很多问题; 并提供了交互检验(Cross Validation)的功能. 该软件包可在http://www.csie.ntu.edu.tw/~cjlin/免费获得. 该软件可以解决C-SVM, ν-SVM, ε-SVR和ν-SVR等问题, 包括基于一对一算法的多类模式识别问题.
LIBSVM在Windows下提供了直接可以在DOS下使用的exe文件,但是因为大作业的环境需要完全用C++实现,所以需要把LIBSVM的源代码揪出来,然后在它的基础上进行编程。
三、调用方法和参数介绍
(参数不知道怎么调节没有关系,暂时使用默认值就可以)
svm_model 为模型类,通过训练或加载训练好的模型文件获得
svm_parameter 为参数类