org.neuroph.nnet.learning
Class SigmoidDeltaRule

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
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
BackPropagation

public class SigmoidDeltaRule
extends LMS

Delta rule learning algorithm for perceptrons with sigmoid (or any other diferentiable continuous) functions. TODO: Rename to DeltaRuleContinuous (ContinuousDeltaRule) or something like that, but that will break backward compatibility, posibly with backpropagation which is the most used

Author:
Zoran Sevarac
See Also:
LMS, 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
SigmoidDeltaRule()
          Creates new SigmoidDeltaRule
 
Method Summary
protected  void calculateErrorAndUpdateOutputNeurons(double[] outputError)
          This method implements weights update procedure for the output neurons Calculates delta/error and calls updateNeuronWeights to update neuron's weights for each output neuron
protected  void updateNetworkWeights(double[] outputError)
          This method implements weight update procedure for the whole network for this learning rule
 
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

SigmoidDeltaRule

public SigmoidDeltaRule()
Creates new SigmoidDeltaRule

Method Detail

updateNetworkWeights

protected void updateNetworkWeights(double[] outputError)
This method implements weight update procedure for the whole network for this learning rule

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

calculateErrorAndUpdateOutputNeurons

protected void calculateErrorAndUpdateOutputNeurons(double[] outputError)
This method implements weights update procedure for the output neurons Calculates delta/error and calls updateNeuronWeights to update neuron's weights for each output neuron

Parameters:
outputError - error vector for output neurons


Copyright © 2012. All Rights Reserved.