SuperNN  1.0.0
Public Member Functions | Public Attributes | Protected Member Functions | List of all members
SuperNN::IRprop Struct Reference

Improved resilient backpropagation algorithm. More...

Inheritance diagram for SuperNN::IRprop:
Inheritance graph
[legend]

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...
 
- Public Member Functions inherited from SuperNN::TrainingAlgorithm
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...
 
- Protected Member Functions inherited from SuperNN::TrainingAlgorithm
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...
 

Detailed Description

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.

Constructor & Destructor Documentation

SuperNN::IRprop::IRprop ( )

Definition at line 247 of file training.cpp.

SuperNN::IRprop::~IRprop ( )
virtual

Definition at line 251 of file training.cpp.

Member Function Documentation

void SuperNN::IRprop::prepare ( Network net)
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.

Parameters
netNeural network to be prepared

Reimplemented from SuperNN::TrainingAlgorithm.

Definition at line 255 of file training.cpp.

unsigned SuperNN::IRprop::train ( Network net,
const Data data,
double  dmse = 0,
unsigned  max_epochs = 1000 
)
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).

Parameters
netArtificial neural network to be trained
dataTraining data
dmseDesired mean squared error (or MAE when applied). Stopping condition
max_epochsMaximum number of epochs to train the network. Stopping condition
Returns
The number of training epochs performed

Implements SuperNN::TrainingAlgorithm.

Definition at line 314 of file training.cpp.

void SuperNN::IRprop::update_weights ( Network net)
protectedvirtual

Updates the weights, using the partial error derivative sign change as guide.

Parameters
netNeural network

Definition at line 274 of file training.cpp.

Member Data Documentation

double SuperNN::IRprop::delta_df

Weight change decrease factor.

Must be <= 1

Definition at line 193 of file training.hpp.

double SuperNN::IRprop::delta_if

Weight change increase factor.

Must be >= 1

Definition at line 196 of file training.hpp.

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.