Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

SOM

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 somgrid.

rlen

the number of updates: used only in the defaults for alpha and radii.

alpha

the amount of change: one update is done for each element of alpha. Default is to decline linearly from 0.05 to 0 over rlen updates.

radii

the radii of the neighbourhood to be used for each update: must be the same length as alpha. Default is to decline linearly from 4 to 1 over rlen updates.

init

the initial representatives. If missing, chosen (without replacement) randomly from data.

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 "somgrid".

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, len = 1e4), seq(0.02, 0, len = 1e5)),
    radii = list(seq(8, 1, len = 1e4), seq(4, 1, len = 1e5)))
plot(crabs.som2)

class

Functions for Classification

v7.3-19
GPL-2 | GPL-3
Authors
Brian Ripley [aut, cre, cph], William Venables [cph]
Initial release
2021-04-17

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.