org.neuroph.nnet.learning
Class LMS

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
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
PerceptronLearning, SigmoidDeltaRule, SupervisedHebbianLearning

public class LMS
extends SupervisedLearning
implements 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, 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
LMS()
          Creates a new LMS learning rule This learning rule is used to train Adaline neural network, and this class is base for all LMS based learning rules like PerceptronLearning, DeltaRule, SigmoidDeltaRule, Backpropagation etc.
 
Method Summary
protected  void updateNetworkWeights(double[] outputError)
          This method implements the weights update procedure for the whole network for the given output error vector.
protected  void updateNeuronWeights(Neuron neuron)
          This method implements weights update procedure for the single neuron It iterates through all neuron's input connections, and calculates/set weight change for each weight using formula deltaWeight = learningRate * neuronError * input where neuronError is difference between desired and actual output for specific neuron neuronError = desiredOutput[i] - actualOutput[i] (see method SuprevisedLearning.calculateOutputError)
 
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

LMS

public LMS()
Creates a new LMS learning rule This learning rule is used to train Adaline neural network, and this class is base for all LMS based learning rules like PerceptronLearning, DeltaRule, SigmoidDeltaRule, Backpropagation etc.

Method Detail

updateNetworkWeights

protected void updateNetworkWeights(double[] outputError)
This method implements the weights update procedure for the whole network for the given output error vector.

Specified by:
updateNetworkWeights in class SupervisedLearning
Parameters:
outputError - output error vector for some network input- the difference between desired and actual output
See Also:
SupervisedLearning.calculateOutputError(double[], double[]), learnPattern

updateNeuronWeights

protected void updateNeuronWeights(Neuron neuron)
This method implements weights update procedure for the single neuron It iterates through all neuron's input connections, and calculates/set weight change for each weight using formula deltaWeight = learningRate * neuronError * input where neuronError is difference between desired and actual output for specific neuron neuronError = desiredOutput[i] - actualOutput[i] (see method SuprevisedLearning.calculateOutputError)

Parameters:
neuron - neuron to update weights
See Also:
updateNetworkWeights(double[])


Copyright © 2012. All Rights Reserved.