org.neuroph.nnet.learning
Class ResilientPropagation
java.lang.Object
org.neuroph.core.learning.LearningRule
org.neuroph.core.learning.IterativeLearning
org.neuroph.core.learning.SupervisedLearning
org.neuroph.nnet.learning.LMS
org.neuroph.nnet.learning.SigmoidDeltaRule
org.neuroph.nnet.learning.BackPropagation
org.neuroph.nnet.learning.ResilientPropagation
- All Implemented Interfaces:
- Serializable
public class ResilientPropagation
- extends BackPropagation
Resilient Propagation learning rule used for Multi Layer Perceptron neural networks.
Its one of the most efficent learning rules for this type of networks, and it does not require
setting of learning rule parameter.
- Author:
- Borislav Markov, Zoran Sevarac
- See Also:
- Serialized Form
Methods inherited from class org.neuroph.core.learning.SupervisedLearning |
addToSquaredErrorSum, afterEpoch, beforeEpoch, calculateOutputError, doLearningEpoch, errorChangeStalled, getMaxError, getMinErrorChange, getMinErrorChangeIterationsCount, getMinErrorChangeIterationsLimit, getPreviousEpochError, getTotalNetworkError, hasReachedStopCondition, isInBatchMode, learn, learn, learnPattern, setBatchMode, setMaxError, setMinErrorChange, setMinErrorChangeIterationsLimit |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ResilientPropagation
public ResilientPropagation()
onStart
protected void onStart()
- Description copied from class:
IterativeLearning
- This method is executed when learning starts, before the first epoch.
Used for initialisation.
- Overrides:
onStart
in class SupervisedLearning
updateNeuronWeights
protected void updateNeuronWeights(Neuron neuron)
- Calculate and sum gradients for each neuron's weight, the actual weight update is done in batch mode
- Overrides:
updateNeuronWeights
in class LMS
- Parameters:
neuron
- neuron to update weights- See Also:
resillientWeightUpdate(org.neuroph.core.Weight)
doBatchWeightsUpdate
protected void doBatchWeightsUpdate()
- Description copied from class:
SupervisedLearning
- This method updates network weights in batch mode - use accumulated weights change stored in Weight.deltaWeight
It is executed after each learning epoch, only if learning is done in batch mode.
- Overrides:
doBatchWeightsUpdate
in class SupervisedLearning
- See Also:
SupervisedLearning#doLearningEpoch(org.neuroph.core.learning.TrainingSet)
resillientWeightUpdate
protected void resillientWeightUpdate(Weight weight)
- Weight update by done by ResilientPropagation learning rule
Executed at the end of epoch (in batch mode)
- Parameters:
weight
-
getDecreaseFactor
public double getDecreaseFactor()
setDecreaseFactor
public void setDecreaseFactor(double decreaseFactor)
getIncreaseFactor
public double getIncreaseFactor()
setIncreaseFactor
public void setIncreaseFactor(double increaseFactor)
getInitialDelta
public double getInitialDelta()
setInitialDelta
public void setInitialDelta(double initialDelta)
getMaxDelta
public double getMaxDelta()
setMaxDelta
public void setMaxDelta(double maxDelta)
getMinDelta
public double getMinDelta()
setMinDelta
public void setMinDelta(double minDelta)
Copyright © 2012. All Rights Reserved.