jonh : kohonen

Kohonen Nets (Self-Ordering Maps)

The project
This project was completed as part of my Neural Networks class at the University of Puget Sound, fall term 1993. The goal of the project was to explore Kohonen networks, which map points from a high-dimensional input space into a low-dimensional output space. Kohonen networks have the property that points that cluster together in the input space tend to cluster in the output space; the topology of the input surface is generally maintained in the output map.

The examples
In the meantime, here are some nifty images. The first image of a pair is the set of points in the input space. The input space is an RGB cube, and points are colored according to their location in the cube so that the reader can intuitively see which points in the output image map to those in the input image. The second image is the self-ordered map derived from the input vectors according to a set of training parameters. The neat part is how the maps have reduced the input space from three dimensions to two, while preserving features of approximate continuity and discontinuity.


The input is two two-dimensional continuous regions separated by a large discontinuity in the third dimension. The output has two regions separated by a discontinuity. The two continuous regions appear to be a continuous deformation of the black-blue-green-cyan and red-magenta-yellow-white surfaces from the input.


The input consists of one-dimensional lines on the edges of the color cube, intersecting in triples at the corners. In the output image, we see regions of continuous color bounded by discontinuities. Notice that of the twelve edges in the input, only one was not preserved, the one from white to yellow. This image then represents an unsuccessful run of the network.

I have observed the network correctly completing this mapping by exploiting the toroidial (wrap-around) nature of the output space, giving a map something like this:

It is also concievable that the network could embed the map in the normal plane like this:
However, I have never observed that mapping.

The paper
The paper I wrote to go with the project is available in HTML and PostScript. Please give the author the benefit of the doubt as you read; I was a young'un back when I wrote the project paper. The PostScript is a file I printed long ago from my Mac, in a weird font and with reversed page order.

The code
The project isn't available for download because it's pretty abusive to X windows. (I actually made a machine panic with it once. :v) If you'd really like to try it out, I can pack it up and send it along with some warnings.