Elman Network with Logsig Output Neuron

I was trying to create a neural network for a classification task. I used the following line;
net=newelm(elman_input,elman_targets,[ 5,5,1], {'tansig','tansig','logsig'})
but this actually seems to create a network with 4 layers not 3.
size(net.layers) = 4,1
It seems matlab wants to autogenerate the output layer in case I get the dimensions wrong. The autogenerated output neuron has a purelin transfer function and works well.
When I change the output neuron to a logsig transfer function (more appropriate for my particular task) the network behaves extremely badly and I cannot train it (I tried traingdx and trainrp).
anyone else tried an elman network with a logsig output function?
I am keen to avoid the linear output because I want to use a custom performance function that will not respond well to negative outputs.

 Respuesta aceptada

Greg Heath
Greg Heath el 15 de Sept. de 2012

0 votos

net=newelm(elman_input,elman_targets,[ 5,5], {'tansig','tansig','logsig'});
The output dimension is automatically obtained from elman_targets.

Más respuestas (0)

Categorías

Más información sobre Deep Learning Toolbox en Centro de ayuda y File Exchange.

Preguntada:

el 18 de Jun. de 2011

Community Treasure Hunt

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

Start Hunting!

Translated by