Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- clear all
- nntwarn off
- format compact
- P = [-1:.1:-.5];
- T = [-.9602, -.5770, -.0729, .3771, .6405, .6600];
- [R, Q] = size(P);
- S1 = 1;
- [S2, Q] = size(T);
- [W1, B1] = nwtan(S1, R);
- [W2, B2] = rands(S2, S1);
- disp_freq = 100;
- max_epoch = 20000;
- err_goal = 1e-20;
- lr = 0.1;
- error = [];
- A1 = tansig(W1*P, B1);
- A2 = purelin(W2*A1, B2);
- E = T-A2;
- SSE = sumsqr(E);
- 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] = learnbp(P, D1, lr);
- [dW2, dB2] = learnbp(A1, D2, lr);
- W1 = W1 + dW1; B1 = B1 + dB1;
- W2 = W2 + dW2; B2 = B2 + dB2;
- A1 = tansig(W1*P, B1);
- A2 = purelin(W2*A1, B2);
- 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(1e-10)
- end;
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement