Can any one tell me what is the simplest way to create an Elman nerual network(ENN), with 'trainrp'(resilint back propagation), whose weights are initalized by nguyen widrow algorithm with 20 hidden layers. Network which has very less random nature.

1 view (last 30 days)
I am using R2010a, when I tried to create elman network wirh trainrp in 'nntool' I got errors, so please give me the code or the way to create above mentioned network.

Answers (1)

Greg Heath
Greg Heath on 5 Oct 2014
I really have to question your approach
1. Why ELMAN? If you use the commands help and doc
help elman
doc elman
you immediately encounter this advice:
Elman networks are provided for historical interest. For much better results use narxnet, timedelaynet, or distdelaynet.
Elman networks with two (or more) layers can learn any dynamic input-output relationship arbitrarily well given enough hidden neurons and enough input and layer delays. However, Elman networks use static derivative calculates instead of full dynamic calculates. This results in a trade off of reduced training calculations, but the risk of poorer accuracy.
2. It is usually best to first use as many default parameters as possible before modifying the code. For example, see the examples in the help and doc documentation. So why specify nondefault initialization and training functions?
3. The fewer hidden layers you can use and achieve acceptable nontraining (e.g., val and test) performance, the better off you are. Therefore, it is wise to start with 1 hidden layer. Even thinking of more than 2 is definitely not recommended.
4. Start with the help and doc examples, but do not use dividerand which destroys correlations. Then modify one or more net properties at a time until nontraining performance is optimized.
5. Searching NEWSGROUP and ANSWERS may yield additional helpful examples.
Hope this helps.
Thank you for formally accepting my answer
Greg

Community Treasure Hunt

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

Start Hunting!