clear % inicjujemy strukture - jeden element perceptronu , ma dwa wejscia nn=struct('w',[-0.1 0.6], 'w0',-0.4 ); % parametr szybkosci zmiany wag eta=0.05; % konstruujemy ciag uczacy {X, Z} X=[1 1 3 3 2 3 3 4 1.2 3.2]; Z=[1 1 0 0 0 ]; % rozpoczynamy nauke jeden obrot petli while to jedna sesja % - delta zlicza ilosc popelnionych w sesji bladow delta=1; i=0; while delta>0 delta=0; for j=1:length(X) [nn, d]=ucz_pp(nn,X(j,:),Z(j),eta); % uczymy neuron j-tego elementu w ciagu uczacym delta=delta+abs(d); % sumujemy wartosci bezwzgledne bladow end subplot(121) rysuj_wynik(nn,X,Z); %rysujemy aktualny podzial przestrzeni wejsciowej ; i=i+1 d_wyk(i)=delta; subplot(122) plot(1:i,d_wyk) pause(1) disp(sprintf('zla klasyfikacja %d na %d punktow ',delta, length(Z))) end