# Locally Linear Embedding

Locally Linear Embedding (LLE) technique builds a single global coordinate system of lower dimensionality. By exploiting the local symmetries of linear reconstructions, LLE is able to learn the global structure of nonlinear manifolds ^{[1]}.

This package defines a `LLE`

type to represent a LLE results, and provides a set of methods to access its properties.

`ManifoldLearning.LLE`

— Type`LLE{NN <: AbstractNearestNeighbors, T <: Real} <: AbstractDimensionalityReduction`

The `LLE`

type represents a locally linear embedding model constructed for `T`

type data constructed with a help of the `NN`

nearest neighbor algorithm.

`StatsBase.fit`

— Method`fit(LLE, data; k=12, maxoutdim=2, nntype=BruteForce, tol=1e-5)`

Fit a locally linear embedding model to `data`

.

**Arguments**

`data`

: a matrix of observations. Each column of`data`

is an observation.

**Keyword arguments**

`k`

: a number of nearest neighbors for construction of local subspace representation`maxoutdim`

: a dimension of the reduced space.`nntype`

: a nearest neighbor construction class (derived from`AbstractNearestNeighbors`

)`tol`

: an algorithm regularization tolerance

**Examples**

```
M = fit(LLE, rand(3,100)) # construct LLE model
R = transform(M) # perform dimensionality reduction
```

`MultivariateStats.transform`

— Method`transform(R::LLE)`

Transforms the data fitted to the LLE model `R`

into a reduced space representation.

## References

- 1Roweis, S. & Saul, L. "Nonlinear dimensionality reduction by locally linear embedding", Science 290:2323 (2000). DOI:10.1126/science.290.5500.2323