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

5 visualizzazioni (ultimi 30 giorni)
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 Commento
Jan
Jan il 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.

Accedi per commentare.

Risposta accettata

Shashank Prasanna
Shashank Prasanna il 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);

Più risposte (1)

Vito
Vito il 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.

Categorie

Scopri di più su Sequence and Numeric Feature Data Workflows in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by