Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

U-matrix and self organizing maps

I am trying to understand SOMs. I am confused about when people post images representing the image of data gotten my using SOM to map data to the map space. It is said that the U-matrix is used. But we have a finite grid of neurons so how do you get a "continous" image ? For example starting with a 40x40 grid there are 1600 neurons. Now compute U-matrix but how do you plot these numbers now to get visualization ? Links:

SOM tutorial with visualization

SOM from Wikipedia

like image 570
SteinerT Avatar asked May 30 '11 08:05

SteinerT


1 Answers

The U-matrix stands for unified distance and contains in each cell the euclidean distance (in the input space) between neighboring cells. Small values in this matrix mean that SOM nodes are close together in the input space, whereas larger values mean that SOM nodes are far apart, even if they are close in the output space. As such, the U-matrix can be seen as summary of the probability density function of the input matrix in a 2D space. Usually, those distance values are discretized, color-coded based on intensity and displayed as a kind of heatmap.

Quoting the Matlab SOM toolbox,

 Compute and return the unified distance matrix of a SOM. 
 For example a case of 5x1 -sized map:
            m(1) m(2) m(3) m(4) m(5)
 where m(i) denotes one map unit. The u-matrix is a 9x1 vector:
    u(1) u(1,2) u(2) u(2,3) u(3) u(3,4) u(4) u(4,5) u(5) 
 where u(i,j) is the distance between map units m(i) and m(j)
 and u(k) is the mean (or minimum, maximum or median) of the 
 surrounding values, e.g. u(3) = (u(2,3) + u(3,4))/2. 

Apart from the SOM toolbox, you may have a look at the kohonen R package (see help(plot.kohonen) and use type="dist.neighbours").

like image 179
chl Avatar answered Oct 20 '22 02:10

chl