# Johnson–Lindenstrauss lemma

In mathematics, the Johnson–Lindenstrauss lemma is a result named after William B. Johnson and Joram Lindenstrauss concerning low-distortion embeddings of points from high-dimensional into low-dimensional Euclidean space. The lemma states that a small set of points in a high-dimensional space can be embedded into a space of much lower dimension in such a way that distances between the points are nearly preserved. The map used for the embedding is at least Lipschitz, and can even be taken to be an orthogonal projection.

The lemma has uses in compressed sensing, manifold learning, dimensionality reduction, and graph embedding. Much of the data stored and manipulated on computers, including text and images, can be represented as points in a high-dimensional space (see vector space model for the case of text). However, the essential algorithms for working with such data tend[citation needed] to become bogged down very quickly as dimension increases. It is therefore desirable to reduce the dimensionality of the data in a way that preserves its relevant structure. The Johnson–Lindenstrauss lemma is a classic result in this vein.

Also the lemma is tight up to a factor log(1/ε), i.e. there exists a set of points of size m that needs dimension

$\Omega\left(\frac{\log(m)}{\varepsilon^2\log (1/\varepsilon)}\right)$

in order to preserve the distances between all pair of points. See 4.

## Lemma

Given 0 < ε < 1, a set X of m points in RN, and a number n > 8 ln(m) / ε 2, there is a linear map ƒ : RN → Rn such that

$(1-\varepsilon)\|u-v\|^2 \leq \|f(u) - f(v)\|^2 \leq (1+\varepsilon)\|u-v\|^2$

for all uv ∈ X.

One proof of the lemma takes ƒ to be a suitable multiple of the orthogonal projection onto a random subspace of dimension n in RN, and exploits the phenomenon of concentration of measure.

Obviously an orthogonal projection will, in general, reduce the average distance between points, but the lemma can be viewed as dealing with relative distances, which do not change under scaling. In a nutshell, you roll the dice and obtain a random projection, which will reduce the average distance, and then you scale up the distances so that the average distance returns to its previous value. If you keep rolling the dice, you will, in polynomial random time, find a projection for which the (scaled) distances satisfy the lemma.