org.neuroph.nnet.learning
Class SupervisedHebbianLearning

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.SupervisedHebbianLearning
All Implemented Interfaces:
Serializable

public class SupervisedHebbianLearning
extends LMS

Supervised hebbian learning rule.

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
SupervisedHebbianLearning()
          Creates new instance of SupervisedHebbianLearning algorithm
 
Method Summary
protected  void learnPattern(DataSetRow trainingSetRow)
          Trains network with the pattern from the specified training element
protected  void updateNetworkWeights(double[] desiredOutput)
          This method implements weight update procedure for the whole network for this learning rule
protected  void updateNeuronWeights(Neuron neuron, double desiredOutput)
          This method implements weights update procedure for the single neuron
 
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, 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

SupervisedHebbianLearning

public SupervisedHebbianLearning()
Creates new instance of SupervisedHebbianLearning algorithm

Method Detail

learnPattern

protected void learnPattern(DataSetRow trainingSetRow)
Trains network with the pattern from the specified training element

Overrides:
learnPattern in class SupervisedLearning
Parameters:
trainingSetRow - a single data set row to learn which contains input and desired output patterns (arrays)

updateNetworkWeights

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

Overrides:
updateNetworkWeights in class LMS
Parameters:
desiredOutput - desired network output
See Also:
SupervisedLearning.calculateOutputError(double[], double[]), learnPattern

updateNeuronWeights

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

Parameters:
neuron - neuron to update weights desiredOutput desired output of the neuron


Copyright © 2012. All Rights Reserved.