NeurApp 1.1
NeurApp - software for exploring approximation by artificial neural networks on functions of one or two variables.

IG::Neural::NeuralApproximatorAforge Class Reference

Approximator of response by using neural networks, based on the AforgeDotNet library. $A Igor Mar11;. More...

Inheritance diagram for IG::Neural::NeuralApproximatorAforge:
Collaboration diagram for IG::Neural::NeuralApproximatorAforge:

List of all members.

Public Member Functions

 NeuralApproximatorAforge ()
override void PrepareNetwork ()
 Prepares neural network for use. If networks have not yet been created accordinfg to internal data, they are created. If networks are already prepared then this method does nothing.
override void CreateNetwork ()
 Creates the neural network anew. It the network already exists on the current object, it is discarded.
override void ResetNetwork ()
 Resets the neural network(s), clears information generated during training.
override void DestroyNetwork ()
 Destroys the neural network.
override void CalculateOutput (IVector input, ref IVector output)
 Calculates and returns the approximated output values corresponding to the specified inputs, by using the current neural network(s).

Protected Member Functions

override void PrepareNetworksArray ()
 Prepares the networks array (allocates it if necessary) for storing all neural networks of the current object.
virtual IActivationFunction CreateActivationFunction ()
override void SaveNetworkSpecific (string fileOrDirectoryPath)
 Saves the state of the neural network to the specified file. If the file already exists, its contents are overwritten.
override void LoadNetworkSpecific (string fileOrDirectoryPath)
 Restores neural network from a file where it has been stored before.
double[][] GetSingleNetworkTrainingOutput (int whichNetwork)
 Prepares and returns outputs for the specific network in the case with multiple networks.
override void PrepareInternalTrainingData ()
 Prepares internal training data that is needed by the native training algorithm.
override void TrainNetworkSpecific (int numEpochs)
 Trains neural network wiht the specified data, performing the specified number of epochs. The maximal number of epochs that is set on the current object does not have any effect in this method, and the method can perform more epochs tha specified by that limit.

Protected Attributes

ActivationNetwork[] _networks
 Network(s) used for approximation.
BackPropagationLearning[] _teachers
 Teachers used for network training.

Properties

double[][] TrainingInputsAForge [get, set]
 Gets or sets training inputs.
double[][] TrainingOutputsAForge [get, set]
 Gets or sets training outputs.

Private Attributes

double[][] _trainingInputsAForge
double[][] _trainingOutputsAForge
double[][] _singleNetworkOutputs = null

Detailed Description

Approximator of response by using neural networks, based on the AforgeDotNet library. $A Igor Mar11;.


Constructor & Destructor Documentation

IG::Neural::NeuralApproximatorAforge::NeuralApproximatorAforge ( ) [inline]

Member Function Documentation

override void IG::Neural::NeuralApproximatorAforge::PrepareNetworksArray ( ) [inline, protected, virtual]

Prepares the networks array (allocates it if necessary) for storing all neural networks of the current object.

Implements IG::Neural::NeuralApproximatorBase.

virtual IActivationFunction IG::Neural::NeuralApproximatorAforge::CreateActivationFunction ( ) [inline, protected, virtual]
override void IG::Neural::NeuralApproximatorAforge::PrepareNetwork ( ) [inline]

Prepares neural network for use. If networks have not yet been created accordinfg to internal data, they are created. If networks are already prepared then this method does nothing.

Some things suc as creation of a neural network follow the pattern of lazy evaluation.

Implements IG::Neural::INeuralApproximator.

override void IG::Neural::NeuralApproximatorAforge::CreateNetwork ( ) [inline]

Creates the neural network anew. It the network already exists on the current object, it is discarded.

Implements IG::Neural::INeuralApproximator.

override void IG::Neural::NeuralApproximatorAforge::ResetNetwork ( ) [inline]

Resets the neural network(s), clears information generated during training.

Implements IG::Neural::INeuralApproximator.

override void IG::Neural::NeuralApproximatorAforge::DestroyNetwork ( ) [inline]

Destroys the neural network.

Implements IG::Neural::INeuralApproximator.

override void IG::Neural::NeuralApproximatorAforge::SaveNetworkSpecific ( string  fileOrDirectoryPath) [inline, protected, virtual]

Saves the state of the neural network to the specified file. If the file already exists, its contents are overwritten.

Parameters:
fileOrDirectoryPathPath to the file into which the network is saved or of a directory into which network is saved (in this case default names are generated).

Implements IG::Neural::NeuralApproximatorBase.

override void IG::Neural::NeuralApproximatorAforge::LoadNetworkSpecific ( string  fileOrDirectoryPath) [inline, protected, virtual]

Restores neural network from a file where it has been stored before.

Parameters:
fileOrDirectoryPathPath to the file from which the neural network is read.

Implements IG::Neural::NeuralApproximatorBase.

double [][] IG::Neural::NeuralApproximatorAforge::GetSingleNetworkTrainingOutput ( int  whichNetwork) [inline, protected]

Prepares and returns outputs for the specific network in the case with multiple networks.

Parameters:
whichNetworkSpecifies which network the outputs are prepared for.
override void IG::Neural::NeuralApproximatorAforge::PrepareInternalTrainingData ( ) [inline, protected, virtual]

Prepares internal training data that is needed by the native training algorithm.

Implements IG::Neural::NeuralApproximatorBase.

override void IG::Neural::NeuralApproximatorAforge::TrainNetworkSpecific ( int  numEpochs) [inline, protected, virtual]

Trains neural network wiht the specified data, performing the specified number of epochs. The maximal number of epochs that is set on the current object does not have any effect in this method, and the method can perform more epochs tha specified by that limit.

Parameters:
numEpochsNumber of epochs used in training of the network.

This method just enforces a fixed number of epochs and can be used to form more complex training procedures. Most common method used for training is that without arguments, which takse into account various tolerances that may be set on this object and the maximal number of epochs.

Implements IG::Neural::NeuralApproximatorBase.

override void IG::Neural::NeuralApproximatorAforge::CalculateOutput ( IVector  input,
ref IVector  output 
) [inline]

Calculates and returns the approximated output values corresponding to the specified inputs, by using the current neural network(s).

Parameters:
inputInput parameters.
outputVector where approximated values are stored.
Returns:
Vector of output values generated by the trained neural network.

Implements IG::Neural::INeuralApproximator.


Member Data Documentation

ActivationNetwork [] IG::Neural::NeuralApproximatorAforge::_networks [protected]

Network(s) used for approximation.

BackPropagationLearning [] IG::Neural::NeuralApproximatorAforge::_teachers [protected]

Teachers used for network training.


Property Documentation

double [][] IG::Neural::NeuralApproximatorAforge::TrainingInputsAForge [get, set, protected]

Gets or sets training inputs.

double [][] IG::Neural::NeuralApproximatorAforge::TrainingOutputsAForge [get, set, protected]

Gets or sets training outputs.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations Properties