Back propagation learning algorithm.

Namespace:  AForge.Neuro.Learning
Assembly:  AForge.Neuro (in AForge.Neuro.dll) Version: 2.2.5.0 (2.2.5.0)

Syntax

C#
public class BackPropagationLearning : ISupervisedLearning

Remarks

The class implements back propagation learning algorithm, which is widely used for training multi-layer neural networks with continuous activation functions.

Sample usage (training network to calculate XOR function):

CopyC#
// initialize input and output values
double[][] input = new double[4][] {
    new double[] {0, 0}, new double[] {0, 1},
    new double[] {1, 0}, new double[] {1, 1}
};
double[][] output = new double[4][] {
    new double[] {0}, new double[] {1},
    new double[] {1}, new double[] {0}
};
// create neural network
ActivationNetwork   network = new ActivationNetwork(
    SigmoidFunction( 2 ),
    2, // two inputs in the network
    2, // two neurons in the first layer
    1 ); // one neuron in the second layer
// create teacher
BackPropagationLearning teacher = new BackPropagationLearning( network );
// loop
while ( !needToStop )
{
    // run epoch of learning procedure
    double error = teacher.RunEpoch( input, output );
    // check error value to see if we need to stop
    // ...
}

Inheritance Hierarchy

System..::.Object
  AForge.Neuro.Learning..::.BackPropagationLearning

See Also