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 to become bogged down very quickly as dimension increases.[1] 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 constant factor, i.e. there exists a set of points of size m that needs dimension

Contents

Given 0<ε<1{\displaystyle 0<\varepsilon <1}, a set X{\displaystyle X} of m{\displaystyle m} points in RN{\displaystyle \mathbb {R} ^{N}}, and a number n>8ln⁡(m)/ε2{\displaystyle n>8\ln(m)/\varepsilon ^{2}}, there is a linear map f:RN→Rn{\displaystyle f:\mathbb {R} ^{N}\rightarrow \mathbb {R} ^{n}} such that

One proof of the lemma takes ƒ to be a suitable multiple of the orthogonal projection onto a random subspace of dimension n{\displaystyle n} in RN{\displaystyle \mathbb {R} ^{N}}, 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.

A related lemma is the distributional JL lemma. This lemma states that for any 0 < ε, δ < 1/2 and positive integer d, there exists a distribution over Rk × d from which the matrix A is drawn such that for k = O(ε−2log(1/δ)) and for any unit-length vector x ∈ Rd, the claim below holds.[3]

One can obtain the JL lemma from the distributional version by setting x=(u−v)/‖u−v‖2{\displaystyle x=(u-v)/\|u-v\|_{2}} and δ<1/n2{\displaystyle \delta <1/n^{2}} for some pair u,v both in X. Then the JL lemma follows by a union bound over all such pairs.

Given A, computing the matrix vector product takes O(kd) time. There has been some work in deriving distributions for which the matrix vector product can be computed in less than O(kd) time. There are two major lines of work. The first, Fast Johnson Lindenstrauss Transform (FJLT),[4] was introduced by Ailon and Chazelle in 2006. Another approach is to build a distribution supported over matrices that are sparse.[5][6]

^For instance, writing about nearest neighbor search in high-dimensional data sets, Jon Kleinberg writes: "The more sophisticated algorithms typically achieve a query time that is logarithmic in n at the expense of an exponential dependence on the dimension d; indeed, even the average case analysis of heuristics such as k-d trees reveal an exponential dependence on d in the query time. Kleinberg, Jon M. (1997), "Two Algorithms for Nearest-neighbor Search in High Dimensions", Proceedings of the Twenty-ninth Annual ACM Symposium on Theory of Computing, STOC '97, New York, NY, USA: ACM, pp. 599–608, doi:10.1145/258533.258653, ISBN0-89791-888-6.