org.neuroph.core.learning
Class UnsupervisedLearning

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
All Implemented Interfaces:
java.io.Serializable, java.lang.Runnable
Direct Known Subclasses:
CompetitiveLearning, UnsupervisedHebbianLearning

public abstract class UnsupervisedLearning
extends IterativeLearning
implements java.io.Serializable

Base class for all unsupervised learning algorithms.

Author:
Zoran Sevarac
See Also:
Serialized Form

Field Summary
 
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
UnsupervisedLearning()
          Creates new unsupervised learning rule
UnsupervisedLearning(NeuralNetwork neuralNetwork)
          Creates new unsupervised learning rule and sets the neural network to train
 
Method Summary
protected abstract  void adjustWeights()
          This method implements the weight adjustment
 void doLearningEpoch(TrainingSet trainingSet)
          This method does one learning epoch for the unsupervised learning rules.
protected  void learnPattern(TrainingElement trainingElement)
          Trains network with the pattern from the specified training element
 
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

UnsupervisedLearning

public UnsupervisedLearning()
Creates new unsupervised learning rule


UnsupervisedLearning

public UnsupervisedLearning(NeuralNetwork neuralNetwork)
Creates new unsupervised learning rule and sets the neural network to train

Parameters:
neuralNetwork - neural network to train
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

Specified by:
doLearningEpoch in class IterativeLearning
Parameters:
trainingSet - training set for training network

learnPattern

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

Parameters:
trainingElement - unsupervised training element which contains network input

adjustWeights

protected abstract void adjustWeights()
This method implements the weight adjustment