【LIBSVM】使用C++和LIBSVM实现机器学习+样本分类

本文介绍了如何利用LIBSVM库在C++中实现支持向量机(SVM)的机器学习和样本分类。讨论了SVM的基本概念和LIBSVM的特点,包括其提供的各种SVM类型、核函数和参数设置。同时,文章通过代码示例展示了svm_train和svm_predict函数的使用,并提到了多类别分类的一对一和一对多策略在LIBSVM中的实现。
摘要由CSDN通过智能技术生成

一、了解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 为参数类

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值