Advertisement
Guest User

Untitled

a guest
May 21st, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.91 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.  
  8. [R, Q] = size(P);
  9. S1 = 1;
  10. [S2, Q] = size(T);
  11. [W1, B1] = nwtan(S1, R);
  12. [W2, B2] = rands(S2, S1);
  13. disp_freq = 100;
  14. max_epoch = 20000;
  15. err_goal = 1e-20;
  16. lr = 0.1;
  17. error = [];
  18. A1 = tansig(W1*P, B1);
  19. A2 = purelin(W2*A1, B2);
  20. E = T-A2;
  21. SSE = sumsqr(E);
  22.  
  23. for (epoch=1:max_epoch)
  24.     if SSE < err_goal, epoch=epoch-1;break, end;
  25.     D2 = deltalin(A2, E);
  26.     D1 = deltatan(A1, D2, W2);
  27.     [dW1, dB1] = learnbp(P, D1, lr);
  28.     [dW2, dB2] = learnbp(A1, D2, lr);
  29.     W1 = W1 + dW1; B1 = B1 + dB1;
  30.     W2 = W2 + dW2; B2 = B2 + dB2;
  31.    
  32.     A1 = tansig(W1*P, B1);
  33.     A2 = purelin(W2*A1, B2);
  34.     E = T-A2;
  35.     SSE = sumsqr(E);
  36.     error = [error, SSE];
  37.    
  38.     if (rem(epoch, disp_freq) == 0)
  39.         epoch
  40.         SSE
  41.         plot(P, T, 'r', P, A2, 'g')
  42.         pause(1e-10)
  43.     end;
  44. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement