error.quantisation.kernelsom: Quantisation error for a Kernel Self-Organising Map

Description Usage Arguments Value Author(s) See Also Examples

Description

Compute the quantisation error made by a Self-Organising Map fitted on data mapped in a kernel induced feature space: this is the mean of the distance between each observation and the prototype of its best matching unit, computed in the kernel space.

Usage

1
2
## S3 method for class 'kernelsom'
error.quantisation(som, newdata, newdatanorms, ...)

Arguments

som

an object of class "somnum"

newdata

an optional matrix compatible with the fitted som (see details)

newdatanorms

an optional vector containing the squared norm in kernel space of the new data (see details)

...

not used

Value

If newdata is not given, the function returns the quantisation error made by the fitted som on the data used to fit it.

When newdata is specified, the function returns the quantisation error of the fitted som on the corresponding data. The newdata matrix must contain the values of the kernel used to fit the SOM evaluated between the original data and the new data. More precisely, newdata[i,j] contains the value of K(x_i,nx_j), where x_i is the i-th original data point and nx_j is the j-th new data point. In addition, when newdata is specified, then the function needs the value of the squared norm in kernel space of the new data, that is a vector newdatanorms such that newdatanorms[j] contains K(nx_j,nx_j).

The distance between a data point and the prototype of its best matching unit is computed in the kernel space. If the kernel used to fit the SOM is not postive, negative values that might occur during the distance computation are replaced by zero values (a warning is generated during this process).

Author(s)

Fabrice Rossi

See Also

error.kaskilagus.kernelsom, som.tunecontrol

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
data(iris)
# scaling and kernel computation
data <- as.kernelmatrix(tcrossprod(scale(iris[1:4])))

# a small hexagonal grid
sg <- somgrid(xdim=7,ydim=7,topo="hex")

# fit the SOM
som <- batchsom(data,sg)

print(error.quantisation(som))

# a larger grid should in general give a lower quantisation error
sg <- somgrid(xdim=12,ydim=12,topo="hex")
som <- batchsom(data,sg)
print(error.quantisation(som))

yasomi documentation built on May 2, 2019, 5:59 p.m.