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:
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?
Réponses:
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.
la source