Plotting weighted mean activations
Plotting graded activations
Training individual maps
Training more individual maps
Hebbian training on non-symmetric maps
References for SOMs
Hebbian training on non-symmetric maps
|
On the left side, 9 regions with 30 points each. Points
are distributed randomly within each 1x1 square. The regions are
distributed evenly across a 21x21 area. | On the right side, 5 separate
regions. Three are 1x1 squares located in a diagonal, evenly spaced,
30 points each. The fourth region has 30 data points spread randomly
between (0,15) on the x-axis and (0,25) on the y-axis (red stars,
region "y"). The fifth
region has 30 data points spread randomly between (0,25) on the x-axis
and (0,25) on the y-axis (green stars, region "x"). |
 |  |
|
The labels indicate associated groups on the two maps. The idea is to
see what happens when there are several regions on one map associated
with a single area on the other map. Also, with the 'x' and 'y'
regions, what happens when there is much less regularity in the
associations?
First we train each map separately on its own data set. We use the
batch training algorithm to do so (More on batch
training here.) Then, we train the Hebbian connections between
the two maps. We use the Hebbian connections to see how the right map
is activated when we present data only to the left map, and vice
versa.
|
| Present "a" data to each map |
 |
| Present "b" data to each map |
 |
| Present "c" data to each map |
 |
|
All of the above maps look the way we expect them to. Presenting data
to the left map activates the one associated region on the right.
Presenting data to the right map activates all of the associated
regions on the left (two "a" regions, two "b" regions, three "c"
regions on the left). Presenting data from the
remaining "a", "b", and "c" regions on the left have the expected
effect.
What happens with region "x"? Here are three data points presented
to just the left map: | |
| 3 different points from region "x" |
 |
 |
 |
|
Interestingly, all three points presented to the left graph activated
the same area on the right graph.
In the next figures, we present the three associated points to the right
map, and see where the left map is activated:
|
| 3 different points from region "x" |
 |
 |
 |
|
The points on the right are from pretty different areas, yet they all
light up the central region of the left map. In the last case, the
data point is close to the "c" region of the right map, and so it
activates a bit the "c" regions on the left map.
It is interesting to note that when we presented points to the left
map in region x, they did not activate outlying "x" areas on the right
map, only the one region between "a" and "b". Is this due to a
preference for linearly associated areas as Westermann and Miranda
discuss? Does that even make sense here?
Now, similarly for region "y", first presenting data points to the
left map to see right side activations, and then the opposite
following. |
|
Again, the
activation of the right map is consistent given different left-hand
data points, rather than activation spreading all over the y-area of
the right map. Also, the right side area lit up by left side "y" data
does not match the right side area lit up by "x" data points.
|
|
None of these points activated the "y" area of the left map. Instead,
we see areas of the left map activated that correspond to the more
robust "a", "b", and even the "x" areas that the presented points happen to be
close to. Apparently the Hebbian weights associated with "a","b", and
"x" neurons on the right are strong enough to pull away the activation
from any right side "y" neurons that formed attachments to the left
side. I wonder why the pull of "x" is so strong? It could even be
something curious about the data rather than the algorithm... needs a
closer look. |
|