C# Class Encog.Neural.Networks.Training.Propagation.Back.Backpropagation

This class implements a backpropagation training algorithm for feed forward neural networks. It is used in the same manner as any other training class that implements the Train interface. Backpropagation is a common neural network training algorithm. It works by analyzing the error of the output of the neural network. Each neuron in the output layer's contribution, according to weight, to this error is determined. These weights are then adjusted to minimize this error. This process continues working its way backwards through the layers of the neural network. This implementation of the backpropagation algorithm uses both momentum and a learning rate. The learning rate specifies the degree to which the weight matrixes will be modified through each iteration. The momentum specifies how much the previous learning iteration affects the current. To use no momentum at all specify zero. One primary problem with backpropagation is that the magnitude of the partial derivative is often detrimental to the training of the neural network. The other propagation methods of Manhatten and Resilient address this issue in different ways. In general, it is suggested that you use the resilient propagation technique for most Encog training tasks over back propagation.
Inheritance: Propagation, IMomentum, ILearningRate
Exibir arquivo Open project: encog/encog-silverlight-core Class Usage Examples

Public Methods

Method Description
Backpropagation ( IContainsFlat network, IMLDataSet training ) : System

Create a class to train using backpropagation. Use auto learn rate and momentum. Use the CPU to train.

Backpropagation ( IContainsFlat network, IMLDataSet training, double learnRate, double momentum ) : System
IsValidResume ( TrainingContinuation state ) : bool

Determine if the specified continuation object is valid to resume with.

Pause ( ) : TrainingContinuation

Pause the training.

Resume ( TrainingContinuation state ) : void

Resume training.

Method Details

Backpropagation() public method

Create a class to train using backpropagation. Use auto learn rate and momentum. Use the CPU to train.
public Backpropagation ( IContainsFlat network, IMLDataSet training ) : System
network IContainsFlat The network that is to be trained.
training IMLDataSet The training data to be used for backpropagation.
return System

Backpropagation() public method

public Backpropagation ( IContainsFlat network, IMLDataSet training, double learnRate, double momentum ) : System
network IContainsFlat The network that is to be trained
training IMLDataSet The training set
learnRate double
momentum double
return System

IsValidResume() public method

Determine if the specified continuation object is valid to resume with.
public IsValidResume ( TrainingContinuation state ) : bool
state TrainingContinuation The continuation object to check.
return bool

Pause() public final method

Pause the training.
public final Pause ( ) : TrainingContinuation
return TrainingContinuation

Resume() public final method

Resume training.
public final Resume ( TrainingContinuation state ) : void
state TrainingContinuation The training state to return to.
return void