35 NetUpdate(
int numweights,
int numbias,
int numothers)
38 std::vector<matrix::Matrix>
bias;
39 std::vector<matrix::Matrix>
other;
75 virtual void init(
unsigned int inputDim,
unsigned int outputDim,
76 double unit_map = 0.0,
RandGen* randGen = 0);
86 double learnRateFactor = 1);
100 int blockfrom,
int blockto);
112 void damp(
double damping);
116 bool store(FILE* f)
const;
123 return std::string(
"elmanNN");
Matrix type.
Definition: matrix.h:65
std::list< IConnection > iconnectionlist
Definition: inspectable.h:88
virtual ilayerlist getStructuralLayers() const
Specifies which parameter vector forms a structural layer (in terms of a neural network) The ordering...
Definition: elman.cpp:308
NetUpdate()
Definition: elman.h:34
std::string paramkey
Definition: configurable.h:85
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
Definition: elman.cpp:82
updates for network
Definition: elman.h:32
virtual paramkey getName() const
return the name of the object
Definition: elman.h:122
matrix::Matrix jordanContext
Definition: elman.h:138
double eps
learning rate
Definition: multilayerffnn.h:167
random generator with 48bit integer arithmentic
Definition: randomgenerator.h:34
std::vector< matrix::Matrix > weights
Definition: elman.h:37
Elman(double eps, const std::vector< Layer > &layers, bool useElman, bool useJordan=false, bool useBypass=false)
Definition: elman.h:65
bool initialised
Definition: multilayerffnn.h:199
matrix::Matrix input
Definition: multilayerffnn.h:194
virtual NetUpdate weightIncrementBlocked(const matrix::Matrix &xsi_, int blockedlayer, int blockfrom, int blockto)
like weightIncrement but with blocked backprop flow for some neurons.
Definition: elman.cpp:163
virtual iparamkeylist getInternalParamNames() const
The list of the names of all internal parameters given by getInternalParams().
Definition: elman.cpp:279
Multilayer Neural Network with context neurons (after Elman and Jordan) Example of 2 hidden layer net...
Definition: elman.h:58
virtual iparamvallist getInternalParams() const
Definition: elman.cpp:293
NetUpdate(int numweights, int numbias, int numothers)
Definition: elman.h:35
virtual ~Elman()
Definition: elman.h:72
matrix::Matrix elmanWeights
Definition: elman.h:135
bool store(FILE *f) const
stores the layer binary into file stream
Definition: elman.cpp:245
bool restore(FILE *f)
restores the layer binary from file stream
Definition: elman.cpp:260
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: elman.cpp:34
virtual NetUpdate weightIncrement(const matrix::Matrix &xsi)
determines the weight and bias updates
Definition: elman.cpp:125
std::vector< matrix::Matrix > bias
Definition: elman.h:38
virtual iconnectionlist getStructuralConnections() const
Specifies which parameter matrix forms a connection between layers (in terms of a neural network) The...
Definition: elman.cpp:317
virtual void updateWeights(const NetUpdate &updates)
applies the weight increments to the weight (and bias) matrices with the learningrate and the learnRa...
Definition: elman.cpp:208
std::vector< matrix::Matrix > other
Definition: elman.h:39
bool useBypass
Definition: multilayerffnn.h:190
multi layer neural network with configurable activation functions
Definition: multilayerffnn.h:35
void damp(double damping)
damps the weights and the biases by multiplying (1-damping)
Definition: elman.cpp:234
bool useJordan
Definition: elman.h:140
bool useElman
Definition: elman.h:139
std::list< ILayer > ilayerlist
Definition: inspectable.h:87
matrix::Matrix jordanWeights
Definition: elman.h:137
matrix::Matrix elmanContext
Definition: elman.h:136
std::list< iparamkey > iparamkeylist
Definition: inspectable.h:59
std::list< iparamval > iparamvallist
Definition: inspectable.h:61
std::vector< Layer > layers
Definition: multilayerffnn.h:186
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 netw...
Definition: elman.cpp:51