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

Answers (1)

%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 Comment

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.

Sign in to comment.

Categories

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

Asked:

Reu
on 6 Sep 2011

Community Treasure Hunt

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

Start Hunting!