Quelles sont les limites des méthodes du noyau et quand utiliser les méthodes du noyau?

10

Les méthodes du noyau sont très efficaces dans de nombreuses tâches de classification supervisées. Quelles sont donc les limites des méthodes du noyau et quand utiliser les méthodes du noyau? Surtout à l'ère des données à grande échelle, quelles sont les avancées des méthodes du noyau? Quelle est la différence entre les méthodes du noyau et l'apprentissage à instances multiples? Si les données sont 500x10000, 500est le nombre d'échantillons et 10000est la dimension de chaque fonctionnalité, alors dans ce cas, pouvons-nous utiliser les méthodes du noyau?

exploitation minière
la source

Réponses:

16

Les méthodes du noyau peuvent être utilisées pour les problèmes supervisés et non supervisés. Des exemples bien connus sont la machine à vecteur de support et le regroupement spectral du noyau , respectivement.

Les méthodes du noyau fournissent un moyen structuré d'utiliser un algorithme linéaire dans un espace d'entité transformé, pour lequel la transformation est généralement non linéaire (et vers un espace de dimension supérieure). L'avantage clé que cette soi-disant astuce du noyau apporte est que les modèles non linéaires peuvent être trouvés à un coût de calcul raisonnable .

Notez que j'ai dit que le coût de calcul est raisonnable, mais non négligeable. Les méthodes du noyau construisent généralement une matrice de noyau avec le nombre d'instances de formation. La complexité des méthodes du noyau est donc fonction du nombre d'instances d'apprentissage, plutôt que du nombre de dimensions d'entrée. Les machines à vecteurs de support, par exemple, ont une complexité d'apprentissage entre et . Pour les problèmes avec un très grand , cette complexité est actuellement prohibitive.KRN×NNO(N2)O(N3)N

Cela rend les méthodes du noyau très intéressantes d'un point de vue informatique lorsque le nombre de dimensions est important et le nombre d'échantillons est relativement faible (disons, moins d'un million).

Connexes: noyau linéaire et noyau non linéaire pour la machine à vecteur de support?

SVM pour les problèmes à grande échelle

Pour les problèmes dimensionnels très élevés, tels que les 10000dimensions que vous mentionnez dans la question, il n'est souvent pas nécessaire de mapper vers un espace d'entités de dimension supérieure. L'espace d'entrée est déjà assez bon. Pour de tels problèmes, les méthodes linéaires sont des ordres de grandeur plus rapides avec presque les mêmes performances prédictives. Des exemples de ces méthodes peuvent être trouvés dans LIBLINEAR ou Vowpal Wabbit .

Les méthodes linéaires sont particulièrement intéressantes lorsque vous avez de nombreux échantillons dans un espace d'entrée de grande dimension. Lorsque vous n'avez que échantillons, l'utilisation d'une méthode de noyau non linéaire sera également bon marché (puisque est petit). Si vous aviez, disons, échantillons dans dimensions, les méthodes du noyau seraient irréalisables.500N5.000.00010.000

Pour les problèmes de faible dimension avec de nombreuses instances de formation (ce que l'on appelle les grands problèmes petits ), les méthodes linéaires peuvent donner une mauvaise précision prédictive. Pour de tels problèmes, les méthodes d'ensemble telles qu'EnsembleSVM fournissent des limites de décision non linéaires à un coût de calcul considérablement réduit par rapport au SVM standard.Np

Marc Claesen
la source
Merci beaucoup pour les réponses si détaillées, monsieur. J'ai trouvé dans les circonstances de grandes dimensions, si j'utilise le RBFnoyau libsvm, il surapparaît toujours, le classificateur atteint une précision élevée mais une précision faible dans l'ensemble de test. Et si je fais une réduction de dimension avant le classificateur, et que les dimensions réduites sont proches du nombre d'échantillons d'apprentissage, le classificateur peut peut-être réaliser un bon bénéfice entre la formation et l'ensemble de test. Les résultats correspondent-ils à la plupart des résultats empiriques? Merci.
exploitation minière
Les méthodes du noyau sont assez robustes contre une dimensionnalité d'entrée élevée. En règle générale, vous ne devez pas effectuer de réduction de dimensionnalité avant de les utiliser. Il est très important de régler tous les paramètres, en particulier gammapour le noyau RBF. La valeur optimale pour gammaest liée au nombre de dimensions d'entrée. L'approche de réglage la plus courante est la validation croisée. Si vous avez utilisé la même valeur pour gammaavec et sans réduction de dimensionnalité, vous faites probablement une erreur.
Marc Claesen
Oui monsieur. J'utilise généralement le package grid.pyin libsvmpour effectuer une validation croisée. Et dans la plupart des cas, pour les données de grandes dimensions, le gammatoujours très petit, comme 0.00001ce niveau.
exploitation minière
Bonjour, monsieur, j'ai vérifié votre projet open source EnsembleSVM, doit-il rendre la procédure de validation croisée multithread? Et je pense que dans la phase de prédiction, il sera bon de prédire les énormes données en lots et en multithreading ou multi machines?
exploitation minière
L'utilisation du multithreading est facultative dans EnsembleSVM, mais activée par défaut dans esvm-trainet esvm-predict. Pour désactiver multithreading, utilisez l'option suivante dans ces outils: -threads 1.
Marc Claesen