Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- clear all
- NNTWARN OFF
- format compact
- P = -1:0.1:-0.5;
- T = [-0.9602 -0.5770 -0.0729 0.3771 0.6405 0.6600];
- [R,Q] = size(P);
- %%%
- S1 = 2;
- %[S1,Q] = size(T);
- [S2,Q] = size(T);
- %%%
- [W1,B1] = nwtan(S1,R);
- [W2,B2] = rands(S2,S1);
- %%%
- disp_freq = 100;
- max_epoch = 20000;
- err_goal = 1e-30;
- lr = 0.1;
- error = [];
- A1 = tansig(W1*P,B1);
- %%%
- A2 = purelin(W2*A1,B2);
- %%%
- %%%E = T-A1;
- E = T-A2;
- %%%
- SSE = sumsqr(E);
- for epoch = 1:max_epoch
- if (SSE < err_goal)
- epoch = epoch-1;
- break;
- end
- D2 = deltalin(A2,E);
- %%%D1 = deltatan(A1,E);
- D1 = deltatan(A1,D2,W2);
- [dW2,dB2] = learnbp(A1,D2,lr);
- %%%%
- [dW1,dB1] = learnbp(P,D1,lr);
- %%%
- W2 = W2 + dW2;
- W1 = W1 + dW1;
- B2 = B2 + dB2;
- B1 = B1 + dB1;
- %%%
- A1 = tansig(W1*P,B1);
- %%%
- A2 = purelin(W2*A1,B2);
- %%%E = T-A1;
- E = T-A2;
- %%%
- SSE = sumsqr(E);
- error = [error SSE];
- if(rem(epoch,disp_freq)==0)
- %%epoch
- %%SSE
- %%%plot(P,T,'r',P,A1,'g')
- plot(P,T,'r',P,A2,'g') %wyjscie 2
- pause(1e-50)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement