org.neuroph.nnet.learning
Class DynamicBackPropagation

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

public class DynamicBackPropagation
extends MomentumBackpropagation

Backpropagation learning rule with dynamic learning rate and momentum

Author:
Zoran Sevarac
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.neuroph.nnet.learning.MomentumBackpropagation
MomentumBackpropagation.MomentumWeightTrainingData
 
Field Summary
 
Fields inherited from class org.neuroph.nnet.learning.MomentumBackpropagation
momentum
 
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
DynamicBackPropagation()
           
 
Method Summary
protected  void adjustLearningRate()
           
protected  void adjustMomentum()
           
 void doLearningEpoch(DataSet 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, onStart, setMomentum, updateNeuronWeights
 
Methods inherited from class org.neuroph.nnet.learning.BackPropagation
calculateErrorAndUpdateHiddenNeurons, calculateHiddenNeuronError, updateNetworkWeights
 
Methods inherited from class org.neuroph.nnet.learning.SigmoidDeltaRule
calculateErrorAndUpdateOutputNeurons
 
Methods inherited from class org.neuroph.core.learning.SupervisedLearning
addToSquaredErrorSum, afterEpoch, beforeEpoch, calculateOutputError, doBatchWeightsUpdate, errorChangeStalled, getMaxError, getMinErrorChange, getMinErrorChangeIterationsCount, getMinErrorChangeIterationsLimit, getPreviousEpochError, getTotalNetworkError, hasReachedStopCondition, isInBatchMode, learn, learn, learnPattern, 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

DynamicBackPropagation

public DynamicBackPropagation()
Method Detail

adjustLearningRate

protected void adjustLearningRate()

adjustMomentum

protected void adjustMomentum()

doLearningEpoch

public void doLearningEpoch(DataSet 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)


Copyright © 2012. All Rights Reserved.