z5 3neur w w1 train.M, WAT, SEMESTR VIII, Metody i zadania rozpoznawania wzorców
[ Pobierz całość w formacie PDF ]
%Aproksymacja liniowaclearosie=[-20 20 -10 10];L=8;u1=[-4 -8];u2=[5 -6];u3=[-5 2];u4=[-10 6];u5=[0 8];u6=[10 8];u7=[15 5];u8=[12 0];%u8=[1 0];U=[u1;u2;u3;u4;u5;u6;u7;u8];z=[1 -1 -1;1 -1 -1; -1 1 -1; -1 1 -1; -1 1 -1; -1 -1 1;-1 -1 1; -1 -1 1];%z=[1 -1 -1;1 -1 -1; -1 1 -1; -1 1 -1; -1 1 -1; -1 -1 1;-1 -1 1; -1 1 -1];figure(1);clf;subplot(1,2,1);newplot;hold on;axis(osie);[lw,lk]=size(U);kolor1='bs';kolor2='ro';kolor3='gd';for licz=1:lw;if z(licz,1)==1plot(U(licz,1),U(licz,2),kolor1);elseif z(licz,2)==1plot(U(licz,1),U(licz,2),kolor2);elseif z(licz,3)==1plot(U(licz,1),U(licz,2),kolor3);end;end;Uk= [ones(lw,1) U];disp('Rozwi?zanie analityczne')Wa=inv(Uk'*Uk)*Uk'*zr=Uk*Wa-z;disp('B??d aproksymacji')wariancja=diag(r'*r)'KOLOR=['b', 'r', 'g'];for licz=1:3wrys=Wa(:,licz);rprosta(wrys,osie,KOLOR(licz));end;title('Rozwiazanie analityczne');%%%Funkcje TOOLBOXa% TRAINLM is a network training function% that updates weight and bias values according to Levenberg-Marquardt optimization.% You can create a standard network that uses TRAINLM with NEWFF.% net=newff(zakresy,[1],{'purelin'});% To prepare a custom network to be trained with TRAINLM:% 1) Set NET.trainFcn to 'trainlm'.% This will set NET.trainParam to TRAINLM's default parameters.% 2) Set NET.trainParam properties to desired values.zakresy=[-20 20; -10 10]net = newff(zakresy,[3 ],{'purelin' });% Dane ucz?ceP=U'T=z'% Treningnettr = train(net,P,T);W=nettr.iw{1,1};b=nettr.b{1};Wt=[b, W];disp('Por?wnanie wynik?w macierzy wag');[Wa, Wt]figure(1);subplot(1,2,2);newplot;hold on;axis(osie);[lw,lk]=size(U);kolor1='bs';kolor2='ro';kolor3='gd';for licz=1:lw;if z(licz,1)==1plot(U(licz,1),U(licz,2),kolor1);elseif z(licz,2)==1plot(U(licz,1),U(licz,2),kolor2);elseif z(licz,3)==1plot(U(licz,1),U(licz,2),kolor3);end;end;KOLOR=['b', 'r', 'g'];for licz=1:3wrys=Wt(licz,:);rprosta(wrys,osie,KOLOR(licz));end;title('Rozwiazanie metoda uczenia sieci');% Weryfikacja uczenia: obliczenie wyj?cia dla danych ucz?cychdisp('Por?wnanie wynik?w wyj?? z sieci dla zbioru ucz?cego');wynik = sim(nettr,P)z'
[ Pobierz całość w formacie PDF ]