Lorsque vous utilisez SVM, nous devons sélectionner un noyau.
Je me demande comment sélectionner un noyau. Des critères sur la sélection du noyau?
Lorsque vous utilisez SVM, nous devons sélectionner un noyau.
Je me demande comment sélectionner un noyau. Des critères sur la sélection du noyau?
Réponses:
Le noyau est effectivement une mesure de similarité, aussi choisissez-vous un noyau en fonction de la connaissance antérieure des invariances suggérée par Robin (+1).
En l'absence de connaissances approfondies, le noyau de la fonction de base radiale constitue un bon noyau par défaut (une fois que vous l'avez établi, le problème nécessite un modèle non linéaire).
Le choix des paramètres du noyau et du noyau / de régularisation peut être automatisé en optimisant une sélection de modèle basée sur la validation croisée (ou en utilisant les limites de la marge en radius ou de la plage). La solution la plus simple consiste à minimiser le critère de sélection de modèle en continu à l'aide de la méthode du simplexe de Nelder-Mead, qui ne nécessite pas de calcul de gradient et fonctionne bien pour les nombres raisonnables d'hyper-paramètres. Si vous avez plus de quelques hyper-paramètres à régler, la sélection automatique du modèle entraînera probablement un sur-ajustement important, en raison de la variance du critère de sélection du modèle. Il est possible d’utiliser l’optimisation par gradient, mais le gain en performances ne vaut généralement pas la peine de le coder).
Le choix automatisé des noyaux et des paramètres noyau / régularisation est une question délicate, car il est très facile d'ajuster le critère de sélection de modèle (généralement basé sur la validation croisée), et vous pouvez vous retrouver avec un modèle pire que celui que vous aviez commencé. La sélection automatique de modèles peut également biaiser l'évaluation des performances. Veillez donc à ce que votre évaluation des performances évalue l'ensemble du processus d'ajustement du modèle (formation et sélection des modèles). Pour plus d'informations, voir
GC Cawley et NLC Talbot, Prévention du sur-ajustement dans la sélection du modèle via la régularisation bayésienne des hyper-paramètres, Journal of Machine Learning Research, volume 8, pages 841 à 861, avril 2007. (pdf)
et
GC Cawley et NLC Talbot, sur-adaptation dans la sélection du modèle et biais de sélection subséquent dans l'évaluation de la performance, Journal of Machine Learning Research, vol. 11, pp. 2079-2107, juillet 2010. (pdf)
Si vous n'êtes pas sûr de ce qui conviendrait le mieux, vous pouvez utiliser des techniques de sélection automatiques (par exemple, validation croisée, ...). Dans ce cas, vous pouvez même utiliser une combinaison de classificateurs (si votre problème est la classification) obtenus avec un noyau différent.
Cependant , l’avantage de travailler avec un noyau est que vous modifiez la géométrie "euclidienne" habituelle afin qu’elle corresponde à votre propre problème. Aussi, vous devriez vraiment essayer de comprendre quel est l’intérêt d’un noyau pour votre problème, ce qui est particulier à la géométrie de votre problème . Cela peut inclure:
Si vous savez qu'un séparateur linéaire serait bon, vous pouvez utiliser le noyau qui donne des fonctions affines (par exemple, ). Si vous pensez que des limites lisses dans l’esprit de KNN lisse seraient meilleures, vous pouvez alors prendre un noyau gaussien ...
J'ai toujours le sentiment que toute sélection de paramètre hypertexte pour les SVM se fait par validation croisée en combinaison avec la recherche par grille.
En général, le noyau RBF est un premier choix raisonnable. De plus, le noyau linéaire est un cas particulier de RBF. En particulier, lorsque le nombre d'entités est très grand, on peut simplement utiliser le noyau linéaire.