Fido
 All Classes Namespaces Files Functions Variables Typedefs Macros Pages
Public Member Functions | Public Attributes | Protected Member Functions | List of all members
net::Backpropagation Class Reference

A classic SGDTrainer. More...

#include <Backpropagation.h>

Inherits net::SGDTrainer.

Public Member Functions

 Backpropagation (double learningRate_, double momentumTerm_, double targetErrorLevel_, int maximumEpochs_)
 Initialize the Backpropagation object with necessary constants. More...
 
 Backpropagation ()
 Initialize empty Backpropagation object. More...
 
 Backpropagation (std::ifstream *input)
 Loads a Backpropagation object using an input stream. More...
 
void store (std::ofstream *output)
 Stores a Backpropagation object using specified ofstream. More...
 
bool initFromStream (std::ifstream *in)
 
- Public Member Functions inherited from net::SGDTrainer
 SGDTrainer ()
 Initialize empty Backpropagation object. More...
 
 SGDTrainer (double targetErrorLevel_, int maximumEpochs_)
 Initialize the object with necessary constants. More...
 
double train (net::NeuralNet *network, const std::vector< std::vector< double > > &input, const std::vector< std::vector< double > > &correctOutput)
 Trains a neural network on a training set until the target error level is reached. More...
 
double trainEpocs (double numberOfEpochs, net::NeuralNet *network, const std::vector< std::vector< double > > &input, const std::vector< std::vector< double > > &correctOutput)
 Trains a neural network on a training set for a specified number of epochs. More...
 
void store (std::ofstream *out)
 Stores a Trainer object using specified stream. More...
 
bool initFromStream (std::ifstream *in)
 
- Public Member Functions inherited from net::Trainer
std::vector< std::vector
< std::vector< std::vector
< double > > > > 
getGradients ()
 
std::vector< std::vector
< std::vector< std::vector
< double > > > > 
getWeightChanges ()
 
std::vector< std::vector
< std::vector< double > > > 
getInitialWeights ()
 
std::vector< std::vector
< std::vector< double > > > 
getFinalWeights ()
 

Public Attributes

double learningRate
 The rate of learning, set by constructor. More...
 
double momentumTerm
 The term of momentum, set by constructor. More...
 
- Public Attributes inherited from net::SGDTrainer
double targetErrorLevel
 The target error level, set by constructor. More...
 
int maximumEpochs
 The maximum number of iterations, set by constructor. More...
 

Protected Member Functions

double getChangeInWeight (double weight, int layerIndex, int neuronIndex, int weightIndex)
 
- Protected Member Functions inherited from net::SGDTrainer
double trainOnDataPoint (net::NeuralNet *network, const std::vector< double > &input, const std::vector< double > &correctOutput)
 Gets the output of the neural network, calculates the error of each neuron, and edits the weights of the neurons to reduce error. More...
 
virtual void resetNetworkVectors (net::NeuralNet *network)
 Resets the Backpropagation object's neural network specific vectors using a neural network (NN is needed because the number of layers, neurons, and weights are needed). More...
 

Additional Inherited Members

- Protected Attributes inherited from net::Trainer
std::vector< std::vector
< std::vector< std::vector
< double > > > > 
gradients
 
std::vector< std::vector
< std::vector< std::vector
< double > > > > 
weightChanges
 
std::vector< std::vector
< std::vector< double > > > 
initialWeights
 
std::vector< std::vector
< std::vector< double > > > 
finalWeights
 

Detailed Description

A classic SGDTrainer.

Constructor & Destructor Documentation

Backpropagation::Backpropagation ( double  learningRate_,
double  momentumTerm_,
double  targetErrorLevel_,
int  maximumEpochs_ 
)

Initialize the Backpropagation object with necessary constants.

Parameters
learningRate_controls how much the neural network is modified each learning iteration
momentumTerm_allows a network to escape a local max
targetErrorLevel_at this error level, a net will be considered trained
maximumEpochs_after this number of training iterations (one pass through all of the data points), a net will stop being trained no matter what
Backpropagation::Backpropagation ( )

Initialize empty Backpropagation object.

Backpropagation::Backpropagation ( std::ifstream *  input)
explicit

Loads a Backpropagation object using an input stream.

Parameters
inputa pointer to the input stream that contains a stored Backpropagation model

Member Function Documentation

double Backpropagation::getChangeInWeight ( double  weight,
int  layerIndex,
int  neuronIndex,
int  weightIndex 
)
protectedvirtual

Implements net::SGDTrainer.

bool Backpropagation::initFromStream ( std::ifstream *  in)
void Backpropagation::store ( std::ofstream *  output)
virtual

Stores a Backpropagation object using specified ofstream.

Parameters
outputpointer to the output stream which the neural network will be written to

Implements net::Trainer.

Member Data Documentation

double net::Backpropagation::learningRate

The rate of learning, set by constructor.

double net::Backpropagation::momentumTerm

The term of momentum, set by constructor.


The documentation for this class was generated from the following files: