支持向量机SVM的MATLAB实现
2017-11-16 15:23
2571 查看
1.支持向量机
Support Vector Machine,SVM。1.1分类思想
以结构化风险最小为原则,兼顾训练误差与测试误差的最小化。2.svm
2.1线性;
2.2非线性CSVM;
2.3核函数的SVM:非线性映射(把低维映射到高维;采用核函数来实现映射过程)
2.3.1多类问题
一对多:将需要划分的训练集进行枚举,取响应最大的那个;一对一:两两组合,选出归类最多的那个组合;
一对一淘汰:引入分类器置信度信息的二分器;采用各个SVM二分器的分类间隔作为置信度。利用判别函数之间的冗余进行对“拒绝决策”的分类。
3.MATLAB代码
load fisheriris; data=[meas(:,1),meas(:,2)]; %取出样本的前2维(列)作为特征,并存入data(不需要预先定义类型,自动识别)中。 groups=ismember(species,'setosa'); %转化为“是不是setosa类”的2类问题 [train,test]=crossvalind('holdOut',groups); %利用交叉验证随机分割数据集,train保存训练数据,test保存测试数据。 svmStruct=svmtrain(data(train,:),groups(train),'showplot',true); %利用train中的数据,训练一个线性的支持向量机,训练好的分类保存在svmStruct。其中,data(train,:)把train==1的数据提取出来。 classes=svmclassify(svmStruct,data(test,:),'showplot',true); %利用包含训练所得分类器信息的svmStruct对测试样本进行分类,分类结果保存操classes %计算测试样本的识别率 nCorrect=sum(classes==groups(test,:)); %正确分类的样本数目 accuracy=nCorrect/length(classes); %计算正确率
SVMStruct可以自定义选项,如核函数。
参考:http://whuhan2013.github.io/blog/2017/01/07/pca-and-svm/
相关文章推荐
- 支持向量机(SVM)算法的matlab的实现
- MATLAB支持向量机SVM代码实现
- 支持向量机SVM 原理、推导与Matlab实现(2)-对偶问题
- 支持向量机(SVM)算法的matlab的实现
- Matlab 支持向量机(SVM)实现多分类
- 支持向量机SVM 原理、推导与Matlab实现
- 支持向量机(SVM)算法的matlab的实现
- [置顶] 基于SIFT+Kmeans+SVM的场景识别,参数需注意的问题(Matlab实现)
- 支持向量机——sklearn 实现支持向量机(SVM)
- 基于Andrew ng课后作业6,matlab实现svm算法的垃圾邮件分类器(spam classifier)
- 【Python学习系列八】Python实现线性可分SVM(支持向量机)
- 机器学习算法与Python实践之(四)支持向量机(SVM)实现
- 支持向量机 SVM 算法推导优缺点 代码实现 in Python
- 机器学习:支持向量机(SVM)与Python实现第(二)篇
- SVM 支持向量机 opencv实现
- matlab实现hog+svm图像二分类
- 二分类SVM方法Matlab实现
- 支持向量机——sklearn 实现支持向量机(SVM)
- SVM的matlab实现——CVX工具箱应用
- <基础原理进阶>机器学习算法python实现【5】--文本分析之支持向量机SVM(下)