实验四-支持向量机教学文案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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-折交叉验证思想来训练分类器并统计分类查准率。

相关文档
最新文档