SuperNN
1.0.0
|
Improved resilient backpropagation algorithm. More...
Public Member Functions | |
IRprop () | |
virtual | ~IRprop () |
virtual void | prepare (Network &net) |
Prepares the trainer and a neural network for training. More... | |
virtual unsigned | train (Network &net, const Data &data, double dmse=0, unsigned max_epochs=1000) |
Adjusts the synaptic weight of an artificial neural network in order to minimize the error (MSE for standard l2 training or MAE for specific l1 training). More... | |
![]() | |
virtual | ~TrainingAlgorithm () |
virtual void | clear_derror_acc (Network &net) |
Clears the accumulated error partial derivatives. More... | |
virtual double | delta (Network &net, unsigned l, unsigned n) |
Calculates the local error gradient for each neuron. More... | |
virtual void | derror_acc (Network &net) |
Accumulates the error partial derivative in respect to the weights, for each connection of the neural network. More... | |
Public Attributes | |
double | delta_df |
Weight change decrease factor. More... | |
double | delta_if |
Weight change increase factor. More... | |
double | delta_max |
Maximum weight change. More... | |
double | delta_min |
Minimum weight change. More... | |
double | delta_zero |
Initial weight change. More... | |
Protected Member Functions | |
virtual void | update_weights (Network &net) |
Updates the weights, using the partial error derivative sign change as guide. More... | |
![]() | |
virtual void | check (const Network &net, const Data &data) const |
Checks if the dimensions match and if the training algorithm can be used with a given network and data. More... | |
Improved resilient backpropagation algorithm.
Uses a dedicated, self-adjusting learning rate for each connection, using only the sign change of the partial error derivatives, not the amplitude, to guide the weight optimization. For more information, see [Igel and Hüsken, 2000].
Definition at line 184 of file training.hpp.
SuperNN::IRprop::IRprop | ( | ) |
Definition at line 247 of file training.cpp.
|
virtual |
Definition at line 251 of file training.cpp.
|
virtual |
Prepares the trainer and a neural network for training.
Usually this will initialize the learning rates, previous error informations and prepare the internal data structures for the training. Between a prepare() and a train(), the neural network and the trainer shouldn't be modified.
net | Neural network to be prepared |
Reimplemented from SuperNN::TrainingAlgorithm.
Definition at line 255 of file training.cpp.
|
virtual |
Adjusts the synaptic weight of an artificial neural network in order to minimize the error (MSE for standard l2 training or MAE for specific l1 training).
net | Artificial neural network to be trained |
data | Training data |
dmse | Desired mean squared error (or MAE when applied). Stopping condition |
max_epochs | Maximum number of epochs to train the network. Stopping condition |
Implements SuperNN::TrainingAlgorithm.
Definition at line 314 of file training.cpp.
|
protectedvirtual |
Updates the weights, using the partial error derivative sign change as guide.
net | Neural network |
Definition at line 274 of file training.cpp.
double SuperNN::IRprop::delta_df |
double SuperNN::IRprop::delta_if |
double SuperNN::IRprop::delta_max |
Maximum weight change.
Definition at line 202 of file training.hpp.
double SuperNN::IRprop::delta_min |
Minimum weight change.
Definition at line 199 of file training.hpp.
double SuperNN::IRprop::delta_zero |
Initial weight change.
Definition at line 205 of file training.hpp.