Neuroph

org.neuroph.nnet.learning
Class UnsupervisedHebbianLearning

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.UnsupervisedLearning
                  extended by org.neuroph.nnet.learning.UnsupervisedHebbianLearning
All Implemented Interfaces:
java.io.Serializable, java.lang.Runnable
Direct Known Subclasses:
OjaLearning

public class UnsupervisedHebbianLearning
extends UnsupervisedLearning

The UnsupervisedHebbianLearning class implements unsupervised 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.IterativeLearning
currentIteration, iterationsLimited, learningRate, maxIterations
 
Fields inherited from class org.neuroph.core.learning.LearningRule
neuralNetwork
 
Constructor Summary
UnsupervisedHebbianLearning(NeuralNetwork neuralNetwork)
          Creates an instance of UnsupervisedHebbianLearning algorithm for the specified neural network
 
Method Summary
protected  void adjustWeights()
          Adjusts weights for the output neurons
 void doLearningEpoch(TrainingSet trainingSet)
          This method does one learning epoch for the unsupervised learning rules.
protected  void updateNeuronWeights(Neuron neuron)
          This method implements weights update procedure for the single neuron
 
Methods inherited from class org.neuroph.core.learning.UnsupervisedLearning
learnPattern
 
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

UnsupervisedHebbianLearning

public UnsupervisedHebbianLearning(NeuralNetwork neuralNetwork)
Creates an instance of UnsupervisedHebbianLearning algorithm for the specified neural network

Parameters:
neuralNetwork -
Method Detail

doLearningEpoch

public void doLearningEpoch(TrainingSet trainingSet)
This method does one learning epoch for the unsupervised learning rules. It iterates through the training set and trains network weights for each element. Stops learning after one epoch.

Overrides:
doLearningEpoch in class UnsupervisedLearning
Parameters:
trainingSet - training set for training network

adjustWeights

protected void adjustWeights()
Adjusts weights for the output neurons

Specified by:
adjustWeights in class UnsupervisedLearning

updateNeuronWeights

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

Parameters:
neuron - neuron to update weights

Neuroph