资源简介

对分布于二维空间的线性可分样本进行分类,画出了其中每个类的判决函数、判决面。 并拓展到非线性可分或者不可分!

资源截图

代码片段和文件信息

clear all;
close all;
clc

figure;
hold on;
grid on;

ang1=rand(1100)*pi*2;
r1=sqrt(rand(1100));
x1=r1.*cos(ang1)+4;
y1=r1.*sin(ang1)+1;
scatter(x1y1‘rd‘);%第一类

ang2=rand(1100)*pi*2;
r2=sqrt(rand(1100));
x2=r2.*cos(ang2)+4;
y2=r2.*sin(ang2)+3.5;
scatter(x2y2‘go‘);%第二类

ang3=(rand(1100))*pi*2;
r3=sqrt(rand(1100));
x3=r3.*cos(ang3)+2;
y3=r3.*sin(ang3)+2;
scatter(x3y3‘b*‘);%第三类

L=legend(‘第一类‘‘第二类‘‘第三类‘0);
set(L‘FontSize‘12);
axis([0 10 0 10]);

z1=[x1 x2 x3];
z2=[y1 y2 y3];
train_samples=[z1‘ z2‘ ones(3001)]‘;
[wcount]  = sensor( train_samples1100100100 );%感知器分类

d=zeros(33);
d=[(w(1:)-w(2:))‘(w(1:)-w(3:))‘(w(2:)-w(3:))‘]‘;
A=[d(11) d(12);d(21) d(22)];
b=[-d(13);-d(23)];
x=inv(A)*b;
plot([x(1)10][x(2)-(10*d(11)+d(13))/d(12)]‘r-‘);
plot([-d(23)/d(21)x(1)][0x(2)]‘b-‘);
plot([-(d(33)+10*d(32))/d(31)x(1)][10x(2)]‘g-‘);
%画判决面

X=xlabel(‘x‘);
set(X‘FontSize‘12);
Y=ylabel(‘y‘);
set(Y‘FontSize‘12);
T=title(‘感知器算法实现多类线性可分‘);
set(T‘FontSize‘12);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-04-02 20:38  模式识别实验\
     目录           0  2016-11-29 21:29  模式识别实验\Perceptron1\
     文件        1101  2016-11-23 18:13  模式识别实验\Perceptron1\Perceptron_test.m
     文件        1420  2016-11-23 18:19  模式识别实验\Perceptron1\sensor.m
     目录           0  2016-11-29 21:29  模式识别实验\Perceptron2\
     文件        1046  2016-11-29 19:57  模式识别实验\Perceptron2\Perceptron_test.m
     文件         285  2016-11-20 09:33  模式识别实验\Perceptron2\rise_dim.m
     文件        1420  2016-11-23 18:17  模式识别实验\Perceptron2\sensor.m
     目录           0  2016-11-29 21:30  模式识别实验\Perceptron3\
     文件        1088  2016-11-23 18:14  模式识别实验\Perceptron3\Perceptron_test.m
     文件        1577  2016-11-29 20:16  模式识别实验\Perceptron3\sensor.asv
     文件        1569  2016-11-29 20:16  模式识别实验\Perceptron3\sensor.m

评论

共有 条评论