Self-Organizing Maps

DESCRIPTION:

Kohonen's Self-Organizing Maps are a crude form of multidimensional scaling.

USAGE:

batchSOM(data, grid = somgrid(), radii, init)
somgrid(xdim = 8, ydim = 6, topo = c("rectangular", "hexagonal"))

REQUIRED ARGUMENTS:

data
a matrix or data frame of observations, scaled so that Euclidean distance is appropriate.

OPTIONAL ARGUMENTS:

grid
A grid for the representatives.
radii
the radii of the neighbourhood to be used for each pass: one pass is run for each element of radii.
init
the initial representatives. If missing, chosen (without replacement) randomly from data.
xdim, ydim
dimensions of the grid
topo
the topology of the grid.

VALUE:

an object of class "SOM" with components
grid
the grid, an object of class "somgrid".
codes
a matrix of representatives.

DETAILS:

The batch SOM algorithm of Kohonen(1995, section 3.14) is used.

SEE ALSO:

REFERENCES:

Kohonen, T. (1995) Self-Organizing Maps. Springer-Verlag

EXAMPLES:

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 <- batchSOM(lcrabs, gr, c(4, 4, 2, 2, 1, 1, 1, 0, 0))
plot(crabs.som)
bins <- as.numeric(knn1(crabs.som$code, lcrabs, 0:47))
plot(crabs.som$grid, type = "n")
symbols(crabs.som$grid$pts[, 1], crabs.som$grid$pts[, 2],
        circles = rep(0.4, 48), inches = F, add = T)
text(crabs.som$grid$pts[bins, ] + rnorm(400, 0, 0.1),
     as.character(crabs.grp))