Skip to content

Instantly share code, notes, and snippets.

@wuyazi
Last active August 29, 2015 13:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wuyazi/10017286 to your computer and use it in GitHub Desktop.
Save wuyazi/10017286 to your computer and use it in GitHub Desktop.
%%
clc;
clear;
close all;
%% generate random data
shift = 1;
n = 200;
m=200;
d = 2;
sigma = 1;
x = randn(d,n)-shift;
y = randn(d,m)*sigma+shift;
%%
%show the data
figure;
plot(x(1,:),x(2,:),'rs');
hold on;
plot(y(1,:),y(2,:),'go');
legend('Positive samples','Negative samples');
%% training...
%Linear programming
for i=1:n
A(i,:) = [-x(:,i)',-1];
end
for i=1:m
A(i+n,:) = [y(:,i)',1];
end
c = ones(n+m,1)*(-1);
w = linprog(zeros(d+1,1),A,c);
hold on;
%% visualize the classification area
x1 = -shift-2:0.1:shift+2*sigma;
y1 = (-w(3)-w(1)*x1)/w(2);
plot(x1,y1,'-','LineWidth',2);
legend('Positive samples','Negative samples','Linear programming');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment