30 #include <selforg/invertablemodel.h>
31 #include <selforg/matrix.h>
81 virtual void init(
unsigned int inputDim,
unsigned int outputDim,
82 double unit_map = 0.0,
RandGen* randGen = 0);
96 double learnRateFactor = 1);
115 virtual void damp(
double damping);
122 virtual bool store(FILE*)
const;
virtual const matrix::Matrix response(const matrix::Matrix &_input) const
calculates the partial derivative of the of the output with repect to the input (Jacobi matrix)...
Definition: esn.cpp:191
Matrix type.
Definition: matrix.h:65
abstract class (interface) for invertable models.
Definition: invertablemodel.h:33
matrix::Matrix ESNWeights
Definition: esn.h:144
static ESNConf getDefaultConf()
Definition: esn.h:61
virtual bool restore(FILE *)
loads the object from the given file stream (ASCII preferred).
Definition: esn.cpp:230
virtual const matrix::Matrix learn(const matrix::Matrix &input, const matrix::Matrix &nom_output, double learnRateFactor=1)
Definition: esn.cpp:120
double spectralRadius
largest eigenvalue of internal weights
Definition: esn.h:39
double error
Definition: esn.h:145
int nbInputs
Definition: esn.h:137
double learningrate
Definition: esn.h:40
virtual unsigned int getOutputDim() const
returns the number of output neurons
Definition: esn.cpp:211
virtual void damp(double damping)
damps the weights and the biases by multiplying (1-damping)
Definition: esn.cpp:202
virtual void init(unsigned int inputDim, unsigned int outputDim, double unit_map=0.0, RandGen *randGen=0)
initialisation of the network with the given number of input and output units
Definition: esn.cpp:52
random generator with 48bit integer arithmentic
Definition: randomgenerator.h:34
matrix::Matrix ESNState
Definition: esn.h:142
double connectionRatio
ratio of internal connections w.r.t full connectivity
Definition: esn.h:38
double inputRatio
ratio of input connections w.r.t full connectivity
Definition: esn.h:37
virtual const matrix::Matrix inversion(const matrix::Matrix &input, const matrix::Matrix &xsi) const
calculates the input shift v to given output shift xsi via pseudo inversion.
Definition: esn.cpp:196
matrix::Matrix outputDirectWeights
Definition: esn.h:141
ESNConf conf
Definition: esn.h:131
matrix::Matrix inputWeights
Definition: esn.h:139
int numNeurons
number of neurons in the reservoir
Definition: esn.h:35
virtual bool store(FILE *) const
stores the object to the given file stream (ASCII preferred).
Definition: esn.cpp:217
bool initialized
Definition: esn.h:146
virtual unsigned int getInputDim() const
returns the number of input neurons
Definition: esn.cpp:206
ESN(const ESNConf &conf=getDefaultConf())
ESN class constructor.
Definition: esn.cpp:35
matrix::Matrix outputWeights
Definition: esn.h:140
class for robot control with sine, sawtooth and impuls
Definition: esn.h:52
static double tanh_prime(double z)
Definition: esn.h:127
matrix::Matrix ESNActivations
Definition: esn.h:143
double inputStrength
strength of input to reservoir connections
Definition: esn.h:36
int c
Definition: hexapod.cpp:56
int nbOutputs
Definition: esn.h:138
bool inspectInternals
switch on to get the internal weights and activations inspectabe
Definition: esn.h:42
virtual const matrix::Matrix process(const matrix::Matrix &input)
passive processing of the input (this function is not constant since a recurrent network for example ...
Definition: esn.cpp:105