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.K∈RN×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 10000
dimensions 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
RBF
noyaulibsvm
, 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.gamma
pour le noyau RBF. La valeur optimale pourgamma
est 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 pourgamma
avec et sans réduction de dimensionnalité, vous faites probablement une erreur.grid.py
inlibsvm
pour effectuer une validation croisée. Et dans la plupart des cas, pour les données de grandes dimensions, legamma
toujours très petit, comme0.00001
ce niveau.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?esvm-train
etesvm-predict
. Pour désactiver multithreading, utilisez l'option suivante dans ces outils:-threads 1
.