Explication de la malédiction de la dimensionnalité de l'apprentissage automatique?

14

J'ai du mal à comprendre la malédiction de la dimensionnalité. Plus précisément, je l'ai rencontré en faisant le scikit-learntutoriel en python. Quelqu'un peut-il expliquer plus simplement ce qui suit? Désolé, j'essaie de comprendre depuis longtemps et je ne comprends pas comment ils ont calculé le nombre d'exemples de formation pour obtenir un estimateur KNN efficace?

Voici l'explication:

Pour qu'un estimateur soit efficace, il faut que la distance entre les points voisins soit inférieure à une valeur d, qui dépend du problème. Dans une dimension, cela nécessite en moyenne n ~ 1 / j points. Dans le contexte de l'exemple KNN ci-dessus, si les données sont décrites par une seule caractéristique avec des valeurs allant de 0 à 1 et avec n observations d'entraînement, les nouvelles données ne seront pas plus éloignées que 1 / n. Par conséquent, la règle de décision du plus proche voisin sera efficace dès que 1 / n est petit par rapport à l'échelle des variations d'entités entre classes.

Si le nombre d'entités est p, vous avez maintenant besoin de n ~ 1 / d ^ p points. Disons que nous avons besoin de 10 points dans une dimension: Maintenant, 10 ^ p points sont requis dans p dimensions pour ouvrir l'espace [0, 1]. Lorsque p devient grand, le nombre de points d'apprentissage requis pour un bon estimateur croît de façon exponentielle.

lien ici

EDIT: le tilde ( ~) est-il également censé représenter approximatif dans cet exemple? ou l'opérateur tilde python?

Chowza
la source
2
Le tilde signifie "proportionnel à"
reseter
@mbatchkarov Ha merci. approximativement et proportionnellement à des conclusions si différentes lol

Réponses:

11

Traduire ce paragraphe:

Soit un ensemble de fonctionnalités décrivant un point de données. Vous regardez peut-être la météo. Cet ensemble de fonctionnalités peut inclure des éléments tels que la température, l'humidité, l'heure de la journée, etc. Ainsi, chaque point de données peut avoir une fonctionnalité (si vous ne regardez que la température) ou il peut avoir 2 fonctionnalités (si vous regardez la température) et humidité) et ainsi de suite. Ce que dit ce paragraphe, c'est qu'en fonction du nombre de dimensions de vos données (combien de fonctionnalités elles ont), plus il est difficile de faire un estimateur. C'est parce que si vous avez simplement une caractéristique de données, ou des données à 1 dimension, alors lorsque vous allez représenter graphiquement ces données, vous obtenez un graphique linéaire et imaginer un graphique linéaire entre disons 0-50 degrés C, cela ne prend que 50 points aléatoires avant chaque point de données sont à environ 1 degré de tout autre point de données. Maintenant, laisse' s pensez à 2 dimensions, en parlant de l'humidité et de la température, maintenant il est plus difficile de trouver que d de telle sorte que tous les points soient dans les unités "d" les uns des autres. Imaginez que la température se situe toujours entre 0 et 50, mais maintenant, l'humidité est également comprise entre 0 et 100%. Combien de points aléatoires faut-il pour obtenir tous les points à 1 ou 2 mètres l'un de l'autre? Maintenant, c'est 100 * 50 ou ~ 5000! Imaginez maintenant 3 dimensions, etc. Vous commencez à avoir besoin de beaucoup plus de points pour vous assurer que chaque point est à l'intérieur de d d'un autre point. Pour vous faciliter la vie, essayez de supposer que «d» est égal à 1 et voyez ce qui se passe. J'espère que cela pourra aider! Combien de points aléatoires faut-il pour obtenir tous les points à 1 ou 2 mètres l'un de l'autre? Maintenant, c'est 100 * 50 ou ~ 5000! Imaginez maintenant 3 dimensions, etc. Vous commencez à avoir besoin de beaucoup plus de points pour vous assurer que chaque point est à l'intérieur de d d'un autre point. Pour vous faciliter la vie, essayez de supposer que «d» est égal à 1 et voyez ce qui se passe. J'espère que cela pourra aider! Combien de points aléatoires faut-il pour obtenir tous les points à 1 ou 2 mètres l'un de l'autre? Maintenant, c'est 100 * 50 ou ~ 5000! Imaginez maintenant 3 dimensions, etc. Vous commencez à avoir besoin de beaucoup plus de points pour vous assurer que chaque point est à l'intérieur de d d'un autre point. Pour vous faciliter la vie, essayez de supposer que «d» est égal à 1 et voyez ce qui se passe. J'espère que cela pourra aider!


la source
2
C'est une bonne explication, mais qu'en est-il de l'équation qu'ils ont fournie? Dans votre exemple de 1 caractéristique, où je veux que l'estimateur soit à 1 degré (c.-à-d. D = 1), alors leur équation n~1/dsignifierait que n doit être d'environ 1? Cela n'a pas beaucoup de sens?
Non, ils disent que si la fonctionnalité a une plage de 0 à 1 (la mienne avait une plage de 0 à 50), vous devriez alors 1 / d points de sorte que chacun était à peu près d de l'autre. Cela fonctionne pour mon exemple puisque vous auriez besoin d'environ 50/1 points où 1 est "d". Désolé, il est déroutant de taper ces équations, mais je pense que cela devrait aider
12

matty-d a déjà fourni une très bonne réponse, mais j'ai trouvé une autre réponse qui explique également ce problème, d'un utilisateur de Quora, Kevin Lacker:

Disons que vous avez une ligne droite de 100 mètres de long et que vous avez déposé un sou quelque part dessus. Ce ne serait pas trop difficile à trouver. Vous marchez le long de la ligne et cela prend deux minutes.

Supposons maintenant que vous ayez un carré de 100 mètres de chaque côté et que vous ayez déposé un sou quelque part dessus. Ce serait assez difficile, comme chercher à travers deux terrains de football collés ensemble. Cela pourrait prendre des jours.

Maintenant un cube de 100 mètres de diamètre. C'est comme chercher un bâtiment de 30 étages de la taille d'un stade de football. Pouah.

La difficulté de rechercher dans l'espace devient beaucoup plus difficile à mesure que vous avez plus de dimensions. Vous pourriez ne pas vous en rendre compte intuitivement quand il est simplement indiqué dans des formules mathématiques, car elles ont toutes la même "largeur". C'est la malédiction de la dimensionnalité. Il peut avoir un nom parce qu'il n'est pas intuitif, utile et pourtant simple.

chutsu
la source
-1

Cet exemple peut donner une certaine intuition du problème, mais n'est en fait pas une preuve rigoureuse du tout: ce n'est qu'un exemple où de nombreux échantillons sont nécessaires pour obtenir une "bonne" couverture spatiale. Il pourrait y avoir (et il y a en effet, par exemple, des hexagones en 2D déjà) des couvertures beaucoup plus efficaces qu'une grille régulière ... (la zone sophistiquée de séquences à faible écart est consacrée à cela) ... et prouvant que même avec de telles couvertures meilleures il y a encore une malédiction de dimensionnalité est tout à fait un autre problème. En fait, dans certains espaces fonctionnels, il existe même des moyens de contourner ce problème apparent.

Quartz
la source