org.neuroph.nnet.learning
Class BackPropagation

java.lang.Object
  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:
Serializable
Direct Known Subclasses:
MomentumBackpropagation, ResilientPropagation

public class BackPropagation
extends SigmoidDeltaRule

Back Propagation learning rule for Multi Layer Perceptron neural networks.

Author:
Zoran Sevarac
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.neuroph.core.learning.SupervisedLearning
maxError, outputError, previousEpochError, totalNetworkError, totalSquaredErrorSum
 
Fields inherited from class org.neuroph.core.learning.IterativeLearning
currentIteration, iterationsLimited, learningRate, maxIterations
 
Fields inherited from class org.neuroph.core.learning.LearningRule
listeners, neuralNetwork
 
Constructor Summary
BackPropagation()
          Creates new instance of BackPropagation learning
 
Method Summary
protected  void calculateErrorAndUpdateHiddenNeurons()
          This method implements weights adjustment for the hidden layers
protected  double calculateHiddenNeuronError(Neuron neuron)
          Calculates and returns the neuron's error (neuron's delta) for the given neuron param
protected  void updateNetworkWeights(double[] outputError)
          This method implements weight update procedure for the whole network for the specified output error vector
 
Methods inherited from class org.neuroph.nnet.learning.SigmoidDeltaRule
calculateErrorAndUpdateOutputNeurons
 
Methods inherited from class org.neuroph.nnet.learning.LMS
updateNeuronWeights
 
Methods inherited from class org.neuroph.core.learning.SupervisedLearning
addToSquaredErrorSum, afterEpoch, beforeEpoch, calculateOutputError, doBatchWeightsUpdate, doLearningEpoch, errorChangeStalled, getMaxError, getMinErrorChange, getMinErrorChangeIterationsCount, getMinErrorChangeIterationsLimit, getPreviousEpochError, getTotalNetworkError, hasReachedStopCondition, isInBatchMode, learn, learn, learnPattern, onStart, setBatchMode, setMaxError, setMinErrorChange, setMinErrorChangeIterationsLimit
 
Methods inherited from class org.neuroph.core.learning.IterativeLearning
doOneLearningIteration, getCurrentIteration, getLearningRate, isPausedLearning, learn, learn, pause, resume, setLearningRate, setMaxIterations
 
Methods inherited from class org.neuroph.core.learning.LearningRule
addListener, fireLearningEvent, getNeuralNetwork, getTrainingSet, isStopped, removeListener, setNeuralNetwork, setTrainingSet, stopLearning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BackPropagation

public BackPropagation()
Creates new instance of BackPropagation learning

Method Detail

updateNetworkWeights

protected void updateNetworkWeights(double[] outputError)
This method implements weight update procedure for the whole network for the specified output error vector

Overrides:
updateNetworkWeights in class SigmoidDeltaRule
Parameters:
outputError - output error vector
See Also:
SupervisedLearning.calculateOutputError(double[], double[]), learnPattern

calculateErrorAndUpdateHiddenNeurons

protected void calculateErrorAndUpdateHiddenNeurons()
This method implements weights adjustment for the hidden layers


calculateHiddenNeuronError

protected double calculateHiddenNeuronError(Neuron neuron)
Calculates and returns the neuron's error (neuron's delta) for the given neuron param

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


Copyright © 2012. All Rights Reserved.