# How do SOMs reduce dimensionality of data?

This is a problem with which I have been grappling with for days. From my research on self-organizing maps, I know that a common feature of self organizing maps is to reduce the dimensionality of data. For example, if you had a 3x3 SOM, and an input space consisting of 50 10-Dimensional vectors, the SOM would reduce this to 50 2-Dimensional vectors. If I am creating my own SOM, where is this data? Please excuse me if my question too vague or broad. The reference vectors that are attached to each neuron in the SOM are the same dimension as the input space. The input space itself does not get reduced in dimensionality. So where is the reduced-dimension data? In other words, what data structure in relation to the self organizing map contains this data? My only guess is that this data could be found in the location of each node in the self organizing map.

Thanks!

## 2 Answers

The SOM grid is a 2-d manifold or topological space onto which each observation in the 10-d space is mapped via its similarity with the prototypes (code book vectors) for each cell in the SOM grid.

The SOM grid is non-linear in the full dimensional space; the "grid" is warped to more-closely fit the input data during training. However, the key point in terms of dimension reduction is that distances can be measured in the topological space of the grid - i.e. the 2 dimensions - instead of the full $m$-dimensions. (Where $m$ is the number of variables.)

Simply, the SOM is a mapping of the $m$-dimensions onto the 2-d SOM grid.

• basically you input your m-dimensional pattern, and the location where som grid is activated/most active gives you the 2-d coordinates. – seanv507 Aug 2 '13 at 8:56
• So just for clarification...say that the 27th 10-Dimensional vector in the input space just happened to match up with the reference vector in the SOM grid at location (2, 2) in the grid. So, would the reduced dimension data be (2, 2) in this case? – diwgan32 Aug 2 '13 at 13:08
• +1. To clarify for the OP, the reduction to 2D is not stored anywhere, it's implicit in the fact that the prototypes have 2-D neighbors prototypes and the SOM algorithm adjusts the prototypes in 10-D space based on their neighbors in 2-D space. – Wayne Aug 2 '13 at 13:10
• @diwgan32: Yes, your comment is correct. – Wayne Aug 2 '13 at 13:11
• So suppose I wanted to reduce the dimensions of the 50 10-D data. To do this, I would first train the SOM (by presenting each vector at random and finding the best matching unit). Then, after training, I would find the closest neuron in the SOM to each data piece by calculating the Euclidean distance from the original data piece to the neuron's reference vector. The location of the neuron in the SOM would give the the compressed data. However, since the vectors attached to each neuron are randomized in the beginning, wont the best matching unit that you find in the end also be random? – diwgan32 Aug 10 '13 at 19:22

Consider your 2-dimensional SOM artificial neurons units as aiming to have values equal to those of your high-dimensional data. It attains this through the learning process- where a sample (a row of your data) is taken from the data, compared for similarity with each of the units on the map. The unit that comes closer in terms of similarity to the sample becomes the winner of that sample. Then to effect the "learning", the value on the unit is adjusted to be closer to that of the sample it has just won. Units near this winner have their values adjusted too, but with smaller amounts than that of the winner. That adjustments of the units values make the learning to occur. The process is repeated for all samples from the data. At the end of the learning process, you have a learned SOM with units that come closer to resembling your data values.

Note that your data values remain intact, they were only read and assisted in conducting the learning process.

Now concentrate on the values carried by each unit at the end of the learning process. Each unit may have won several samples from the data and they are now "clustered" around it. That is, several samples from your data can be comfortably represented by one unit of the SOM - this brings in the dimensionality reduction idea! Your 10-dimensinal data can now be visualized as 2-dimensional since similar data in the original dataset can be respresented by one unit of the SOM.

For a deeper understanding check out here