35 #ifndef AIMS_NEURALNET_MULTILAYERPERCEPTRON_H 36 #define AIMS_NEURALNET_MULTILAYERPERCEPTRON_H 83 float activation()
const;
87 float deltaW(
int i)
const;
89 float weight(
int i)
const;
96 void evaluateError(
float target);
134 int nNeurons()
const;
155 float learningrate,
float momentum);
202 float learningrate,
float momentum,
203 float maxerror,
int stabilitytime,
int maxtime);
218 int ninputs,
float learningrate=0,
219 float momentum=0,
float maxerror=0,
220 int stabilitytime=0,
int maxtime=0);
234 int nOutputs()
const;
236 float learningRate()
const;
238 float momentum()
const;
240 float maxError()
const;
242 int stabilityTime()
const;
246 void setLearningRate(
float learningrate);
248 void setMomentum(
float momentum);
250 void setMaxError(
float maxerror);
252 void setStabilityTime(
int stabilitytime);
254 void setMaxTime(
int maxtime);
263 void backPropagation();
273 void save(
const std::string &filetopology,
274 const std::string &fileweight);
float _activation
Activation value (before entering sigmoid function)
The class for a complete MultiLayer Perceptron.
int _stabilityTime
Minimum number of epochs for the network to be considered stable.
AimsData< int32_t > * _topology
Topology of the network, i.e. number of neurons for each layer.
int _maxTime
Maximum of number of epochs for the learning step.
AimsData< float > * _deltaW
Weight variation data.
float _learningRate
Learning rate.
float _error
Error between desired and actual value.
AimsData< float > * _weight
Weight data.
The class that describes MLP neuron.
float _maxError
Maximum error to consider the network learned.
float _momentum
Momentum coefficient.
AimsMLPLayer ** _layer
Pointer to layer pointers.
float _output
Floating output.
int _nInputs
Number of inputs for each neuron.
The class to manage MLP layers of neurons.
AimsMLPNeuron ** _neuron
Pointer to neuron pointers.
int _nOutputs
Number of outputs of the network.