📄 exrlpsvm.m
字号:
%
%
% Examples of Robust linear program SVM
%
%
clear all
close all
tic
Napp = 3000;
Nunl =10;
tic
sigma=0.4;
C=10;
[xapp,yapp,xtest,ytest, xtest1, xtest2]=dataset('gaussian',Napp,Nunl,sigma);
[xapp,xtest]=normalizemeanstd(xapp,xtest);
%load datavapnik.mat;
h1=plot(xapp(yapp==1,1),xapp(yapp==1,2),'+g'); hold on
set(h1,'LineWidth',2);
h2=plot(xapp(yapp==-1,1),xapp(yapp==-1,2),'xr');
set(h2,'LineWidth',2);
Napp=size(xapp,1);
Nbvar=size(xapp,2);
U=zeros(Nbvar+Nbvar+Napp+1,1); % w,s,eta et b
f=zeros(2*Nbvar+Napp+1,1);
f(Nbvar+1:2*Nbvar)=1;
f(2*Nbvar+1:2*Nbvar+Napp)=C;
xy= repmat(yapp,1,Nbvar).*xapp;
A=-[xy zeros(Napp,Nbvar) eye(Napp) -yapp]; % contraintes de biens class閟
A=[A; eye(Nbvar,Nbvar) -eye(Nbvar,Nbvar) zeros(Nbvar,Napp) zeros(Nbvar,1)];
A=[A; -eye(Nbvar,Nbvar) -eye(Nbvar,Nbvar) zeros(Nbvar,Napp) zeros(Nbvar,1)];
b=[-ones(Napp,1); zeros(2*Nbvar,1)];
lb=[-inf*ones(2*Nbvar,1);zeros(Napp,1);-inf];
x=LINPROG(f,A,b,[],[],lb,[]);
w=x(1:Nbvar,1);
b=x(end);
[xtest1 xtest2] = meshgrid([-1:.05:1]*3.5,[-1:0.05:1]*3);
nn = length(xtest1);
Xtest = [reshape(xtest1 ,nn*nn,1) reshape(xtest2 ,nn*nn,1)];
ypred= Xtest*w - b;
ypred = reshape(ypred,nn,nn);
hold on
[cc,hh]=contour(xtest1,xtest2,ypred,[-1 0 1],'k');
clabel(cc,hh);
% kernel='poly';
% kerneloption=1;
% verbose=0;
% lambda=1e-7;
%
% [xsup,w1,w0,pos,tps,alpha1] = svmclass(xapp,yapp,C,lambda,kernel,kerneloption,verbose);
% ypred1 = svmval(Xtest,xsup,w1,w0,kernel,kerneloption,[ones(length(Xtest),1)]);
% ypred1 = reshape(ypred1,nn,nn);
%
%
% [cc,hh]=contour(xtest1,xtest2,ypred1,[-1 0 1],'r:');
% clabel(cc,hh);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -