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

回答(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 个评论

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.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Sequence and Numeric Feature Data Workflows 的更多信息

提问:

Reu
2011-9-6

Community Treasure Hunt

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

Start Hunting!

Translated by