A feature map uses the topological (physical) organization of the neurons to model features of the input space.
It is expected that if two inputs are close in the feature space, then the two neurons that respond (fire) to these inputs will be close in the layout of the neural network.
Similarly, if two neurons that are close in the neural network, fire to two different inputs, then these inputs are close in the feature space.
SOM simulation 3D
SOM simulation 2D
SOM simulation 2D TSP
Kohonen network
Characteristics
It is a particular type of SOM.
One input layer and a computational layer of neurons.
Neurons are arranged in rows and columns.
All neurons in the computational layer are connected to all input nodes
Kohonen Networks
Initialization and competition
The synaptic weight vector of each neuron has the same dimension as the input space: \( w_j = (w_{j,1},w_{j,2},\dots,w_{j,n}) \).
\( i(x) \) is the neuron that best matches the input vector \(x\).
The particular neuron that satisfies this condition is called the best matching or winning neuron.
The winning neuron is determined using a discriminant function that, for all \(j\) computes the distance between \(w_j\) and the input \(x\).
Main steps of the learning algorithm
Initialization
Competition
Cooperation
Adaptation
Kohonen Networks
Cooperation
Lateral interaction : A network that is firing tends to excite the neurons in its immediate neighborhood more than those farther away.
A topological neighborhood \(h_{j,i}\) centered around the winning neuron \(i\) and encopassing excited neuron \(j\) is defined.
The lateral distance between \(i\) and \(j\) is \(d_{j,i}\).
Then \(h_{j,i}\) is a function of the lateral distance.
Main steps of the learning algorithm
Initialization
Competition
Cooperation
Adaptation
Kohonen Networks
Cooperation and adaptation
A topological neighborhood that decays with the lateral distance \( S_{i,j} \) is defined in the grid of neurons as:
\[
h_{j,i(x)} = e^{\frac{-d^2_{j,i(x)}}{2\sigma^2}}
\]
where \( \sigma \) is the size of the neighborhood.
Neighbors to the winning neuron have their weights updated as:
\[
\Delta w_{j} = \eta(t) \cdot h_{j,i(x)} \cdot (x - w_{j})
\]
where the learning rate \(\eta\) depends on time .
Initialization
All weights \(w_{j}\) are randomly initialized.
Competition
For a given input \( x \), the winning neuron \(i(x)\) is computed
\[
i(x) = \min_j \left ( x -w_{j} \right )^2
\]
Other discriminant functions could be used.
Kohonen Networks
Limitations
A representative set of sufficient instances is needed in order to develop meaningful clusters.
It requires several parameters (e.g., \( \sigma_0, \tau_{sigma}, \eta_{0}, \tau_{\eta}) \) and can be sensitive to the choice of these parameters.
Clusters will often be split into smaller clusters, creating different regions containing similar neurons.
The algorithm assumes a low dimensional non-linear Euclidean manifold in the data space on which the data lies.
Each codebook vector is defined by the weights between one neuron and all the inputs.
Each prototype represents a region labelled with a class.
Prototypes are localized in the centre of a class or decision region ("Voronoi cell") in the input space.
The regions are separated by the hyperplanes between the prototypes.
A class can be represented by an arbitrary number of prototypes. One prototype can only represent a single class.
Competitive learning algorithms
LVQ variants and developments
Different variants of LVQ algorithms have been proposed.
They mainly differ in the learning rules used.
LVQ1, LVQ2.1 and LVQ3 proposed by Kohonen used heuristic learning rules.
Other extensions use Margin Maximization and Likelihood-ratio maximization.
LVQ Learning
Learning consists of modifying the weights in accordance with adapting rules.
Given an input, the winner neuron is moved closer if it correctly classifies the input or moved in the oppossite direction otherwise.
The magnitudes of these weight adjustments are controlled by a learning rate which can be lowered over time in order to get finer movements in a later learning phase.
The class boundaries are adjusted during the learning proces correspond to the class of the prototype.
The classification is optimal if all inputs fall within a cell with the right class.