# Why use SOM for clustering?

Suppose I have a dataset with $M$ observations of dimension $N$.

I've seen many people use Kohonen networks (or self-organizing maps, SOMs) to do this task. In this approach, the neurons have weights of the same dimension of the observations, $N$. The idea is to train the network so that each node $w_i$ becomes a centroid of a cluster, and thus identify the clusters with the neurons of the network. As we don't know the number of clusters a priori, one should establish a large number of neurons, $W$ such that $W<< M$, and then identify the nodes that represent the centroids (checking which ones are located in more dense areas and other criteria similar to that one).

What I don't understand is why one would do this. I could just say that I have $M$ possible centroids (each datapoint) and then use the discriminating criteria to check which ones are the actual centroids. In this approach there are $M$ centroid candidates and in the SOM one, $W$. But in both cases the dimension is $N$. Why is then using a SOM favorable? I believe I would want to have more data when performing clustering, so I think that having $M$ samples instead of $W$ would be better. Also, the dimensionality of the problem stays the same, so no advantage there. On top of it, it would be much faster to do it without the SOM, as training it may take a while, but the output (i.e. the values of the neuron weights) would just be pretty similar to a subset of the original dataset, which could be obtained just by identifying possible centroids from the $M$ observations.

Why is it then that SOMs are used for clustering?

I disagree with the assertion that SOM are frequently used. IMHO they are difficult to use and rather obscure.

Nevertheless they have some interesting properties, although I'd rather call them a visualization than a clustering technique.

What you are ignoring is the"map" property. Neurons aren't independent but connected in a particular layout. Without this, the method is useless AFAICT. You need nodes to usually not be empty, but rather the average of many points, and thus M<

• I think I get what you mean. However, I don't see how the way neurons are interconnected can be of use here. Why is that specific layout useful? Mar 12 '18 at 18:27
• Because it constraints the result to a 2d map useful for visualization. Mar 12 '18 at 23:36
• I suggest you to try coding the entire thing yourself to understand it. The map, the learning and the clustering. Don't use a library that does "magic" steps if you want to understand the details. Mar 12 '18 at 23:37