Hessian Eigenmaps

The Hessian Eigenmaps (Hessian LLE, HLLE) method adapts the weights in LLE to minimize the Hessian operator. Like LLE, it requires careful setting of the nearest neighbor parameter. The main advantage of Hessian LLE is the only method designed for non-convex data sets [1].

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

Properties

Let M be an instance of HLLE, 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.

neighbors(M)

The number of nearest neighbors used for approximating local coordinate structure.

eigvals(M)

The eigenvalues of alignment matrix.

Data Transformation

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

transform(HLLE, X; ...)

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

This method returns an instance of HLLE.

Keyword arguments:

name description default
k The number of nearest neighbors for determining local coordinate structure. 12
d Output dimension. 2

Example:

using ManifoldLearning

# suppose X is a data matrix, with each observation in a column
# apply HLLE transformation to the dataset
Y = transform(HLLE, X; k = 12, d = 2)

References

[1]Donoho, D. and Grimes, C. “Hessian eigenmaps: Locally linear embedding techniques for high-dimensional data”, Proc. Natl. Acad. Sci. USA. 2003 May 13; 100(10): 5591–5596. DOI:10.1073/pnas.1031596100