SuperNN  1.0.0
Public Member Functions | List of all members
SuperNN::IRpropL1 Struct Reference

Modified improved resilient backpropagation algorithm. More...

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

Public Member Functions

 IRpropL1 ()
 
virtual ~IRpropL1 ()
 
double delta (Network &net, unsigned l, unsigned n)
 Calculates the local error gradient for each neuron. More...
 
- Public Member Functions inherited from SuperNN::IRprop
 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 void derror_acc (Network &net)
 Accumulates the error partial derivative in respect to the weights, for each connection of the neural network. More...
 

Additional Inherited Members

- Public Attributes inherited from SuperNN::IRprop
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 inherited from SuperNN::IRprop
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

Modified improved resilient backpropagation algorithm.

Minimizes the absolute error instead of the squared error.

Definition at line 220 of file training.hpp.

Constructor & Destructor Documentation

SuperNN::IRpropL1::IRpropL1 ( )

Definition at line 344 of file training.cpp.

SuperNN::IRpropL1::~IRpropL1 ( )
virtual

Definition at line 348 of file training.cpp.

Member Function Documentation

double SuperNN::IRpropL1::delta ( Network net,
unsigned  l,
unsigned  n 
)
virtual

Calculates the local error gradient for each neuron.

It's a recursive operation, where calculating the delta for a neuron will automatically calculate the delta for the neurons in the next layers that have connections with this neuron.

For an output neuron j: $\delta_{j} = err * g'(net_j)$

For a hidden neuron j: $\delta_{j} = \displaystyle\sum_{k} delta_{k} * w_{jk} * g'(net_j) $

Parameters
netNeural network to be used
lLayer where the neuron is located
nNeuron position in the layer
Returns
Calculated delta

Reimplemented from SuperNN::TrainingAlgorithm.

Definition at line 352 of file training.cpp.