Why the code is giving different results, every time I run it ???

5 views (last 30 days)
clc;clear all;close all;
net = newff([-10 10],[4 1],{'tansig','purelin'});
p = [-10 -5 0 5 10];
t = [0 0 1 1 1];
y = sim(net,p);
e = t-y;
perf = mse(e);
%%%%%%%%%%%%%%%%% End of the Code %%%%%%%%%%%%%%%%%%%%%%%
Why the result of the code is giving different results every time I run it.
  1 Comment
Jan
Jan on 1 Feb 2013
clc;clear all;close all; is a brute cleaning. Especially clear all is not useful, but use clear variables to allow Matlab to keep the expensively parsed functions in the memory.

Sign in to comment.

Accepted Answer

Shashank Prasanna
Shashank Prasanna on 1 Feb 2013
This is due to random setting of the initial weights and biases.
You can confirm that by setting the random seed each time and your results will be reproducible:
clc;clear all;close all;
rand('seed',0) % set random seed
net = newff([-10 10],[4 1],{'tansig','purelin'});
p = [-10 -5 0 5 10];
t = [0 0 1 1 1];
y = sim(net,p);
e = t-y;
perf = mse(e);

More Answers (1)

Vito
Vito on 1 Feb 2013
Each time occurs network initialization. That is initial IW installation. Usually it occurs in a random way. Therefore result, on an untrained network always the different.

Categories

Find more on Sequence and Numeric Feature Data Workflows in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!