org.neuroph.nnet.learning
Class SupervisedHebbianLearning

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
                      extended by org.neuroph.nnet.learning.SupervisedHebbianLearning
All Implemented Interfaces:
java.io.Serializable, java.lang.Runnable

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, 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
SupervisedHebbianLearning()
          Creates new instance of SupervisedHebbianLearning algorithm
SupervisedHebbianLearning(NeuralNetwork neuralNetwork)
          Creates new instance of SupervisedHebbianLearning algorithm for the specified neural network.
 
Method Summary
protected  void learnPattern(SupervisedTrainingElement trainingElement)
          Trains network with the pattern from the specified training element
protected  void updateNetworkWeights(java.util.Vector<java.lang.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, updateTotalNetworkError
 
Methods inherited from class org.neuroph.core.learning.SupervisedLearning
doLearningEpoch, getPatternError, getTotalNetworkError, learn, learn, 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

SupervisedHebbianLearning

public SupervisedHebbianLearning()
Creates new instance of SupervisedHebbianLearning algorithm


SupervisedHebbianLearning

public SupervisedHebbianLearning(NeuralNetwork neuralNetwork)
Creates new instance of SupervisedHebbianLearning algorithm for the specified neural network.

Parameters:
neuralNetwork - neural network to train
Method Detail

learnPattern

protected void learnPattern(SupervisedTrainingElement trainingElement)
Trains network with the pattern from the specified training element

Overrides:
learnPattern in class SupervisedLearning
Parameters:
trainingElement - supervised training element which contains input and desired output

updateNetworkWeights

protected void updateNetworkWeights(java.util.Vector<java.lang.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

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