前言:
现时姐妹们对“matlab svm”可能比较关心,小伙伴们都需要剖析一些“matlab svm”的相关内容。那么小编同时在网上收集了一些对于“matlab svm””的相关内容,希望咱们能喜欢,各位老铁们快快来了解一下吧!1 .说明
本篇主要展示在MATLAB平台上应用SVM进行数据分类的程序代码和运行结果,其中对重要部分代码进行了特别说明。
2 .MATLAB代码
clc;
clear;
close all;
traindata = [0 1; -1 1; 2 1; 3 1; -2 1;4.5 1; 5 1; -3 1];
group = [-1 -1 1 1 -1 1 1 -1]';
testdata = [5 1;1 1;-4 1;2.7 1;0.4 1];
svmstruct=svmtrain(traindata,group,'Kernel_Function','linear','Showplot',true);
G=svmclassify(svmstruct,testdata,'Showplot',true);
hold on;
plot(testdata,'ro','MarkerSize',12);
hold off
testdata_label=G;
testdata_label(:);
3
运行结果展示
ans =
1
-1
-1
1
-1
y =
0.8868
0.6075
0.1693
0.7551
0.5482
4 .重要部分说明
1.代码中的svmstruct.SupportVectors为支持向量,svmstruct.Alpha(i)为向量算子;
2.b = svmstruct.Bias是构造权重w0;
3.f = testdata * [w'; b]就是构造上一节讲述的g(x),至于为什么是这样自己百度一下,因为SVM的讲解已经快烂大街了,因此我在这里只讲一些special的地方。
5 .总结
以上就是对SVM引入后验概率的全部内容,以上程序是在MATLAB2014a中编译运行的,运行结果中的ans是测试点的分类结果,y为测试点属于正样本的概率大小。
原文链接:
敬请关注微信公众平台“人工智能AI之机器学习”。
标签: #matlab svm #svm分类器matlab程序