Lemme de Johnson-Lindenstrauss
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é et un entier , soit un entier tel que . Pour tout ensemble de points dans , il existe un plongement de dans , tel que :
pour tout .
Autrement dit[2], pour tout , toute -métrique de points peut être plongée dans .
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].