GClasses

GClasses::SOM::BatchTraining Class Reference

Implements the batch training algorithm for self-organizing maps as described in T. Kohonen "Self Organizing Maps" Third Edition, 2001, published by Springer. More...

#include <GSelfOrganizingMap.h>

Inheritance diagram for GClasses::SOM::BatchTraining:
GClasses::SOM::TrainingAlgorithm

List of all members.

Public Member Functions

 BatchTraining (double initialNeighborhoodSize, double finalNeighborhoodSize, unsigned numIterations, unsigned maxSubIterationsBeforeChangingNeighborhood, NodeWeightInitialization *weightInitialization, NeighborhoodWindowFunction *windowFunc, Reporter *reporter)
 Create a batch algorithm that starts its neighborhood width at initialNeighborhoodSize and decreases it exponentially to finalNeighborhoodSize over numIterations steps. In each iteration, at most maxSubIterationsBeforeChangingNeighborhood (which must be at least 1) passes of the algorithm will be done with a fixed neighborhood before the next iteration with a different neighborhood size is started. If convergence occurs, less sub-iterations will be used. weightInitialization is the initialization function that will be used to initialize the node weights at the start of training. windowFunc is the window function used to determine the influence of neighbors on one another. reporter is the Reporter object that will be called to report progress during training.
virtual void train (GSelfOrganizingMap &map, GMatrix *pIn)
 Train the map.
virtual ~BatchTraining ()

Detailed Description

Implements the batch training algorithm for self-organizing maps as described in T. Kohonen "Self Organizing Maps" Third Edition, 2001, published by Springer.


Constructor & Destructor Documentation

GClasses::SOM::BatchTraining::BatchTraining ( double  initialNeighborhoodSize,
double  finalNeighborhoodSize,
unsigned  numIterations,
unsigned  maxSubIterationsBeforeChangingNeighborhood,
NodeWeightInitialization weightInitialization,
NeighborhoodWindowFunction windowFunc,
Reporter reporter 
)

Create a batch algorithm that starts its neighborhood width at initialNeighborhoodSize and decreases it exponentially to finalNeighborhoodSize over numIterations steps. In each iteration, at most maxSubIterationsBeforeChangingNeighborhood (which must be at least 1) passes of the algorithm will be done with a fixed neighborhood before the next iteration with a different neighborhood size is started. If convergence occurs, less sub-iterations will be used. weightInitialization is the initialization function that will be used to initialize the node weights at the start of training. windowFunc is the window function used to determine the influence of neighbors on one another. reporter is the Reporter object that will be called to report progress during training.

The training object owns weightInialization, windowFunc, and reporter and so is responsible for deleting them.

virtual GClasses::SOM::BatchTraining::~BatchTraining ( ) [virtual]

Member Function Documentation

virtual void GClasses::SOM::BatchTraining::train ( GSelfOrganizingMap map,
GMatrix pIn 
) [virtual]

Train the map.

Implements GClasses::SOM::TrainingAlgorithm.