支持向量机算法

描述

1、支持向量机

1、基于统计理论的学习系统

2、属于有监督学习的方法

3、用于样本分类

4、分为线性分类模型与非线性分类模型

下面看一道例题:有18组数据,有不同的类别属性,建立SVM模型。

SVM

clear clc X0=xlsread('Excel文件位置','B2:E19'); for i=1:3 X(:,i)=(X0(:,i)-mean(X0(:,i)))/std(X0(:,i));%数据标准化 end [m,n]=size(X); e=ones(m,1); D=[X0(:,4)]; B=zeros(m,m); C=zeros(m,m); for i=1:m B(i,i)=1; C(i,i)=D(i,1); end A=[-X(:,1).*D,-X(:,2).*D,-X(:,3).*D,D,-B]; b=-e; f=[0,0,0,0,ones(1,m)]; lb=[-inf,-inf,-inf,-inf,zeros(1,m)]'; x=linprog(f,A,b,[],[],lb); W=[x(1,1),x(2,1),x(3,1)]; CC=x(4,1); X1=[X(:,1),X(:,2),X(:,3)]; R1=X1*W'-CC; R2=sign(R1); disp('程序输出结果:'); disp('超平面方程为:'); disp(['X1:',num2str(x(1,1))]); disp(['X2:',num2str(x(2,1))]); disp(['X3:',num2str(x(3,1))]); disp(['intercept:',num2str(x(4,1))]); disp('超平面分类结果:'); R=[R1,R2]

结果展示:

Optimization terminated.
程序输出结果:
超平面方程为:
X1:2.4476
X2:0.07549
X3:1.17
intercept:0.70991

超平面分类结果:

R =

2.6679 1.0000
2.6442 1.0000
2.6488 1.0000
1.0000 1.0000
1.0000 1.0000
2.4507 1.0000
-0.8074 -1.0000
1.0000 1.0000
0.1764 1.0000
-1.0000 -1.0000
0.3683 1.0000
-1.7115 -1.0000
-3.7894 -1.0000
-6.5114 -1.0000
-5.3694 -1.0000
0.6273 1.0000
-4.1523 -1.0000
-4.0207 -1.0000

从结果可以看出存在一定的误差,例如,第16组数据分类为1。




审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分