Une recherche de grille SVM doit-elle montrer une région de haute précision avec de faibles précisions autour?


12

J'ai 12 ensembles d'entraînement positifs (cellules cancéreuses traitées avec des médicaments avec chacun des 12 mécanismes d'action différents). Pour chacun de ces ensembles d'entraînement positifs, je voudrais former une machine à vecteur de support pour la distinguer d'un ensemble négatif de taille égale échantillonné de l'expérience. Chaque ensemble a entre 1 000 et 6 000 cellules, et il y a 476 caractéristiques (caractéristiques d'image) de chaque cellule, chacune étant mise à l'échelle linéairement à [0, 1].

J'utilise LIBSVM et le noyau RVB gaussien. En utilisant cinq fois la validation croisée, j'ai fait une recherche dans la grille pour log₂ C ∈ [-5, 15] et log₂ ɣ ∈ [-15, 3]. Les résultats sont les suivants:

Résultats de la recherche dans la grille

J'ai été déçu qu'il n'y ait pas un seul ensemble de paramètres qui donnent des précisions élevées pour les 12 problèmes de classification. J'ai également été surpris que les grilles ne montrent généralement pas une région de haute précision entourée de précisions plus faibles. Est-ce que cela signifie simplement que j'ai besoin d'agrandir l'espace des paramètres de recherche, ou la recherche dans la grille indique-t-elle que quelque chose d'autre ne va pas?


2
Re déception: Vous ne penseriez pas chaque problème d'avoir les mêmes paramètres, alors pourquoi voulez - vous attendre les problèmes à partager les bonnes valeurs pour les hyperparamètres (gamma journal et C)?
conjugateprior

@Conjugate Prior: Les ensembles d'entraînement sont des sous-ensembles de la même expérience, et les ensembles d'entraînement négatifs sont échantillonnés à partir de la même population, alors j'avais espéré que la même largeur de noyau RBF ɣ serait efficace. Parce que les ensembles positifs sont discriminés par rapport à la même population de fond (négative), j'avais espéré que la pénalité idéale C serait également similaire. Si ce n'est pas le cas, il est très difficile d'appliquer SVM. Un boosting doux, par exemple, semble beaucoup plus facile à régler.
Vebjorn Ljosa

Aha. Mais il me semble que bien qu'il s'agisse de la même expérience au sens physique, vous vous attaquez néanmoins à des problèmes distincts et différents au sens statistique. Surtout si les cas négatifs sont rééchantillonnés pour chaque traitement.
conjugateprior

1
BTW, la recherche de grille est plutôt inefficace, l'algorithme d'optimisation du simplexe de Nelder-Mead est très efficace, tout comme les méthodes d'optimisation de descente de gradient. La recherche dans la grille est simple, mais un peu "brute force".
Dikran Marsupial

@Vebjorn Ljosa (un an plus tard), combien se dispersent les 5 valeurs, disons à la finale (C, gamma)? Les 12 graphiques sont-ils tous mis à l'échelle de la même manière, par exemple 50% .. 100% de prédiction correcte? Merci
denis

Réponses:


9

Les valeurs optimales pour les hyper-paramètres seront différentes pour différentes prises d'apprentissage, vous devez les régler séparément pour chaque problème.

La raison pour laquelle vous n'obtenez pas un seul optimum est que le paramètre du noyau et le paramètre de régularisation contrôlent la complexité du modèle. Si C est petit, vous obtenez un modèle lisse, de même si le noyau avec est large, vous obtiendrez un modèle lisse (car les fonctions de base ne sont pas très locales). Cela signifie que différentes combinaisons de C et de la largeur du noyau conduisent à des modèles complexes similaires, avec des performances similaires (c'est pourquoi vous obtenez la fonction diagonale dans la plupart des tracés que vous avez).

L'optimum dépend également de l'échantillonnage particulier de l'ensemble d'entraînement. Il est possible de sur-ajuster l'erreur de validation croisée, donc le choix des hyper-paramètres par validation croisée peut en fait aggraver les performances si vous n'avez pas de chance. Voir Cawley et Talbot pour une discussion à ce sujet.

Le fait qu'il existe un large plateau de valeurs pour les hyper-paramètres où vous obtenez des valeurs également bonnes est en fait une bonne caractéristique des machines à vecteurs de support car cela suggère qu'elles ne sont pas trop vulnérables au sur-ajustement dans la sélection du modèle. Si vous aviez un pic net aux valeurs optimales, ce serait une mauvaise chose car le pic serait difficile à trouver en utilisant un ensemble de données fini qui fournirait une indication peu fiable de l'endroit où ce pic réside réellement.


BTW J'effectue une étude sur le sur-ajustement dans la sélection de modèles en utilisant la recherche par grille, ce qui s'avère beaucoup plus intéressant que je l'avais pensé. Même avec peu d'hyper-paramètres, vous pouvez toujours sur-ajuster le critère de sélection du modèle si vous optimisez sur une grille trop fine!
Dikran Marsupial

J'arrive à la fin du travail de simulation maintenant, j'espère que je serai en mesure de soumettre l'article dans un mois ou deux ...
Dikran Marsupial

Je serais intéressé à lire cet article s'il est terminé? J'ai rencontré des pointes étranges, etc. dans les optimisations de recherche de grille qui semblent similaires à ce que vous discutez ici.
BGreene

Tout le travail de simulation est maintenant terminé, je suis en train de rassembler le papier pour le moment (principalement pour m'assurer qu'il est entièrement reproductible). J'ai sauvegardé toutes les grilles, donc une nouvelle analyse devrait être possible pour examiner d'autres questions auxquelles je n'avais pas pensé à l'époque.
Dikran Marsupial
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.