kipedia.org/wiki/Kohonen"> Kohonen's Self-Organizing Map.
The {@link #update(Network,double[]) update} method modifies thefeatures {@code w} of the "winning" neuron and its neighboursaccording to the following rule:
wnew = wold + α e(-d / σ) * (sample - wold)
where
- α is the current learning rate,
- σ is the current neighbourhood size, and
- {@code d} is the number of links to traverse in order to reachthe neuron from the winning neuron.
This class is thread-safe as long as the arguments passed to the {@link #KohonenUpdateAction(DistanceMeasure,LearningFactorFunction,NeighbourhoodSizeFunction) constructor} are instances of thread-safeclasses.
Each call to the {@link #update(Network,double[]) update} methodwill increment the internal counter used to compute the current values for
- the learning rate, and
- the neighbourhood size.
Consequently, the function instances that compute those values (passed to the constructor of this class) must take into account whether this class's instance will be shared by multiple threads, as this will impact the training process.
@version $Id: KohonenUpdateAction.java 1566092 2014-02-08 18:48:29Z tn $
@since 3.3