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 件)

Walter Roberson
Walter Roberson 2011 年 9 月 6 日

0 投票

%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 件のコメント

Reu
Reu 2011 年 9 月 7 日
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 ExchangeSequence 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