SOM {class} | R Documentation |
Self-Organizing Maps: Online Algorithm
Description
Kohonen's Self-Organizing Maps are a crude form of multidimensional scaling.
Usage
SOM(data, grid = somgrid(), rlen = 10000, alpha, radii, init)
Arguments
data |
a matrix or data frame of observations, scaled so that Euclidean distance is appropriate. |
grid |
A grid for the representatives: see |
rlen |
the number of updates: used only in the defaults for |
alpha |
the amount of change: one update is done for each element of |
radii |
the radii of the neighbourhood to be used for each update: must be the
same length as |
init |
the initial representatives. If missing, chosen (without replacement)
randomly from |
Details
alpha
and radii
can also be lists, in which case each component is
used in turn, allowing two- or more phase training.
Value
An object of class "SOM"
with components
grid |
the grid, an object of class |
codes |
a matrix of representatives. |
References
Kohonen, T. (1995) Self-Organizing Maps. Springer-Verlag
Kohonen, T., Hynninen, J., Kangas, J. and Laaksonen, J. (1996) SOM PAK: The self-organizing map program package. Laboratory of Computer and Information Science, Helsinki University of Technology, Technical Report A31.
Ripley, B. D. (1996) Pattern Recognition and Neural Networks. Cambridge.
Venables, W. N. and Ripley, B. D. (2002) Modern Applied Statistics with S. Fourth edition. Springer.
See Also
Examples
require(graphics)
data(crabs, package = "MASS")
lcrabs <- log(crabs[, 4:8])
crabs.grp <- factor(c("B", "b", "O", "o")[rep(1:4, rep(50,4))])
gr <- somgrid(topo = "hexagonal")
crabs.som <- SOM(lcrabs, gr)
plot(crabs.som)
## 2-phase training
crabs.som2 <- SOM(lcrabs, gr,
alpha = list(seq(0.05, 0, length.out = 1e4), seq(0.02, 0, length.out = 1e5)),
radii = list(seq(8, 1, length.out = 1e4), seq(4, 1, length.out = 1e5)))
plot(crabs.som2)