龙空技术网

人工智能之SVM(三)

人工智能AI之机器学习 63

前言:

现时姐妹们对“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程序