| IGLib 1.4 The IGLib base library for development of numerical, technical and business applications.

- Main Page
- Namespaces
- Classes
- Files
- Directories

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions | Protected Attributes | Properties | Private Attributes

# 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:
[legend]
Collaboration diagram for IG::Neural::NeuralApproximatorAforge:
[legend]

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:

  fileOrDirectoryPath | Path 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:

  fileOrDirectoryPath | Path 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:

  whichNetwork | Specifies 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:

  numEpochs | Number 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:

  input | Input parameters.
  output | Vector 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.

double [][] IG::Neural::NeuralApproximatorAforge::_trainingInputsAForge`[private]`

double [][] IG::Neural::NeuralApproximatorAforge::_trainingOutputsAForge`[private]`

double [][] IG::Neural::NeuralApproximatorAforge::_singleNetworkOutputs = null`[private]`

## 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:

- NeuralApproximatorAforge.cs

All Classes Namespaces Files Functions Variables Enumerations Properties Events