org.neuroph.nnet.learning
Class LMS

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
All Implemented Interfaces:
java.io.Serializable, java.lang.Runnable
Direct Known Subclasses:
SigmoidDeltaRule, StepDeltaRule, SupervisedHebbianLearning

public class LMS
extends SupervisedLearning
implements java.io.Serializable

LMS learning rule for neural networks.

Author:
Zoran Sevarac
See Also:
Serialized Form

Field Summary
 
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
LMS()
          Creates new LMS learning rule
LMS(NeuralNetwork neuralNetwork)
          Creates new LMS learning rule for specified neural network
 
Method Summary
protected  void updateNetworkWeights(java.util.Vector<java.lang.Double> patternError)
          This method implements weight update procedure for the whole network for this learning rule
protected  void updateNeuronWeights(Neuron neuron)
          This method implements weights update procedure for the single neuron
protected  void updateTotalNetworkError(java.util.Vector<java.lang.Double> patternError)
          Updates total network error with specified pattern error vector
 
Methods inherited from class org.neuroph.core.learning.SupervisedLearning
doLearningEpoch, 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

LMS

public LMS()
Creates new LMS learning rule


LMS

public LMS(NeuralNetwork neuralNetwork)
Creates new LMS learning rule for specified neural network

Parameters:
neuralNetwork - neural network to train
Method Detail

updateTotalNetworkError

protected void updateTotalNetworkError(java.util.Vector<java.lang.Double> patternError)
Updates total network error with specified pattern error vector

Specified by:
updateTotalNetworkError in class SupervisedLearning
Parameters:
patternError - single pattern error vector

updateNetworkWeights

protected void updateNetworkWeights(java.util.Vector<java.lang.Double> patternError)
This method implements weight update procedure for the whole network for this learning rule

Specified by:
updateNetworkWeights in class SupervisedLearning
Parameters:
patternError - single pattern error vector

updateNeuronWeights

protected void updateNeuronWeights(Neuron neuron)
This method implements weights update procedure for the single neuron

Parameters:
neuron - neuron to update weights