kohonen
Class WTALearningFunction

java.lang.Object
  extended by kohonen.WTALearningFunction
Direct Known Subclasses:
WTALearningFunctionWithTired

public class WTALearningFunction
extends java.lang.Object

Winner Takes All - algorytm there only winnig neuron weights are changed according to the formula w(k+1) = w(k) + n * (x-w) where
w(k+1) - neuron weight in k +1 interation
w(k) - neruon weight for k iteration
n - value of learning function factor for k iteriation
x - learning vector od data w - neuron weight

See Also:
WTMLearningFunction

Field Summary
protected  LearningFactorFunctionalModel functionalModel
          reference to function model
protected  LearningDataModel learningData
          reference to learning data
protected  int maxIteration
          max number of iteration
protected  MetricModel metrics
          reference to metrics
protected  NetworkModel networkModel
          reference to network model
 
Constructor Summary
WTALearningFunction(NetworkModel networkModel, int maxIteration, MetricModel metrics, LearningDataModel learningData, LearningFactorFunctionalModel functionalModel)
          Creates a new instance of WTALearningFunction.
 
Method Summary
protected  void changeNeuronWeight(int neuronNumber, double[] vector, int iteration)
          Change neuron weights for specified neuron number,iteration and input data vector
protected  int getBestNeuron(double[] vector)
          Return number of the best neuron for specified input vector
 LearningFactorFunctionalModel getFunctionalModel()
          Return function model
 LearningDataModel getLearningData()
          Return reference to learning data
 int getMaxIteration()
          Return maximal number of iteration
 MetricModel getMetrics()
          Return metrics
 NetworkModel getNetworkModel()
          Return network model
 boolean isShowComments()
          Return information if learning process dispalys information about learning process.
 void learn()
          Start learning process
 void setFunctionalModel(LearningFactorFunctionalModel functionalModel)
          Set functional learning factor model
 void setLearningData(LearningDataModel learningData)
          Set reference to learning data
 void setMaxIteration(int maxIteration)
          Set max interation
 void setMetrics(MetricModel metrics)
          Set metrics
 void setNetworkModel(NetworkModel networkModel)
          Set network model
 void setShowComments(boolean showComments)
          Set if comments durring learning process must be shown.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

metrics

protected MetricModel metrics
reference to metrics


networkModel

protected NetworkModel networkModel
reference to network model


maxIteration

protected int maxIteration
max number of iteration


learningData

protected LearningDataModel learningData
reference to learning data


functionalModel

protected LearningFactorFunctionalModel functionalModel
reference to function model

Constructor Detail

WTALearningFunction

public WTALearningFunction(NetworkModel networkModel,
                           int maxIteration,
                           MetricModel metrics,
                           LearningDataModel learningData,
                           LearningFactorFunctionalModel functionalModel)
Creates a new instance of WTALearningFunction.

Parameters:
networkModel - network model
maxIteration - iteration number
metrics - metrics
learningData - learnig data
functionalModel - functional model
See Also:
MetricModel, LearningData, NetworkModel, LearningFactorFunctionalModel
Method Detail

isShowComments

public boolean isShowComments()
Return information if learning process dispalys information about learning process.

Returns:
true if learning process display information

setShowComments

public void setShowComments(boolean showComments)
Set if comments durring learning process must be shown.

Parameters:
showComments - true if comments must be shown, false otherwise

getMetrics

public MetricModel getMetrics()
Return metrics

Returns:
metrics
See Also:
MetricModel

setMetrics

public void setMetrics(MetricModel metrics)
Set metrics

Parameters:
metrics - metrics

setNetworkModel

public void setNetworkModel(NetworkModel networkModel)
Set network model

Parameters:
networkModel - network model

getNetworkModel

public NetworkModel getNetworkModel()
Return network model

Returns:
network model

setMaxIteration

public void setMaxIteration(int maxIteration)
Set max interation

Parameters:
maxIteration - max interation

getMaxIteration

public int getMaxIteration()
Return maximal number of iteration

Returns:
maximal number of iteration

setLearningData

public void setLearningData(LearningDataModel learningData)
Set reference to learning data

Parameters:
learningData - reference to learning data

getLearningData

public LearningDataModel getLearningData()
Return reference to learning data

Returns:
reference to learning data

setFunctionalModel

public void setFunctionalModel(LearningFactorFunctionalModel functionalModel)
Set functional learning factor model

Parameters:
functionalModel - functional learning factor model

getFunctionalModel

public LearningFactorFunctionalModel getFunctionalModel()
Return function model

Returns:
function model

getBestNeuron

protected int getBestNeuron(double[] vector)
Return number of the best neuron for specified input vector

Parameters:
vector - input vector
Returns:
Neuron number

changeNeuronWeight

protected void changeNeuronWeight(int neuronNumber,
                                  double[] vector,
                                  int iteration)
Change neuron weights for specified neuron number,iteration and input data vector

Parameters:
neuronNumber - neuron number
vector - input vector
iteration - iteration number

learn

public void learn()
Start learning process