Elman Class Reference

Multilayer Neural Network with context neurons (after Elman) Example of 2 hidden layer network O O O | | | H H H ----->-----+ 1:1 fixed connections (time delayed) | | |\-<-< __ | | | | \ \ \/ |l | l = lambda -> recurrent connection | | | C C C<-+ | | | | ^-^-^--<--+ H H H ----->-----+ 1:1 fixed connections (time delayed) | | |\-<-< __ | | | | \ \ \/ |l | l = lambda -> recurrent connection I I I C C C<-+ | ^-^-^--<--+. More...

#include <elman.h>

Inherits MultiLayerFFNN.

Inheritance diagram for Elman:

Inheritance graph
[legend]
Collaboration diagram for Elman:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Elman (double eps, const std::vector< Layer > &layers, double lambda)
virtual ~Elman ()
virtual void init (unsigned int inputDim, unsigned int outputDim, double unit_map=0.0)
 initialisation of the network with the given number of input and output units
virtual const matrix::Matrix process (const matrix::Matrix &input)
 passive processing of the input (this will be different for every input, since it is a recurrent network)
virtual const matrix::Matrix learn (const matrix::Matrix &input, const matrix::Matrix &nom_output, double learnRateFactor=1)
 performs learning and returns the network output before learning
bool store (FILE *f) const
 stores the layer binary into file stream
bool restore (FILE *f)
 restores the layer binary from file stream
virtual paramkey getName () const
 return the name of the object

Protected Attributes

std::vector< matrix::Matrixcontextweights
std::vector< matrix::Matrixcontexts
double lambda

Detailed Description

Multilayer Neural Network with context neurons (after Elman) Example of 2 hidden layer network O O O | | | H H H ----->-----+ 1:1 fixed connections (time delayed) | | |\-<-< __ | | | | \ \ \/ |l | l = lambda -> recurrent connection | | | C C C<-+ | | | | ^-^-^--<--+ H H H ----->-----+ 1:1 fixed connections (time delayed) | | |\-<-< __ | | | | \ \ \/ |l | l = lambda -> recurrent connection I I I C C C<-+ | ^-^-^--<--+.


Constructor & Destructor Documentation

Elman double  eps,
const std::vector< Layer > &  layers,
double  lambda
[inline]
 

Parameters:
eps learning rate
layers Layer description (the input layer is not specified (always linear))
lambda self-recurrent feedback strength of context neurons

virtual ~Elman  )  [inline, virtual]
 


Member Function Documentation

virtual paramkey getName  )  const [inline, virtual]
 

return the name of the object

Reimplemented from MultiLayerFFNN.

void init unsigned int  inputDim,
unsigned int  outputDim,
double  unit_map = 0.0
[virtual]
 

initialisation of the network with the given number of input and output units

Reimplemented from MultiLayerFFNN.

const Matrix learn const matrix::Matrix input,
const matrix::Matrix nom_output,
double  learnRateFactor = 1
[virtual]
 

performs learning and returns the network output before learning

Reimplemented from MultiLayerFFNN.

const Matrix process const matrix::Matrix input  )  [virtual]
 

passive processing of the input (this will be different for every input, since it is a recurrent network)

Reimplemented from MultiLayerFFNN.

bool restore FILE *  f  )  [virtual]
 

restores the layer binary from file stream

Reimplemented from MultiLayerFFNN.

bool store FILE *  f  )  const [virtual]
 

stores the layer binary into file stream

See also:
InvertableModel::response

Reimplemented from MultiLayerFFNN.


Member Data Documentation

std::vector<matrix::Matrix> contexts [protected]
 

std::vector<matrix::Matrix> contextweights [protected]
 

double lambda [protected]
 


The documentation for this class was generated from the following files:
Generated on Tue Jan 16 02:14:46 2007 for Robotsystem of the Robot Group Leipzig by doxygen 1.3.8