Search code examples
tensorflowmachine-learningneural-networkk-meansself-organizing-maps

Clustering on SOM Neurons


I would like to know how can we use K-Means to cluster the SOM Neurons.

Say I have a raw data of shape (1024 x 10) Number of neurons is 400 (20 x 20) Shape of U-Matrix is (20 x 20) How would I cluster the neurons using K-means?

Any idea to cluster the SOM neurons using K-Means would be so valuable?


Solution

  • The idea is that each data points will be associated to a node of SOM. And then, nodes of SOM (called codebook) will be clustered using K-means. Finally, data points get their cluster labels indirectly via the label of their corresponding bmus. Look at this paper as it explains the underlying ideas:

    https://pdfs.semanticscholar.org/440e/086d74cbaa2b749f6186092e12591da15727.pdf?_ga=2.28574524.184541126.1577183694-1109976921.1569737623

    But also there are other ways, not yet implemented in SOMPY: http://rongjunqin.weebly.com/uploads/2/3/2/3/23230064/a_new_algorithm_for_hierarchical_u.pdf