Lemme de Johnson-Lindenstrauss

De testwiki
Aller à la navigation Aller à la recherche

Le lemme de Johnson-Lindenstrauss est un théorème de géométrie. Il établit qu'un petit ensemble de points dans un espace euclidien de grande dimension peut être plongé dans un espace de plus petite dimension, avec une faible distorsion, c'est-à-dire en préservant les distances de façon approchée.

Ce lemme de réduction de la dimensionnalité est utilisé en informatique théorique, notamment en algorithmique, en apprentissage automatique et en acquisition comprimée. Il est dû à Modèle:Lien et Joram Lindenstrauss.

Énoncé

Le lemme peut être énoncé de la façon suivante[1] :

Étant donné 0<ε<1 et un entier n, soit k un entier tel que k>8log(n)/ε2. Pour tout ensemble X de n points dans N, il existe f un plongement de Ndans k, tel que :

(1ε)uv2f(u)f(v)2(1+ε)uv2

pour tout u,vX.

Autrement dit[2], pour tout ε, toute 2-métrique de n points peut être plongée dans 2O(log(n)/ε2).

Preuve

La preuve classique repose sur l'idée de faire une projection sur un espace de dimension k choisi de manière aléatoire[1].

Applications

Pour de nombreux problèmes algorithmiques, la complexité en temps des algorithmes connus grandit avec la dimension. On peut alors commencer par calculer un plongement dans un espace de dimension logarithmique et utiliser l'algorithme sur cette nouvelle instance. La solution trouvée est une bonne approximation grâce au lemme. C'est une façon de contourner le fléau de la dimension.

Un exemple d'application est la version approchée de la recherche des plus proches voisins[3]. D'autres exemples sont des problèmes de flot, de partitionnement de données et de séparateurs[4].

Historique

Le lemme est dû à William B. Johnson et Joram Lindenstrauss[5].

Notes et références

Modèle:Références

Modèle:Portail