Neuroph

org.neuroph.nnet.learning
Class BackPropagation

java.lang.Object
  extended by java.util.Observable
      extended by org.neuroph.core.learning.LearningRule
          extended by org.neuroph.core.learning.IterativeLearning
              extended by org.neuroph.core.learning.SupervisedLearning
                  extended by org.neuroph.nnet.learning.LMS
                      extended by org.neuroph.nnet.learning.SigmoidDeltaRule
                          extended by org.neuroph.nnet.learning.BackPropagation
All Implemented Interfaces:
java.io.Serializable, java.lang.Runnable
Direct Known Subclasses:
MomentumBackpropagation

public class BackPropagation
extends SigmoidDeltaRule

The BackPropagation class is the Back Propagation learning rule for Multi Layer Perceptron neural networks.

See Also:
Serialized Form

Field Summary
private static long serialVersionUID
          The class fingerprint that is set to indicate serialization compatibility with a previous version of the class.
 
Fields inherited from class org.neuroph.core.learning.SupervisedLearning
maxError, totalNetworkError
 
Fields inherited from class org.neuroph.core.learning.IterativeLearning
currentIteration, iterationsLimited, learningRate, maxIterations
 
Fields inherited from class org.neuroph.core.learning.LearningRule
neuralNetwork
 
Constructor Summary
BackPropagation(NeuralNetwork neuralNetwork)
          Creates new instance of BackPropagation learning for the specified neural network
 
Method Summary
private  void adjustHiddenLayers()
          This method implements weights adjustment for the hidden layers
private  double calculateDelta(Neuron neuron)
          Calculates and returns delta parameter (neuron error) for the specified neuron
protected  void updateNetworkWeights(java.util.Vector<java.lang.Double> patternError)
          This method implements weight update procedure for the whole network for the specified error vector
 
Methods inherited from class org.neuroph.nnet.learning.SigmoidDeltaRule
adjustOutputNeurons
 
Methods inherited from class org.neuroph.nnet.learning.LMS
updateNeuronWeights, updateTotalNetworkError
 
Methods inherited from class org.neuroph.core.learning.SupervisedLearning
doLearningEpoch, getPatternError, getTotalNetworkError, learnPattern, setMaxError
 
Methods inherited from class org.neuroph.core.learning.IterativeLearning
getCurrentIteration, getLearningRate, learn, setLearningRate, setMaxIterations
 
Methods inherited from class org.neuroph.core.learning.LearningRule
getTrainingSet, isStopped, notifyChange, run, setTrainingSet, stopLearning
 
Methods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
The class fingerprint that is set to indicate serialization compatibility with a previous version of the class.

See Also:
Constant Field Values
Constructor Detail

BackPropagation

public BackPropagation(NeuralNetwork neuralNetwork)
Creates new instance of BackPropagation learning for the specified neural network

Parameters:
neuralNetwork -
Method Detail

updateNetworkWeights

protected void updateNetworkWeights(java.util.Vector<java.lang.Double> patternError)
This method implements weight update procedure for the whole network for the specified error vector

Overrides:
updateNetworkWeights in class SigmoidDeltaRule
Parameters:
patternError - single pattern error vector

adjustHiddenLayers

private void adjustHiddenLayers()
This method implements weights adjustment for the hidden layers


calculateDelta

private double calculateDelta(Neuron neuron)
Calculates and returns delta parameter (neuron error) for the specified neuron

Parameters:
neuron - neuron to calculate error for
Returns:
delta (neuron error) for the specified neuron

Neuroph