org.neuroph.nnet.learning
Class DynamicBackPropagation

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
                              extended by org.neuroph.nnet.learning.MomentumBackpropagation
                                  extended by org.neuroph.nnet.learning.DynamicBackPropagation
All Implemented Interfaces:
java.io.Serializable, java.lang.Runnable

public class DynamicBackPropagation
extends MomentumBackpropagation

Backpropagation learning rule with momentum and dynamic learning rate

Author:
Zoran Sevarac
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.neuroph.nnet.learning.MomentumBackpropagation
momentum
 
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
DynamicBackPropagation()
           
DynamicBackPropagation(NeuralNetwork neuralNetwork)
           
 
Method Summary
protected  void adjustLearningRate()
           
protected  void adjustMomentum()
           
 void doLearningEpoch(TrainingSet trainingSet)
          This method implements basic logic for one learning epoch for the supervised learning algorithms.
 
Methods inherited from class org.neuroph.nnet.learning.MomentumBackpropagation
getMomentum, setMomentum, updateNeuronWeights
 
Methods inherited from class org.neuroph.nnet.learning.BackPropagation
updateNetworkWeights
 
Methods inherited from class org.neuroph.nnet.learning.SigmoidDeltaRule
adjustOutputNeurons
 
Methods inherited from class org.neuroph.nnet.learning.LMS
updateTotalNetworkError
 
Methods inherited from class org.neuroph.core.learning.SupervisedLearning
getPatternError, getTotalNetworkError, learn, learn, learnPattern, setMaxError
 
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
getNeuralNetwork, getTrainingSet, isStopped, notifyChange, run, setNeuralNetwork, 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
 

Constructor Detail

DynamicBackPropagation

public DynamicBackPropagation()

DynamicBackPropagation

public DynamicBackPropagation(NeuralNetwork neuralNetwork)
Method Detail

adjustLearningRate

protected void adjustLearningRate()

adjustMomentum

protected void adjustMomentum()

doLearningEpoch

public void doLearningEpoch(TrainingSet trainingSet)
Description copied from class: SupervisedLearning
This method implements basic logic for one learning epoch for the supervised learning algorithms. Epoch is the one pass through the training set. This method iterates through the training set and trains network for each element. It also sets flag if conditions to stop learning has been reached: network error below some allowed value, or maximum iteration count

Overrides:
doLearningEpoch in class SupervisedLearning
Parameters:
trainingSet - training set for training network