Advertisement
Guest User

Untitled

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