Théorème de Cover: En gros, dit-il, étant donné tout ensemble aléatoire de points finis (avec des étiquettes arbitraires), alors avec une forte probabilité, ces points peuvent être rendus linéairement séparables [1] en les mappant à une dimension supérieure [2].
Implication: génial, ce que ce théorème me dit, c'est que si je prends mon jeu de données et mappe ces points à une dimension supérieure, je peux facilement trouver un classificateur linéaire. Cependant, la plupart des classificateurs doivent calculer une sorte de similitude comme le produit scalaire, ce qui signifie que la complexité temporelle d'un algorithme de classification est proportionnelle à la dimension du point de données. Ainsi, une dimension plus élevée signifie une plus grande complexité temporelle (sans parler de la complexité de l'espace pour stocker ces grands points dimensionnels).
nfN(>>n)KxyK(x,y)=⟨f(x),f(y)⟩O(n)O(N)
f
La séparabilité linéaire implique-t-elle que les points d'une même classe seront plus proches que les points de différentes classes?
Non, il n'y a pas de telle garantie en tant que telle. La séparabilité linéaire n'implique pas vraiment que le point de la même classe s'est rapproché ou que les points de deux classes différentes se sont éloignés.
Alors pourquoi kNN fonctionnerait-il?
Ce n'est pas nécessaire! Cependant, si c'est le cas, c'est uniquement à cause du noyau.
x=(x1,x2)x(x21,2–√x1x2,x22)
Alors pourquoi utiliser le noyau kNN?
Nous avons montré que la complexité de calcul de l'utilisation des noyaux est légèrement supérieure à celle du kNN habituel et si les données bénéficient de l'utilisation des noyaux, alors pourquoi ne pas les utiliser de toute façon?
Y a-t-il un article qui a étudié quelle classe de données peut bénéficier des noyaux dans kNN?
Pour autant que je sache, non.
[1] http://en.wikipedia.org/wiki/Linear_separability
[2] http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4038449&tag=1