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

Neuron by Neuron algorithm. More...

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

Classes

struct  Hist
 

Public Member Functions

 NBN ()
 
virtual ~NBN ()
 
void prepare (Network &net)
 Prepares the trainer and a neural network for training. More...
 
unsigned train (Network &net, const Data &data, double dmse=0, unsigned max_epochs=100)
 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...
 

Additional Inherited Members

- 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

Neuron by Neuron algorithm.

Consists in the application of the Levenberg–Marquardt optimization algorithm, but building the Quasi-Hessian matrix directly, without the need for building the Jacobian matrix, thus saving memory. For more information, see [Wilamowski, Yu, 2010].

Definition at line 234 of file training.hpp.

Constructor & Destructor Documentation

SuperNN::NBN::NBN ( )

Definition at line 404 of file training.cpp.

SuperNN::NBN::~NBN ( )
virtual

Definition at line 409 of file training.cpp.

Member Function Documentation

void SuperNN::NBN::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 414 of file training.cpp.

unsigned SuperNN::NBN::train ( Network net,
const Data data,
double  dmse = 0,
unsigned  max_epochs = 100 
)
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 557 of file training.cpp.