Diffusion maps

Diffusion maps leverages the relationship between heat diffusion and a random walk; an analogy is drawn between the diffusion operator on a manifold and a Markov transition matrix operating on functions defined on the graph whose nodes were sampled from the manifold [1].

This package defines a DiffMap type to represent a Hessian LLE results, and provides a set of methods to access its properties.

Properties

Let M be an instance of DiffMap, n be the number of observations, and d be the output dimension.

outdim(M)

Get the output dimension d, i.e the dimension of the subspace.

projection(M)

Get the projection matrix (of size (d, n)). Each column of the projection matrix corresponds to an observation in projected subspace.

kernel(M)

The kernel matrix.

Data Transformation

One can use the transform method to perform DiffMap over a given dataset.

transform(DiffMap, X; ...)

Perform DiffMap over the data given in a matrix X. Each column of X is an observation.

This method returns an instance of DiffMap.

Keyword arguments:

name description default
d Output dimension. 2
t Number of time steps. 1
ɛ The scale parameter. 1.0

Example:

using ManifoldLearning

# suppose X is a data matrix, with each observation in a column
# apply DiffMap transformation to the dataset
Y = transform(DiffMap, X; d=2, t=1, ɛ=1.0)

References

[1]Coifman, R. & Lafon, S. “Diffusion maps”. Applied and Computational Harmonic Analysis, Elsevier, 2006, 21, 5-30. DOI:10.1073/pnas.0500334102