Learn R Programming

clusterv (version 1.1.1)

Max.Expansion: Distortion measures: Max., min, and average expansion and contraction

Description

Measures to evaluate the distortion induced by randomized projection between euclidean spaces. They evaluate the maximum, minimum and average expansion and contraction of the distances between pairs of points embedded in euclidean spaces.

Usage

Max.Expansion(m, m.rid)

Min.Expansion(m, m.rid)

Max.Min.Expansion(m, m.rid)

Average.Expansion(m, m.rid)

Max.Contraction(m, m.rid)

Max.Min.Contraction(m, m.rid)

Average.Contraction(m, m.rid)

Value

Max.Expansion, Min.Expansion, Average.Expansion, Max.Contraction, Average.Contraction return a single real value. Max.Min.Expansion and Max.Min.Contraction a pair (vector) of real values.

Arguments

m

data matrix in the original space (rows are are examples, columns are components)

m.rid

data matrix in the reduced space (rows are are examples, columns are components)

Author

Giorgio Valentini valentini@di.unimi.it

Details

If \(u, v \in \mathcal{S} \subset \mathcal{R}^d\), \(f: \mathcal{R}^d \rightarrow \mathcal{R}^d\) is a randomized map with \(d' < d\), then we have: $$ max.expansion = max_{u,v \in S} \frac {|| f(u) - f(v) ||} {|| u - v ||}$$ $$ min.expansion = min_{u,v \in S} \frac {|| f(u) - f(v) ||} {|| u - v ||}$$ $$average.expansion = \frac{1}{(|S|*(|S|-1)} sum_{u,v \in S} \frac{|| f(u) - f(v) ||}{|| u - v ||}$$ $$ max.contraction = max_{u,v \in S} \frac {|| u - v ||}{|| f(u) - f(v) ||} $$ $$ min.contraction = min_{u,v \in S} \frac {|| u - v ||}{|| f(u) - f(v) ||} $$ $$average.contraction = \frac{1}{(|S|*(|S|-1)} sum_{u,v \in S} \frac{|| u - v ||}{|| f(u) - f(v) ||}$$

References

A. Bertoni and G. Valentini, Random projections for assessing gene expression cluster stability, Special Session biostatistics and bioinformatics IJCNN 2005, The IEEE-INNS International Joint Conference on Neural Networks, Montreal, 2005.

Examples

Run this code
# PMO projection from a 1000 dimensional space to a 50-dimensional subspace
m <- matrix(runif(10000), nrow=1000)
m.rid <- Plus.Minus.One.random.projection(d = 50, m, scaling = TRUE)
# Computation of the distortion induced by the PMO projection
max.exps <- Max.Expansion(m, m.rid)
min.exps <- Min.Expansion(m, m.rid)
# the same as above with max e min expansion stored in the same vector
max.min.exps <- Max.Min.Expansion(m, m.rid) 
av.exps <- Average.Expansion(m, m.rid)
max.min.contr <- Max.Min.Contraction(m, m.rid)
av.contr <- Average.Contraction(m, m.rid)

Run the code above in your browser using DataLab