Elman Neural Network

4 ビュー (過去 30 日間)
minoo
minoo 2011 年 6 月 5 日
Hi everybody,
I'm trying to train an Elman neural network for predicting time series. My observation matrix dimension is 15*30000 and for every 15 inputs, one sample is as target. I use an Elman network which has 10 neurons in hidden layer.
net = newelm(Pseq,Tseq,10,{'tansig' 'purelin'},'traingdx');
It takes at least 12 hours to train such a network for 25 epochs. Is it normal?
Is there any trick to train the Elman network faster?

採用された回答

Greg Heath
Greg Heath 2012 年 9 月 15 日
If
[ I N ] = size(P)
[ O N ] = size(T)
The number of training equations is
Neq = prod(size(T)) = N*O
For an I-H-O elman net the number of weights to be estimated is
Nw = net.numWeightElements
= (I+1+H)*H+(H+1)*O = H^2 + (I+O+1)*H + O
The following condition is usually sufficient for successful training
Neq = N*O >> Nw
Depending on the complexity of the underlying I/O relationship
Neq/Nw ~ 10 to 30
is a reasonable range to investigate
Therefore, for I-H-O = 15-10-1
N >> H^2 + (I+O+1)*H + O = 100+170+1 = 271
Taking into consideration that H < 10 may be adequate,
Try starting your search with
N = 3000 for H = 1:10 and Ntrials = 10 different weight initializations
Hope this helps.
Greg

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSequence and Numeric Feature Data Workflows についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by