Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.neuroph.nnet.learning
Class LMS

    java.lang.Object
      org.neuroph.core.learning.LearningRule
          org.neuroph.core.learning.IterativeLearning
              org.neuroph.core.learning.SupervisedLearning
                  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[])`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2012. All Rights Reserved.