数学建模优秀讲座之支持向量机

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[predctlabel,accuracy]=svmpredict(test datalabel,testdata,model);
2015年2月3日
data = 176 70 180 80 161 45 163 47 label = 1 1 -1 -1 testdata = 190 85 161 50 testdatalabel = 1 1 Accuracy = 50% (1/2) (classification) (无用) predctlabel = 1 -1 accuracy = 50 2015年2月3日 NaN
►Svm主要思想:找到一个超平面,使得它能够尽 可能多的将两类数据点正确地分开,同时使分开 的两类数据点距离分类面最远。
►Svm优点: ►1.通用性 ►2.鲁棒性(是指控制系统在一定(结构,大小)的参数摄动下,维
持其它某些性能的特性)
►3.有效性 ►4.计算简单 ►5.理论完善(统计学)
2015年2月3日
2015年2月3日
model.Parameters
>> model.Parameters
ans =
0
2.0000
3.0000
0.1000
0 model.Parameters参数意义从上到下依次为: -s svm类型:svm设置类型(默认0) -t 核函数类型:核函数设置类型(默认2,RBF核函数) -d degree :核函数中的degree设置(针对多项式
►model=svmtrain(label,data,'-s 0 -t 2 -c 1 -g 0.1')
分类预测:该班又转来两个新学生; 身高190cm,体重85kg 身高161cm,体重50kg
通过建立的model就可以预测这两人的性别 testdata=[190 85 ;161 50];
►testdatalabel=[1;1]; 然后利用libsvm来预测新来的同学 性别
输出model
model= Parameters: [5x1 double]
nr_class: 2 totalSV: 4 rho: -0.1835 Label: [2x1 double] ProbA: [] ProbB: [] nSV: [2x1 double] sv_coef: [4x1 double] SVs: [4x2 double]
类型为double(注意) ►model:模型
2015年2月3日
输出
►predict_label:预测属性矩阵,N*1,N表 示预测样本数,数据类型double
►accuracy:一个3*1的列向量,第一个数表 示分类准确率(分类问题使用),第二个 数mse(回归问题使用),第三个数表示 平方相关系数(回归问题使用);
Libsvm工具箱
►Libsvm工具箱由台湾大学林智仁教授开发 设计的一款简单、易于使用和快速有效的 SVM分类与回归的软件包 。
►主要函数是svmtrain和svmpredict.
2015年2月3日
Svmtrain调用格式
►model=svmtrain(train_label,train_data,’op tions’);
[predict_label,accuracy/mse,dec_value]= svmpredict(test_label,test_data,model) 输入: ►test_data:预测的数据N*m,N表示预测样本数,
m表示属性数目(维数),数据类型为double ►test_label:预测的类别N*1,N表示样本数,数据
► data=[178 70;180 80;161 45;163 47]; ► 在label中存入男女的类别(1,-1) ► label=[1;1;-1;-1]; ► 上面的data矩阵中,行数4代表有4个样本,列数2表示属
性(维数)有两个,label就是分类的类别。
2015年2月3日
►有了上面的属性矩阵data,和分类矩阵 label就可以利用libsvm建立分类模型了。
►dec_value:决策值
2015年2月3日
Fra Baidu bibliotek
分类例子
► 一个班级有两个男生(男生1,男生2),两个女生(女生 1,女生2)。 男生1身高:178cm体重70kg 男生2身高:180cm体重80kg 女生1身高:161cm体重45kg 女生2身高:163cm体重47kg
► 将男生定义为1,女生定义为-1,并将上面的数据放入矩 阵data中
►train_data:分类数据矩阵n*m,n表示样本数, m表示属性数目(维数),数据类型double
►train_label:分类矩阵,n*1,n表示样本数, 数据类型double
►Options:参数选项 ►model:训练得到的分类模型,是一个结构体
2015年2月3日
Svmpredict调用格式
/rbf/sigmod核函数) -r coef0: 核函数中的coef0设置(针对多项式/sigmoid核 20函15年数2月)3日(默认0)
model.Label model.nr_class
>> model.Label ans =
1 -1 >> model.nr_class ans = 2 model.Label表示数据集中类别的标签都有什么,这 里是-1,1; model.nr_class表示数据集中有多少类别,这里是二 分类
2015年2月3日
►model.ProbA model.ProbB 关于这两个参数这里不做介绍,使用-b参数
才能用到,用于概率估计
►model.sv_coef model.SVs model.rho Model.sv_coef是一个4*1的矩阵,承装的是
4个支持向量在决策函数中的系数; model.SVs是一个4*2的稀疏矩阵,承装的是
支持支向持量向量机机 (svm) Support Vector Machines.SVM
2015年2月3日
目录
►Svm简介 ►Libsvm工具箱 ►Svm原理
2015年2月3日
Svm简介
►Svm是解决高维数据匮乏分类和回归问题 的(目前就只知道svm解决分类和回归)
支持向量
2015年2月3日
►Svm由Vapnik首先20世纪90年代提出。
相关文档
最新文档