Self-Organizing Maps is a pretty smart yet fast & simple method to cluster data. But Self-Organizing maps were developed in 1990 and a lot of robust and powerful clustering method using dimensionality reduction methods have been developed since then. What are some of its applications in today's world of science and engineering?


One important and well known (in their respective research domains) usage of SOMs today is the usage of SOMs for data visualization and clustering.

The U-Matrix uses a SOM with a lot of neurons in order to achieve emergent behavior. Based upon the SOM, a so called U-height is calculated for each neuron.

For a neuron $n$, a weight $w_n$ of the neuron $n$, as well as a set $NN(n)$ of immediate neighbours of $n$ the U-height is calculated as:

$$\sum_{m \in NN(n)} d(w_n - w_m)$$

$d$ is the same distance as used in the SOM training. This U-height is used to visualize the SOM and can be capable of catching quite interesting inherent structure. It is visualized by using a color scheme similar to topographical maps:


The U-Matrix uses distances for visualization. It can be combined with the so called P-Matrix, which uses densities, to use the density of data points as well, and allows the combination of densities and distances. Based on the U-Matrix one can do classification or clustering as well. An R package is distributed by the research group of Prof. Ultsch.

I wouldn't say that it's important in Machine Learning per se, but in the fields of Data Mining and KDD it is, at least academically. You can clearly see this if you look on the reception of this or similar work on semanticscholar or researchgate.

Disclaimer: I studied with Prof. Ultsch, the head behind U-Matrix and U*-Matrix.

NB: Sorry for the missing links to the papers, I haven't got enough reputation yet to post more than two links.


  • U*-matrix: a Tool to Visualize Clusters in High Dimensional Data, Ultsch 2004
  • Self-Organizing Neural Networks for Visualisation and Classification, Ultsch 1993

I even spotted the U-Matrix in the wild here. Also see the sompy package.


To give a practical example, still quite relevant.

In the field of flow cytometry, a recent (2015) clustering algorithm, FlowSom, makes use of self-organizing maps.

Even more recently (2016, see here), it has been shown to be amongst the top performing clustering algorithms in the field of flow and mass cytometry.


Not the answer you're looking for? Browse other questions tagged or ask your own question.