how to initialize a network using nlarx

Hi, i'm using matlab 2010a and this is what i want to do:
======
nnett=newff(zeros(0,10),rand(1,10),[2]);
%other properties
for i=1:maxiter
m{i}=nlarx(data,[2 2 0],neuralnet(nnett));
end
%choose the best model
=====
The problem is that at each iteration the network has always the same initial weights (and obvioulsy they all give the same result). I've tried to set
=====
nnett.Network.layers{2}.initFcn='rands'
=====
but it gives this error:
=====
Error in ==> nlarx at 370 ??? Error using ==> rand
Inputs must be numeric.
=====
Any ideas?
Thanks

Réponses (1)

Walter Roberson
Walter Roberson le 6 Sep 2011
%other properties
for i=1:maxiter
nnett=newff(zeros(0,10),rand(1,10),[2]);
m{i}=nlarx(data,[2 2 0],neuralnet(nnett));
end
%choose the best model

1 commentaire

Reu
Reu le 7 Sep 2011
Thanks.
But doing that, nnett looses all its properties.
This should work:
for i=1:maxiter
nnett=newff(zeros(0,10),rand(1,10),[2]);
%other properties
m{i}=nlarx(data,[2 2 0],neuralnet(nnett));
end
%choose the best model
but it's not very clean. There isn't something like init(nnett) or someway to let nlarx initialize the network randomly?
Thx again.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Sequence and Numeric Feature Data Workflows dans Centre d'aide et File Exchange

Question posée :

Reu
le 6 Sep 2011

Community Treasure Hunt

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

Start Hunting!

Translated by