normalize_input: Normalize input data matrix

Description Usage Arguments Details Value Author(s) Examples

Description

Mean centers each column of an input data matrix so that it has a mean of zero. Scales the entire matrix so that the largest absolute of the centered matrix is equal to unity.

Usage

1

Arguments

X

matrix; Input data matrix with rows as observations and columns as variables/dimensions.

Details

Normalization avoids numerical problems when the coordinates (and thus the distances between observations) are very large. Directly computing distances on this scale may lead to underflow when computing the probabilities in the t-SNE algorithm. Rescaling the input values mitigates these problems to some extent.

Value

A numeric matrix of the same dimensions as X but centred by column and scaled to have a maximum deviation of 1.

Author(s)

Aaron Lun

Examples

1
2
3
4
5
iris_unique <- unique(iris) # Remove duplicates
iris_matrix <- as.matrix(iris_unique[,1:4])
X <- normalize_input(iris_matrix)
colMeans(X)
range(X)

Example output

 Sepal.Length   Sepal.Width  Petal.Length   Petal.Width 
-5.739257e-16 -2.611748e-16 -7.917674e-16 -2.274292e-16 
[1] -0.8724175  1.0000000

Rtsne documentation built on May 2, 2019, 3:59 p.m.