In the basic SOM algorithm, the topological relations and the number of neurons are fixed from the beginning. The number of neurons should usually be selected as big as possible, with the neighborhood size controlling the smoothness and generalization of the mapping. The mapping does not considerably suffer even when the number of neurons exceeds the number of input vectors, if only the neighborhood size is selected appropriately. However, as the size of the map increases e.g. to tens of thousands of neurons the training phase becomes computationally impractically heavy for most applications.

Before the training phase initial values are given to the weight vectors. The SOM is robust regarding the initialization, but properly accomplished it allows the algorithm to converge faster to a good solution. Typically one of the three following initialization procedures is used:

- random initialization, where the weight vectors are initialized with small random values
- sample initialization, where the weight vectors are initialized with random samples drawn from the input data set
- linear initialization, where the weight vectors are initialized in an orderly fashion along the linear subspace spanned by the two principal eigenvectors of the input data set. The eigenvectors can be calculated using Gram-Schmidt procedure [21].

Tue May 27 12:40:37 EET DST 1997