Neural Network Toolbox Previous page   Next Page
newelm

Create an Elman backpropagation network

Syntax

net = newelm

net = newelm(PR,[S1 S2...SNl],{TF1 TF2...TFNl},BTF,BLF,PF)

Description

net = newelm creates a new network with a dialog box.

newelm(PR,[S1 S2...SNl],{TF1 TF2...TFNl},BTF,BLF,PF) takes several arguments,

and returns an Elman network.

The training function BTF can be any of the backprop training functions such as trainlm, trainbfg, trainrp, traingd, etc.

Caution:  trainlm is the default training function because it is very fast, but it requires a lot of memory to run. If you get an "out-of-memory" error when training try doing one of these:

  1. Slow trainlm training, but reduce memory requirements by setting net.trainParam.mem_reduc to 2 or more. (See help trainlm.)
  2. Use trainbfg, which is slower but more memory-efficient than trainlm.
  3. Use trainrp, which is slower but more memory-efficient than trainbfg.

The learning function BLF can be either of the backpropagation learning functions such as learngd or learngdm.

The performance function can be any of the differentiable performance functions such as mse or msereg.

Examples

Here is a series of Boolean inputs P, and another sequence T, which is 1 wherever P has had two 1's in a row.

We would like the network to recognize whenever two 1's occur in a row. First we arrange these values as sequences.

Next we create an Elman network whose input varies from 0 to 1, and has five hidden neurons and 1 output.

Then we train the network with a mean squared error goal of 0.1, and simulate it.

Algorithm

Elman networks consist of Nl layers using the dotprod weight function, netsum net input function, and the specified transfer functions.

The first layer has weights coming from the input. Each subsequent layer has a weight coming from the previous layer. All layers except the last have a recurrent weight. All layers have biases. The last layer is the network output.

Each layer's weights and biases are initialized with initnw.

Adaption is done with trains, which updates weights with the specified learning function. Training is done with the specified training function. Performance is measured according to the specified performance function.

See Also

newff, newcf, sim, init, adapt, train, trains


Previous page  newcf newff Next page

© 1994-2005 The MathWorks, Inc.