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.
EDIT: le tilde ( ~) est-il également censé représenter approximatif dans cet exemple? ou l'opérateur tilde python?