Advertisement
Guest User

Untitled

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