Neuroph

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

The SupervisedHebbianLearning class implements supervised hebbian learning rule.

See Also:
Serialized Form

Field Summary
private static long serialVersionUID
          The class fingerprint that is set to indicate serialization compatibility with a previous version of the class.
 
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(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, setMaxError
 
Methods inherited from class org.neuroph.core.learning.IterativeLearning
getCurrentIteration, getLearningRate, learn, setLearningRate, setMaxIterations
 
Methods inherited from class org.neuroph.core.learning.LearningRule
getTrainingSet, isStopped, notifyChange, run, 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
 

Field Detail

serialVersionUID

private static final long serialVersionUID
The class fingerprint that is set to indicate serialization compatibility with a previous version of the class.

See Also:
Constant Field Values
Constructor Detail

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

Neuroph