SVM支持向量机简介课件_第1页
SVM支持向量机简介课件_第2页
SVM支持向量机简介课件_第3页
SVM支持向量机简介课件_第4页
SVM支持向量机简介课件_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 支持向量机(SVM)第一部分 支持向量分类机第二部分 支持向量回归机第三部分 Libsvm软件简介第部分 引例第部分 引例案例1:意大利葡萄酒种类识别wine数据(chapter12_wine.mat)记录的是意大利同一地区3中不同品种的葡萄酒13中化学成分含量。共有178个样本。利用SVM建立分类模型,达到自动分类葡萄酒品种的目的。分类问题的数学表示已知:训练集包含 个样本点:说明: 是输入向量,其分量称为特征或属性 是输出指标. 问题:对一个新的数据 ,推断它所对应的输出分类问题目标属性是离散的案例2:上证指数开盘指数预测Chapter14_sh.mat数据记录的是从1990年12月19

2、日到2009年8月19日期间4579个交易日每日上证综合指数的各项指标。分别记录当天上证指数的开盘指数:指数最高值,指数最低值,收盘指数,当日交易量,当日交易额。利用SVM建立的回归模型对开盘指数进行预测。回归问题的数学表示已知:训练集包含 个样本点:说明: 是输入向量,其分量称为特征或属性 是输出数值. 问题:对一个新的数据 ,推断它所对应的输出回归问题目标属性是连续的第一部分 支持向量分类机 1.线性可分问题 代表+1代表 -1怎样将数据分类?w Tx + b=0w Tx + b0代表 +1代表 -1哪一个“最好”呢?最大间隔代表 +1代表 -1支持向量“Predict Class = +

3、1” zone“Predict Class = -1” zonewTx+b=1wTx+b=0wTx+b=-1间隔宽度M目标1:将所有的点正确分类目标2:最大化间隔宽度最优分类面问题可以表示成约束优化问题 只要求得该问题的最优解 ,从而可以构造出划分超平面 ,得出决策函数 。wTx+b=1wTx+b=0wTx+b=-12.近似线性可分问题不要求所有训练点都被正确分类 ,对每个训练点引入松弛变量 并满足约束。可用 度量错划分程度。两个目标:1. 间隔尽可能大 2. 错划程度尽可能小参数C由用户给定: x (x)3.非线性可分问题为以上优化问题对应的对偶优化问题的最优解参数C由用户给定常用核函数线性

4、核:多项式核:高斯核(RBF):Sigmoid核:-SVC参数由用户给定多分类问题a.一对其余法(OvR):训练时依次把某个类别的样本归为一类,其他剩余的样本归为另一类,这样就训练出了N个SVM。当对一个未知样本进行分类时,得票最多的类别即为该未知样本的类别。b.一对一法(OvO):在任意两类样本之间设计一个SVM,因此N个类别的样本就需要设计 N(N-1)/2个SVM。当对一个未知样本进行分类时,得票最多的类别即为该未知样本的类别。OvO与OvR示意图第二部分 支持向量回归机y=wTx+b+y=wTx+b-y=wTx+b有少量的样本落在-带外,对落在-带外的样本进行惩罚。y=wT.x+b+y

5、=wT.x+by=wT.x+b-SVR参数由用户给定-SVR参数由用户给定第三部分 Libsvm简介LIBSVM是台湾大学林智仁(Lin Chih-Jen)教授等开发设计的软件。.tw/cjlin/libsvm/libsvm工具箱有C-SVC, -SVC, -SVR, -SVR等多种模型可供使用。libsvm采用OvO算法支持多分类问题。MATLAB自带的svm实现函数是svmtrain和svmclassify函数,实现C-SVC模型,且仅支持二分类问题。Libsvm的使用准备工作:将libsvm3.22解压准备工作:安装Visual C+编译器(不同的matlab版本需要安装不同的编译器,m

6、atlab2015,matlab2016安装Visual Studio 2015即可)全选否则有可能导致编译不通过1. 选择编译器:在命令窗口中输入mex -setup注:步骤1和2均在libsvm-3.22matlab目录下操作2. 编译文件(make):在命令窗口中输入make此时可以使用libsvm软件包了利用svmtrain建立模型model=svmtrain(traindata_y,traindata_x,options)利用svmpredict预测predict_y, accuracy(mse),decision_values = svmpredict(testdata_y, te

7、stdata_x, model);可用的选项如下-s svm类型:SVM设置类型(默认0)0 - C-SVC1 - -SVC2 一类SVM3 - -SVR4 - -SVR-t 核函数类型:核函数设置类型(默认2)0 线性:uv1 多项式:(r*uv + coef0)degree2 RBF函数:exp(-r|u-v|2)3 sigmoid:tanh(r*uv + coef0)-d degree:核函数中的degree设置(针对多项式核函数)(默认3)-g r(gama):核函数中的gamma函数设置(针对多项式/rbf/sigmoid核函数)(默认1/ k)-r coef0:核函数中的coef0

8、设置(针对多项式/sigmoid核函数)(默认0)-c cost:设置C-SVC, -SVR和 -SVR的参数(损失函数)(默认1)-n nu:设置 -SVC,一类SVM和 -SVR的参数(默认0.5)-p p:设置 -SVR 中损失函数p的值(默认0.1) -v n: n折交叉验证。以上这些参数设置可以按照SVM的类型和核函数所支持的参数进行任意组合。如果设置的参数在函数或SVM类型中没有也不会产生影响,程序不会接受该参数;如果应有的参数设置不正确,参数将采用默认值。回归问题常用的性能度量:均方误差分类问题常用的性能度量:分类错误率参数设置不同,模型的性能往往有显著差别。对参数的设置进行设定

9、,就是所谓的“参数调节(调参)”。将训练数据分为训练集和验证集。基于验证集上的性能来进行模型选择和调参。k-折交叉验证:将训练数据A分为训练集和验证集,将数据集A随机分为k组数据,每次将其中一组数据作为验证集,剩下k-1组数据作为训练集进行训练。k一般取5或者10。10折交叉验证示意图当svmtrain使用-v参数时,此时svmtrain返回的不再是一个结构体,而是交叉验证的精度。对于分类问题,返回的是交叉验证下的平均分类准确率;对于回归问题,返回的是交叉验证下的平均均方根误差。怎样选择合适的参数?对不同的参数,模型会有不同的精度,尽可能地选择使交叉验证精度最优的参数。把参数当成自变量,精度当成因变量,选择参数的问题就相当于一个优化问题。可考虑用网格搜索法,智能优化算法比如遗传算法、粒子群算法等等。数据规范化:We recommend linearlyscaling each attribute to the range -1,1 or 0,1. Min-max 规范化(Matlab命令:mapminmax) mapminmax processes input and target data by mapping it from its original range to the range -1 1. z-score规范化(Matlab命令:mapstd) m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论