First Play With
SOM and GSOM
We
recommend to look on the “First Play With PCA” tutorial
before you start this play with SOM and GSOM.
Click
on the “Data set” button
Use
the “Scatter” button with various “Caliber” and “Number of points” values; in
addition, you may add several random points using the button “Random”.
Prepare
a cloud of data points. We prepared a data cloud that slightly resembles a horseshoe:
Go
to “SOM” and click the “Random init.” button several
times (we used 15 times). This is the random initiation of SOM: 15 initial
positions of coding vectors are randomly selected at data points:
Click
on the “Learn” button. After learning, everybody would like to see the result.
Go to the “Learning history”. The history of iterations will be demonstrated
step by step. There are 13 steps in the history with the final result at the
end. Below, after the random initiation, the steps 1, 2, 3, 8, and 13 are
presented below.
You
can use the “Show error” button and find the value of FVU in the right bottom
corner. Here it is 7.99%.
The
result depends on the initial position. You can change the initiation for the
same data set, just push the “Remove initiation”
button. When we started from another random initiation with the same amount of
points (15), we got significantly different result. The story is presented
below. There are 17 steps in the history. We represent the random initiation
and the steps 1, 2, 3, 9, and 17:
The
value of FVU for this approximation is a bit better than for the previous one,
7.08% versus 7.99%. It may be useful to try several initial approximations and
select the result with the smallest FVU. Can you do this?
You
can also select the PCA initialization, just click several times on the “PCA init” button. We generated the PCA initiation for the same
number of points (15) and found SOM. The history is below. There are 16 steps
in the history, and we present here steps 1, 2, 3, 10, and 16. The FVU for this
initiation is 10.31 which is significantly worse than
for the previous examples of the random initiation. (Sometimes, for other data
sets, the PCA initialization can work better.)
A research task. Efficiency of the PCA initiation: a myth or reality. You can often read that PCA initiation of SOM is better. Of
course, one benefit is obvious. It is reproducibility: if you start SOM
learning from the PCA initiation with the same number of points uniformly
distributed along the first principal component with the same variance then the
result does not change. But it is not obvious that the PCA initiation is better
for approximation. Moreover, random initiation gives the possibility to
generate several different SOMs and then select the best. Try to compare
systematically different types of initiations on various data sets. It may be
useful to use the Std. data collections. (We recommend you to try Spiral 2 that
is a not very difficult but not trivial learning example.)
**********************
You
can explore the approximation ability of 1D SOMs on various sets from the Std.
data collections. Let us try “Spiral 1”; this is a rather difficult task. We
will study, how the accuracy of approximation depends on the number of points.
Let us go to “Std. data”, “Clear all”, and “Spiral 1” (below). For smearing the
image we go to “Scatter” and select the Scattering radius 7 and the Number of
points to add 3. After we press OK, the smeared spiral appears.
We
initiated SOM with various numbers of nodes and, after learning, got the
following results. Nine configurations are below.
It
is interesting to compare SOM and GSOM on this example. To stop GSOM at the
given number of points, you can select in GSOM/Options a high accuracy of
approximation (0.1% or 0.01%) and the desired number of points (see below). For
reproducibility, it is recommended to start from one point (the first learning
iteration will move to the mean point).
Below
are the learning results for the same numbers of points in GSOM as for the SOMs
above. The picture of approximation for GSOM looks more attractive than for SOM
but the accuracy of approximation (see in Table) is approximately the same.
Table. FVU for presented examples of SOM
and GSOM with various numbers of nodes.
Number
of nodes |
10 |
15 |
20 |
25 |
30 |
40 |
50 |
60 |
70 |
FVU
for SOM |
25.45% |
15.59% |
12.09% |
9.20% |
6.42% |
5.09% |
4.13% |
3.62% |
2.63% |
FVU
for GSOM |
24.91% |
15.85% |
12.26% |
9.19% |
6.99% |
4.58% |
4.03% |
3.68% |
3.19% |
If
the learning history is too long then to speed the slideshow you are welcome to
reduce the delay time (in the “Delay” window) to the minimal value 10 ms.
Research task. Find for Spiral 1, for what number of nodes GSOM becomes stably better
than SOM. Can you perform a detailed
and scientifically sound study?
For
example, the 200 nodes approximation of Spiral 1 by GSOM is almost 10 times
better than the approximation by SOM (see the results below, for 200 SOM nodes
FVU=0.44% and for 200 GSOM nodes FVU=0.05%). For 208 nodes, FVU for GSOM
becomes 0.03% and geometrically this approximation looks perfect.