实验四-支持向量机教学文案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四-支持向量机
实验四:支持向量机
班级姓名学号指导老师
一.实验目的
1.了解基有关支持向量机的基本原理
2.能够使用支持向量机的代码解决分类与回归问题
3.了解图像分类的基本原理
二、实验的硬件、软件平台
硬件:计算机
软件:操作系统win10
应用软件:Java
三、实验原理
四、1. LIBSVM 使用方法简介
五、LibSVM是以源代码和可执行文件两种方式给出的。如果是Windows系列操作系统,可以直接使用软件包提供的程序,也可以进行修改编译;如果是Unix类系统,必须自己编译。
六、LIBSVM 在给出源代码的同时还提供了Windows操作系统下的可执行文件,包括:进行支持向量机训练的svmtrain.exe;根据已获得的支持向量机模型对数据集进行预测的svmpredict.exe;以及对训练数据与测试数据进行简单缩放操作的svmscale.exe。它们都可以直接在DOS 环境中使用。如果下载的包中只有C++的源代码,则也可以自己在VC等软件上编译生成可执行文件。七、
八、2. LIBSVM 使用的一般步骤是:
九、1)按照LIBSVM软件包所要求的格式准备数据集;
十、2)对数据进行简单的缩放操作;
十一、3)考虑选用RBF 核函数;
十二、4)采用交叉验证选择最佳参数C与g ;
十三、5)采用最佳参数C与g 对整个训练集进行训练获取支持向量机模型;
十四、6)利用获取的模型进行测试与预测。
十五、
十六、3. LIBSVM使用的数据格式
十七、1)训练数据和检验数据文件格式如下:
十八、
十九、其中
件中的label只用于计算准确度或误差,如果它是未知的,只需用一个数填写这一栏,也可以空着不填。
二十、在程序包中,还包括有一个训练数据实例:heart_scale,方便参考数据文件格式以及练习使用软件。可以编写小程序,将自己常用的数据格式转换成这种格式
二十一、
二十二、2)Svmtrain和Svmpredict的用法
二十三、LIBSVM软件提供的各种功能都是DOS命令执行方式。我们主要用到两个程序,svmtrain(训练建模)和svmpredict(使用已有的模型进行预测),下面分别对这两个程序的使用方法、各参数的意义以及设置方法做一个简单介绍:
二十四、(1)Svmtrain的用法:
二十五、svmtrain [options] training_set_file [ model_file]
二十六、Options:可用的选项即表示的涵义如下
二十七、-s svm类型:SVM设置类型(默认0)
二十八、0 -- C-SVC
二十九、 1 --v-SVC
三十、 2 –一类SVM
三十一、 3 -- e -SVR
三十二、 4 -- v-SVR
三十三、-t 核函数类型:核函数设置类型(默认2)
三十四、0 –线性:u'v
三十五、 1 –多项式:(r*u'v + coef0)^degree
三十六、 2 –RBF函数:exp(-r|u-v|^2)
三十七、 3 –sigmoid:tanh(r*u'v + coef0)
三十八、-d degree:核函数中的degree设置(默认3)
三十九、-g 函数设置(默认1/ k)?r(gama):核函数中的
四十、-r coef0:核函数中的coef0设置(默认0)
四十一、?-c cost:设置C-SVC,-SVR的参数(默认1)?-SVR和
四十二、- SVR的参数(默认0.5)?-SVC,一类SVM和?-n nu:设置
四十三、-SVR?-p e:设置的值(默认0.1)?中损失函数
四十四、-m cachesize:设置cache内存大小,以MB为单位(默认40)
四十五、-e :设置允许的终止判据(默认0.001)?
四十六、-h shrinking:是否使用启发式,0或1(默认1)
四十七、-wi C(C-SVC中的C)(默认1)?weight:设置第几类的参数C为weight
四十八、-v n: n-fold交互检验模式
四十九、其中-g选项中的k是指输入数据中的属性数。option -v 随机地将数据剖分为n部分并计算交互检验准确度和均方根误差。以上这些参数设置可以按照SVM的类型和核函数所支持的参数进行任意组合,如果设置的参数在函数或SVM类型中没有也不会产生影响,程序不会接受该参数;如果应有的参数设置不正确,参数将采用默认值。training_set_file是要进行训练的数据集;model_file是训练结束后产生的模型文件,文件中包括支持向量样本
数、支持向量样本以及lagrange系数等必须的参数;该参数如果不设置将采用默认的文件名,也可以设置成自己惯用的文件名。
五十、(2)Svmpredict的用法:
五十一、
svmpredict test_file model_file output_filemodel_file 是由svmtrain产生的模型文件;test_file是要进行预测的数据文件;Output_file是svmpredict的输出文件。svm-predict没有其它的选项。
五十二、
四、实验内容及步骤
支持向量机算法训练分类器:
1.训练数据集:见文档“分类数据集.doc”,前150个数据作为训练数据,其他数据作为测试数据,数据中“+1”“-1”分别表示正负样本。
2.使用代码中的C-SVC算法和默认参数来训练“分类数据集.doc”中所有的数据(包括训练数据和测试数据),统计分类查准率。
3.在2的基础上使用k-折交叉验证思想来训练分类器并统计分类查准率。