Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- clear all
- clf
- nntwarn off
- format compact
- S1=15;
- P=-1:.1:-.5;
- T=[-.9602 -.5770 -.0729 .3771 .6405 .6600];
- [R,Q]=size(P);
- S1=15;
- S2=15;
- [S2,Q]=size(T);
- [W1,B1]=nwtan(S1,R);
- [W2,B2] = rands(S2,S1);
- save wagis2w;
- %load wagis2w;
- disp_freq = 100;
- max_epoch = 20000;
- err_goal = 1e-8;
- lr = 0.02;
- error = [];
- A1 = tansig(W1*P,B1);
- A2 = purelin(W2*A1,B2);
- %A3 = purelin(W3*A2,B3);
- E = T-A2;
- SSE = sumsqr(E);
- mc = 0.01;
- dW1 = zeros(size(W1));
- dB1 = zeros(size(B1));
- dW2 = zeros(size(W2));
- dB2 = zeros(size(B2));
- %dW3 = zeros(size(W3));
- %dB3 = zeros(size(B3));
- for epoch=1:max_epoch
- if (SSE<err_goal)
- epoch=epoch-1;
- break;
- end
- D2=deltalin(A2,E);
- D1=deltatan(A1,D2,W2);
- [dW1,dB1] = learnbpm(P,D1,lr,mc,dW1,dB1);
- [dW2,dB2] = learnbpm(A1,D2,lr,mc,dW2,dB2);
- % [dW3,dB3] = learnbpm(A2,D3,lr,mc,dW3,dB3);
- W1 = W1+dW1;
- B1 = B1 + dB1;
- W2 = W2+dW2;
- B2 = B2 + dB2;
- % W3 = W3+dW3;
- % B3 = B3 + dB3;
- A1 = tansig(W1*P,B1);
- A2 = tansig(W2*A1,B2);
- % A3 = purelin(W3*A2,B3);
- E = T-A2;
- SSE = sumsqr(E);
- error = [error SSE];
- if(rem(epoch,disp_freq)==0)
- epoch
- SSE
- plot(P,T,'r',P,A2,'g');
- pause(0.005)
- end
- end
- epoch
- SSE
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement