C# Класс AForge.Neuro.Learning.ResilientBackpropagationLearning

Resilient Backpropagation learning algorithm.

This class implements the resilient backpropagation (RProp) learning algorithm. The RProp learning algorithm is one of the fastest learning algorithms for feed-forward learning networks which use only first-order information.

Sample usage (training network to calculate XOR function):

// 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 ResilientBackpropagationLearning teacher = new ResilientBackpropagationLearning( 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 // ... }
Наследование: ISupervisedLearning
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
ResilientBackpropagationLearning ( ActivationNetwork network ) : System

Initializes a new instance of the ResilientBackpropagationLearning class.

Run ( double input, double output ) : double

Runs learning iteration.

Runs one learning iteration and updates neuron's weights.

RunEpoch ( double input, double output ) : double

Runs learning epoch.

The method runs one learning epoch, by calling Run method for each vector provided in the input array.

Приватные методы

Метод Описание
CalculateError ( double desiredOutput ) : double

Calculates error values for all neurons of the network.

CalculateGradient ( double input ) : void

Calculate weights updates

ResetGradient ( ) : void

Resets current weight and threshold derivatives.

ResetUpdates ( double rate ) : void

Resets the current update steps using the given learning rate.

UpdateNetwork ( ) : void

Update network's weights.

Описание методов

ResilientBackpropagationLearning() публичный Метод

Initializes a new instance of the ResilientBackpropagationLearning class.
public ResilientBackpropagationLearning ( ActivationNetwork network ) : System
network ActivationNetwork Network to teach.
Результат System

Run() публичный Метод

Runs learning iteration.

Runs one learning iteration and updates neuron's weights.

public Run ( double input, double output ) : double
input double Input vector.
output double Desired output vector.
Результат double

RunEpoch() публичный Метод

Runs learning epoch.

The method runs one learning epoch, by calling Run method for each vector provided in the input array.

public RunEpoch ( double input, double output ) : double
input double Array of input vectors.
output double Array of output vectors.
Результат double