%%% Perceptron kód a beépített függvénnyel %%% A=load('elemek.txt'); figure; gscatter(A(:,1),A(:,2),A(:,3),'br','*o') A(201:400,3)=0 % celvaltozo: 0-k és 1-esek, -1-est 0-ra kell cserelni % halozat inicializalasa net=perceptron; %net.trainParam.epochs=10; % tanitas net=train(net,A(:,1:2)',A(:,3)'); % teszteles, y: halozat altal nyujtott output y=net(A(:,1:2)'); d=A(:,3)'; % d: eredeti output accuracy=(sum(y==d))/400 % pontossag w=net.IW{1,1} % sulyok b=net.b{1} % torzitas hold on refline(-w(1)/w(2),-b/w(2)) %%% Jegyzetbeli perceptron kód implementálása %%% A=load('elemek.txt'); figure; gscatter(A(:,1),A(:,2),A(:,3),'br','*o') w=[0 0]; %kezdeti sulyvektor b=0; %kezdeti torzitas k=0; % korrekcios lepesek szama R=max(A(:,1).^2+A(:,2).^2); % R negyzet x=A(:,1:2); y=A(:,3); corr=1; while corr==1 corr=0; for i=1:400 if y(i)*(dot(x(i,:),w)+b)<=0 w=w+y(i)*x(i,:); b=b+y(i)*R; k=k+1; corr=1; end end end hold on refline(-w(1)/w(2),-b/w(2))