org.apache.commons.math3.ml.neuralnet.sofm

## Class KohonenUpdateAction

- java.lang.Object
- - org.apache.commons.math3.ml.neuralnet.sofm.KohonenUpdateAction

- All Implemented Interfaces:
    UpdateAction

      public class KohonenUpdateAction
      extends Object
      implements UpdateAction

  Update formula for Kohonen's Self-Organizing Map.
  The `update` method modifies the features `w` of the "winning" neuron and its neighbours according to the following rule: `wnew = wold + α e(-d / σ) * (sample - wold)` where
  - α is the current learning rate,
  - σ is the current neighbourhood size, and
  - `d` is the number of links to traverse in order to reach the neuron from the winning neuron.
  This class is thread-safe as long as the arguments passed to the `constructor` are instances of thread-safe classes.
  Each call to the `update` method will 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.
  Since:
    3.3

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `KohonenUpdateAction(DistanceMeasure distance, LearningFactorFunction learningFactor, NeighbourhoodSizeFunction neighbourhoodSize)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `long` | `getNumberOfCalls()` Retrieves the number of calls to the `update` method.
    `void` | `update(Network net, double[] features)` Updates the network in response to the sample `features`.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### KohonenUpdateAction

          public KohonenUpdateAction(DistanceMeasure distance,
                             LearningFactorFunction learningFactor,
                             NeighbourhoodSizeFunction neighbourhoodSize)

      Parameters:
        `distance` - Distance function.
        `learningFactor` - Learning factor update function.
        `neighbourhoodSize` - Neighbourhood size update function.

  - ### Method Detail

    - #### update

          public void update(Network net,
                    double[] features)

      Updates the network in response to the sample `features`.
      Specified by:
        `update` in interface `UpdateAction`
      Parameters:
        `net` - Network.
        `features` - Training data.

    - #### getNumberOfCalls

          public long getNumberOfCalls()

      Retrieves the number of calls to the `update` method.
      Returns:
        the current number of calls.

Copyright © 2003–2016 The Apache Software Foundation. All rights reserved.