A self-organizing map (SOM), sometimes known as a Kohonen map after its originator the Finnish professor Teuvo Kohonen, is an unsupervised machine learning technique used to produce a low-dimensional representation of a higher dimensional data set. SOMs are a specific type of artificial neural network, but use a different training strategy compared to more traditional artificial neural networks (ANNs). SOMs can be used for clustering, dimensionality reduction, feature extraction, and classification — all of which suggest that they can be important tools for understanding large Earth Systems Science (ESS) datasets. ESS applications are explored in some detail by Liu and Weisberg in A Review of Self-Organizing Map Applications in Meteorology and Oceanography ; see the end of this post for other interesting papers.
If you'd like to try this technique with your datasets, the Python package MiniSom is a minimalistic and Numpy based implementation of Self Organizing Maps. MiniSom seems to be the most up to date and well used within the ESS community, but it’s also possible to write your own implementation using numpy in under a hundred lines of code.
Below are links to two short tutorials for using MiniSom with Atmospheric datasets. The first one was written by Talia Kurtz of University of North Dakota. The second tutorial was created by Kevin Goebbert of Valparaiso University and myself based on workflows described in a paper by Ramseyer et al. (2022) .
- Kurtz: MiniSOM Tutorial for 2-D Atmospheric Data and Example Using Mean Sea Level Pressure Data
- Goebbert and Martin: Two-notebook Tutorial on the MiniSom package with an Atmospheric data examples
Both of these examples ran smoothly on Jetstream2 Jupyterhub instances running in the Unidata Science Gateway. If you have questions or feedback on this article, or ideas for future topics, send me an email or feel free to book an office hour (see box below for contact details). What other Self Organizing Map research should I read up on?
Some other interesting papers on using SOMs in ESS
If you're interesting in pursuing the use of this technique, check out:
- Performance evaluation of the self-organizing map for feature extraction
- Attribution of Projected Changes in Atmospheric Moisture Transport in the Arctic: A Self-Organizing Map Perspective
- The self-organizing map in synoptic climatological research
- Self-Organizing Maps: A Powerful Tool for the Atmospheric Sciences
- Tools for enhancing the application of self-organizing maps in water resources research and engineering
- Reanalysing the impacts of atmospheric teleconnections on cold-season weather using multivariate surface weather types and self-organizing maps
- Beginners Guide to Anomaly Detection Using Self-Organizing Maps
Thomas Martin is an AI/ML Software Engineer at the Unidata Program Center. Have questions? Contact support-ml@unidata.ucar.edu or book an office hours meeting with Thomas on his Calendar.