Advertisement
Guest User

Untitled

a guest
May 21st, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.83 KB | None | 0 0
  1. clear all
  2. nntwarn off
  3. format compact
  4.  
  5. P=-1:.1:-.5;
  6. T=[-.9602 -.5770 -.0729 .3771 .6405 .6600 ];
  7. [R,Q] = size(P);
  8. S1 =13;
  9. [S2,Q] = size(T);
  10. [W1, B1]=nwtan(S1, R);
  11. [W2, B2]=rands(S2, S1);
  12. disp_freq = 100;
  13. max_epoch = 20000;
  14. err_goal = 1e-20;
  15. lr=0.02;
  16. error=[];
  17. A1 = tansig(W1*P,B1);
  18. A2 = purelin(W2*A1,B2);
  19. E = T-A2;
  20. SSE = sumsqr(E);
  21. for epoch=1:max_epoch
  22.     if SSE<err_goal
  23.         epoch=epoch-1;
  24.         break;
  25.     end
  26.    
  27.  D2 = deltalin(A2,E);
  28.  D1 = deltatan(A1,D2, W2);
  29.  [dW1,dB1] = learnbp(P,D1,lr);
  30.  [dW2,dB2] = learnbp(A1,D2,lr);
  31.  W1 = W1+dW1;
  32.  B1 = B1+dB1;
  33.  W2 = W2+dW2;
  34.  B2 = B2+dB2;
  35.  
  36.  A1 = tansig(W1*P,B1);
  37.  A2 = purelin(W2*A1,B2);
  38.  E = T-A2;
  39.  SSE = sumsqr(E);
  40.  error=[error SSE];
  41.  
  42.  if(rem(epoch,disp_freq)==0)
  43.      epoch
  44.      SSE
  45.      plot(P,T,'r',P,A2,'g')
  46.      pause(1e-5)
  47.  end
  48.  
  49. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement