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

6 vues (au cours des 30 derniers jours)
Mohan
Mohan le 1 Fév 2013
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 commentaire
Jan
Jan le 1 Fév 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.

Connectez-vous pour commenter.

Réponse acceptée

Shashank Prasanna
Shashank Prasanna le 1 Fév 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);

Plus de réponses (1)

Vito
Vito le 1 Fév 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.

Catégories

En savoir plus sur Sequence and Numeric Feature Data Workflows dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by