




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
支持向量机(SVM)第一部分支持向量分类机第二部分支持向量回归机第三部分Libsvm软件简介第〇部分引例
支持向量机(SVM)第一部分支第〇部分引例第〇部分引例案例1:意大利葡萄酒种类识别wine数据(chapter12_wine.mat)记录的是意大利同一地区3中不同品种的葡萄酒13中化学成分含量。共有178个样本。利用SVM建立分类模型,达到自动分类葡萄酒品种的目的。案例1:意大利葡萄酒种类识别wine数据(chapter12分类问题的数学表示已知:训练集包含个样本点:
说明:是输入向量,其分量称为特征或属性是输出指标.问题:对一个新的数据,推断它所对应的输出
分类问题目标属性是离散的分类问题的数学表示分类问题目标属性是离散的案例2:上证指数开盘指数预测Chapter14_sh.mat数据记录的是从1990年12月19日到2009年8月19日期间4579个交易日每日上证综合指数的各项指标。分别记录当天上证指数的开盘指数:指数最高值,指数最低值,收盘指数,当日交易量,当日交易额。利用SVM建立的回归模型对开盘指数进行预测。案例2:上证指数开盘指数预测Chapter14_sh.mat回归问题的数学表示已知:训练集包含个样本点:
说明:是输入向量,其分量称为特征或属性是输出数值.问题:对一个新的数据,推断它所对应的输出
回归问题目标属性是连续的回归问题的数学表示回归问题目标属性是连续的第一部分支持向量分类机第一部分支持向量分类机1.线性可分问题
代表+1代表-1怎样将数据分类?w
Tx
+b=0w
Tx
+b<0wTx
+b>01.线性可分问题代表+1怎样将数据分类?wTx+b代表+1代表-1代表+1SVM支持向量机简介课件哪一个“最好”呢?哪一个“最好”呢?最大间隔代表+1代表-1支持向量最大间隔代表+1支持向量“PredictClass=+1”zone“PredictClass=-1”zonewTx+b=1wTx+b=0wTx+b=-1间隔宽度M目标1:将所有的点正确分类目标2:最大化间隔宽度“PredictClass=+1”zone“Pred最优分类面问题可以表示成约束优化问题
只要求得该问题的最优解,从而可以构造出划分超平面,得出决策函数。最优分类面问题可以表示成约束优化问题wTx+b=1wTx+b=0wTx+b=-12.近似线性可分问题不要求所有训练点都被正确分类,对每个训练点引入松弛变量并满足约束。可用度量错划分程度。两个目标:1.间隔尽可能大2.错划程度尽可能小参数C由用户给定wTx+b=1wTx+b=0wTx+b=-12.近似线性可分Φ:x
→
ϕ(x)3.非线性可分问题Φ:x→ϕ(x)3.非线性可分问题为以上优化问题对应的对偶优化问题的最优解参数C由用户给定为以上优化问题对应的对偶优化问题的最优解参数C由用户给定常用核函数线性核:多项式核:高斯核(RBF):Sigmoid核:常用核函数线性核:-SVC参数由用户给定-SVC参数由用户给定多分类问题a.一对其余法(OvR):训练时依次把某个类别的样本归为一类,其他剩余的样本归为另一类,这样就训练出了N个SVM。当对一个未知样本进行分类时,得票最多的类别即为该未知样本的类别。b.一对一法(OvO):在任意两类样本之间设计一个SVM,因此N个类别的样本就需要设计N(N-1)/2个SVM。当对一个未知样本进行分类时,得票最多的类别即为该未知样本的类别。多分类问题OvO与OvR示意图OvO与OvR示意图第二部分支持向量回归机第二部分支持向量回归机y=wTx+b+y=wTx+b-y=wTx+by=wTx+b+y=wTx+b-y=wTx+b有少量的样本落在-带外,对落在-带外的样本进行惩罚。y=wT.x+b+y=wT.x+by=wT.x+b--SVR参数由用户给定有少量的样本落在-带外,对落在-带外的样本进行惩罚。y-SVR参数由用户给定-SVR参数由用户给定第三部分Libsvm简介第三部分Libsvm简介LIBSVM是台湾大学林智仁(LinChih-Jen)教授等开发设计的软件。.tw/~cjlin/libsvm/libsvm工具箱有C-SVC,-SVC,-SVR,-SVR等多种模型可供使用。
libsvm采用OvO算法支持多分类问题。
MATLAB自带的svm实现函数是svmtrain和svmclassify函数,实现C-SVC模型,且仅支持二分类问题。MATLAB自带的svm实现函数是svmtrain和svmcLibsvm的使用
准备工作:将libsvm3.22解压
准备工作:安装VisualC++编译器(不同的matlab版本需要安装不同的编译器,matlab2015,matlab2016安装VisualStudio2015即可)
Libsvm的使用
全选否则有可能导致编译不通过全选1.选择编译器:在命令窗口中输入mex-setup注:步骤1和2均在
…\libsvm-3.22\matlab目录下操作1.选择编译器:在命令窗口中输入mex-setup注:步2.编译文件(make):在命令窗口中输入make此时可以使用libsvm软件包了2.编译文件(make):在命令窗口中输入make此时可以利用svmtrain建立模型model=svmtrain(traindata_y,traindata_x,’options’)利用svmpredict预测[predict_y,accuracy(mse),decision_values]=svmpredict(testdata_y,testdata_x,model);利用svmtrain建立模型可用的选项如下
-ssvm类型:SVM设置类型(默认0)
0--C-SVC
1--
-SVC
2–一类SVM
3---SVR
4--
-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)
可用的选项如下
-ddegree:核函数中的degree设置(针对多项式核函数)(默认3)
-gr(gama):核函数中的gamma函数设置(针对多项式/rbf/sigmoid核函数)(默认1/k)
-rcoef0:核函数中的coef0设置(针对多项式/sigmoid核函数)((默认0)
-ccost:设置C-SVC,-SVR和-SVR的参数(损失函数)(默认1)
-nnu:设置-SVC,一类SVM和-SVR的参数(默认0.5)
-pp:设置-SVR中损失函数p的值(默认0.1)-vn:n折交叉验证。
-ddegree:核函数中的degree设置(针对多项
以上这些参数设置可以按照SVM的类型和核函数所支持的参数进行任意组合。如果设置的参数在函数或SVM类型中没有也不会产生影响,程序不会接受该参数;如果应有的参数设置不正确,参数将采用默认值。
回归问题常用的性能度量:均方误差分类问题常用的性能度量:分类错误率参数设置不同,模型的性能往往有显著差别。对参数的设置进行设定,就是所谓的“参数调节(调参)”。将训练数据分为训练集和验证集。基于验证集上的性能来进行模型选择和调参。回归问题常用的性能度量:均方误差参数设置不同,模型的性能往往k-折交叉验证:将训练数据A分为训练集和验证集,将数据集A随机分为k组数据,每次将其中一组数据作为验证集,剩下k-1组数据作为训练集进行训练。k一般取5或者10。10折交叉验证示意图k-折交叉验证:将训练数据A分为训练集和验证集,将数据集A随当svmtrain使用-v参数时,此时svmtrain返回的不再是一个结构体,而是交叉验证的精度。对于分类问题,返回的是交叉验证下的平均分类准确率;对于回归问题,返回的是交叉验证下的平均均方根误差。怎样选择合适的参数?对不同的参数,模型会有不同的精度,尽可能地选择使交叉验证精度最优的参数。把参数当成自变量,精度当成因变量,选择参数的问题就相当于一个优化问题。可考虑用网格搜索法,智能优化算法比如遗传算法、粒子群算法等等。当svmtrain使用-v参数时,此时svmtrain返回的数据规范化:Werecommendlinearly
scalingeachattributetotherange[-1,1]or[0,1].
Min-max规范化(Matlab命令:mapminmax)
mapminmaxprocessesinputandtargetdatabymappingitfromitsoriginalrangetotherange[-11].z-score规范化(Matlab命令:mapstd)
mapstdprocessesinputandtargetdatabymappingitsmeanandstandarddeviationsto0and1respectively.数据规范化:Werecommendlinearly
sc数据提取和预处理建立SVM模型(确定模型的参数)利用建立的SVM模型进行预测结果分析利用SVM建模步骤数据提取和预处理利用SVM建模步骤
支持向量机(SVM)第一部分支持向量分类机第二部分支持向量回归机第三部分Libsvm软件简介第〇部分引例
支持向量机(SVM)第一部分支第〇部分引例第〇部分引例案例1:意大利葡萄酒种类识别wine数据(chapter12_wine.mat)记录的是意大利同一地区3中不同品种的葡萄酒13中化学成分含量。共有178个样本。利用SVM建立分类模型,达到自动分类葡萄酒品种的目的。案例1:意大利葡萄酒种类识别wine数据(chapter12分类问题的数学表示已知:训练集包含个样本点:
说明:是输入向量,其分量称为特征或属性是输出指标.问题:对一个新的数据,推断它所对应的输出
分类问题目标属性是离散的分类问题的数学表示分类问题目标属性是离散的案例2:上证指数开盘指数预测Chapter14_sh.mat数据记录的是从1990年12月19日到2009年8月19日期间4579个交易日每日上证综合指数的各项指标。分别记录当天上证指数的开盘指数:指数最高值,指数最低值,收盘指数,当日交易量,当日交易额。利用SVM建立的回归模型对开盘指数进行预测。案例2:上证指数开盘指数预测Chapter14_sh.mat回归问题的数学表示已知:训练集包含个样本点:
说明:是输入向量,其分量称为特征或属性是输出数值.问题:对一个新的数据,推断它所对应的输出
回归问题目标属性是连续的回归问题的数学表示回归问题目标属性是连续的第一部分支持向量分类机第一部分支持向量分类机1.线性可分问题
代表+1代表-1怎样将数据分类?w
Tx
+b=0w
Tx
+b<0wTx
+b>01.线性可分问题代表+1怎样将数据分类?wTx+b代表+1代表-1代表+1SVM支持向量机简介课件哪一个“最好”呢?哪一个“最好”呢?最大间隔代表+1代表-1支持向量最大间隔代表+1支持向量“PredictClass=+1”zone“PredictClass=-1”zonewTx+b=1wTx+b=0wTx+b=-1间隔宽度M目标1:将所有的点正确分类目标2:最大化间隔宽度“PredictClass=+1”zone“Pred最优分类面问题可以表示成约束优化问题
只要求得该问题的最优解,从而可以构造出划分超平面,得出决策函数。最优分类面问题可以表示成约束优化问题wTx+b=1wTx+b=0wTx+b=-12.近似线性可分问题不要求所有训练点都被正确分类,对每个训练点引入松弛变量并满足约束。可用度量错划分程度。两个目标:1.间隔尽可能大2.错划程度尽可能小参数C由用户给定wTx+b=1wTx+b=0wTx+b=-12.近似线性可分Φ:x
→
ϕ(x)3.非线性可分问题Φ:x→ϕ(x)3.非线性可分问题为以上优化问题对应的对偶优化问题的最优解参数C由用户给定为以上优化问题对应的对偶优化问题的最优解参数C由用户给定常用核函数线性核:多项式核:高斯核(RBF):Sigmoid核:常用核函数线性核:-SVC参数由用户给定-SVC参数由用户给定多分类问题a.一对其余法(OvR):训练时依次把某个类别的样本归为一类,其他剩余的样本归为另一类,这样就训练出了N个SVM。当对一个未知样本进行分类时,得票最多的类别即为该未知样本的类别。b.一对一法(OvO):在任意两类样本之间设计一个SVM,因此N个类别的样本就需要设计N(N-1)/2个SVM。当对一个未知样本进行分类时,得票最多的类别即为该未知样本的类别。多分类问题OvO与OvR示意图OvO与OvR示意图第二部分支持向量回归机第二部分支持向量回归机y=wTx+b+y=wTx+b-y=wTx+by=wTx+b+y=wTx+b-y=wTx+b有少量的样本落在-带外,对落在-带外的样本进行惩罚。y=wT.x+b+y=wT.x+by=wT.x+b--SVR参数由用户给定有少量的样本落在-带外,对落在-带外的样本进行惩罚。y-SVR参数由用户给定-SVR参数由用户给定第三部分Libsvm简介第三部分Libsvm简介LIBSVM是台湾大学林智仁(LinChih-Jen)教授等开发设计的软件。.tw/~cjlin/libsvm/libsvm工具箱有C-SVC,-SVC,-SVR,-SVR等多种模型可供使用。
libsvm采用OvO算法支持多分类问题。
MATLAB自带的svm实现函数是svmtrain和svmclassify函数,实现C-SVC模型,且仅支持二分类问题。MATLAB自带的svm实现函数是svmtrain和svmcLibsvm的使用
准备工作:将libsvm3.22解压
准备工作:安装VisualC++编译器(不同的matlab版本需要安装不同的编译器,matlab2015,matlab2016安装VisualStudio2015即可)
Libsvm的使用
全选否则有可能导致编译不通过全选1.选择编译器:在命令窗口中输入mex-setup注:步骤1和2均在
…\libsvm-3.22\matlab目录下操作1.选择编译器:在命令窗口中输入mex-setup注:步2.编译文件(make):在命令窗口中输入make此时可以使用libsvm软件包了2.编译文件(make):在命令窗口中输入make此时可以利用svmtrain建立模型model=svmtrain(traindata_y,traindata_x,’options’)利用svmpredict预测[predict_y,accuracy(mse),decision_values]=svmpredict(testdata_y,testdata_x,model);利用svmtrain建立模型可用的选项如下
-ssvm类型:SVM设置类型(默认0)
0--C-SVC
1--
-SVC
2–一类SVM
3---SVR
4--
-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)
可用的选项如下
-ddegree:核函数中的degree设置(针对多项式核函数)(默认3)
-gr(gama):核函数中的gamma函数设置(针对多项式/rbf/sigmoid核函数)(默认1/k)
-rcoef0:核函数中的coef0设置(针对多项式/sigmoid核函数)((默认0)
-ccost:设置C-SVC,-SVR和-SVR的参数(损失函数)(默认1)
-nnu:设置-SVC,一类SVM和-SVR的参数(默认0.5)
-pp:设置-SVR中损失函数p的值(默认0.1)-vn:n折交叉验证。
-ddegree:核函数中的degree设置(针对多项
以上这些参数设置可以按照SVM的类型和核函数所支持的参数进行任意组合。如果设置的参数在函数或SVM类型中没有也不会产生影响,程序不会接受该参数;如果应有的参数设置不正确,参数将采用默认值。
回归问题常用的性能度量:均方误差分类问题常用的性能度量:分类错误率参数设置不同,模型的性能往往有显著差别。对参数的设置进行设定,就是所谓的“参数调节(调参)”。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论