Neuroph

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 dynamic learning rate and momentum

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, previousEpochError, 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.
 double getLearningRateChange()
           
 double getMaxLearningRate()
           
 double getMaxMomentum()
           
 double getMinLearningRate()
           
 double getMinMomentum()
           
 double getMomentumChange()
           
 boolean getUseDynamicLearningRate()
           
 boolean getUseDynamicMomentum()
           
 void setLearningRateChange(double learningRateChange)
           
 void setMaxLearningRate(double maxLearningRate)
           
 void setMaxMomentum(double maxMomentum)
           
 void setMinLearningRate(double minLearningRate)
           
 void setMinMomentum(double minMomentum)
           
 void setMomentumChange(double momentumChange)
           
 void setUseDynamicLearningRate(boolean useDynamicLearningRate)
           
 void setUseDynamicMomentum(boolean useDynamicMomentum)
           
 
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
errorChangeStalled, getMaxError, getMinErrorChange, getMinErrorChangeIterationsCount, getMinErrorChangeIterationsLimit, getPatternError, getPreviousEpochError, getTotalNetworkError, hasReachedStopCondition, learn, learn, learnPattern, reset, 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
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

getLearningRateChange

public double getLearningRateChange()

setLearningRateChange

public void setLearningRateChange(double learningRateChange)

getMaxLearningRate

public double getMaxLearningRate()

setMaxLearningRate

public void setMaxLearningRate(double maxLearningRate)

getMaxMomentum

public double getMaxMomentum()

setMaxMomentum

public void setMaxMomentum(double maxMomentum)

getMinLearningRate

public double getMinLearningRate()

setMinLearningRate

public void setMinLearningRate(double minLearningRate)

getMinMomentum

public double getMinMomentum()

setMinMomentum

public void setMinMomentum(double minMomentum)

getMomentumChange

public double getMomentumChange()

setMomentumChange

public void setMomentumChange(double momentumChange)

getUseDynamicLearningRate

public boolean getUseDynamicLearningRate()

setUseDynamicLearningRate

public void setUseDynamicLearningRate(boolean useDynamicLearningRate)

getUseDynamicMomentum

public boolean getUseDynamicMomentum()

setUseDynamicMomentum

public void setUseDynamicMomentum(boolean useDynamicMomentum)

Neuroph