Après avoir effectué la recherche dans la grille pour chaque modèle de substitution, vous pouvez et devez vérifier quelques éléments:
- variation des paramètres optimisés (ici et C ).
Les paramètres optimaux sont-ils stables? Sinon, vous êtes très probablement en difficulté.γC
- Comparez les performances rapportées de la validation croisée intérieure et extérieure.
Si la validation croisée intérieure (c'est-à-dire le réglage) est bien meilleure que la validation extérieure (validation du modèle final), alors vous avez aussi des ennuis: vous êtes surajusté. Il existe un risque important que les paramètres réglés ne soient pas optimaux du tout. Cependant, si la validation croisée externe est effectuée correctement (tous les ensembles de tests sont vraiment indépendants des modèles de substitution respectifs), alors vous avez au moins une estimation non biaisée (!) Des performances du modèle. Mais vous ne pouvez pas être sûr qu'il est optimal.
- L'optimum est-il prononcé? Les performances se dégradent-elles rapidement pour les paramètres sous-optimaux? Quelle est la performance optimale?
Il y a beaucoup à dire sur le sur-ajustement par sélection de modèle. Cependant, il est bon de garder à l'esprit que la variance et le biais optimiste peuvent vraiment nuire
- la variance signifie que vous pouvez accidentellement vous retrouver assez loin des hyper-paramètres vraiment optimaux.
- mais aussi le biais peut nuire: si vous sur-adaptez, vous pouvez rencontrer des situations où de nombreux modèles semblent parfaits pour la validation croisée interne (mais ils ne le sont pas vraiment). Dans ce cas, le réglage peut s'égarer car il ne reconnaît pas les différences entre les modèles.
- Si le biais dépend des hyper-paramètres, vous avez de gros ennuis.
Si vous êtes intéressé par un exemple et que vous pouvez lire l'allemand, je pourrais mettre ma thèse Diplom en ligne.
D'après mon expérience, le réglage des hyperparamètres est une idée extrêmement efficace pour sur-ajuster ...
Maintenant, si vous réalisez que vous êtes en sur-ajustement, vous avez principalement deux options:
- signalent que l'optimisation a rencontré un problème de sur-ajustement, mais que vous avez effectué une validation externe appropriée qui a abouti à ... (résultats de validation croisée externe).
- restreindre la complexité du modèle. Une façon de procéder consiste à corriger les hyper-paramètres:
Au lieu de régler les hyper-paramètres de chaque ensemble d'entraînement, vous pouvez pré-spécifier des (hyper) paramètres (c'est-à-dire les fixer au préalable). Je fais cela autant que possible pour mes modèles car j'ai généralement encore moins de cas que vous, voir ci-dessous.
Cependant, cette fixation doit être réellement et honnêtement effectuée à l'avance: par exemple, j'ai demandé à un collègue ses paramètres optimisés sur un ensemble de données similaire (expérience indépendante) ou faire une pré-expérience, y compris une recherche de grille sur les paramètres. Cette première expérience est ensuite utilisée pour fixer certains paramètres expérimentaux ainsi que des paramètres de modèle pour l'expérience réelle et l'analyse des données. Voir ci-dessous pour plus d'explications.
Bien sûr, il est possible de faire des tests appropriés sur des modèles optimisés automatiquement (validation double ou imbriquée), mais la taille de votre échantillon peut ne pas permettre de diviser les données deux fois .
Dans cette situation, il est beaucoup mieux à mon humble avis de rapporter une estimation honnête pour un modèle qui a été construit en utilisant une expérience professionnelle sur la façon de choisir les paramètres de modélisation que de rapporter une estimation trop optimiste sur une sorte de modèle optimisé automatiquement.
Un autre point de vue sur la situation est que vous devez faire un compromis
- performances médiocres en raison de la mise de côté d'un autre groupe de cas pour l'optimisation des paramètres (taille de l'échantillon de formation plus petite => modèle pire, mais paramètres "optimaux")
- performances médiocres en raison de la fixation sous-optimale des paramètres par l'expert (mais sur des données d'entraînement plus importantes).
Quelques réflexions similaires sur une question similaire: /stats//a/27761/4598
Sur la fixation des paramètres et les commentaires de Dikran Marsupial
J'utilise le terme hyper-paramètres comme Dikran Marsupial l'utilise dans son article (lien dans sa réponse)
Je travaille avec des données spectroscopiques. Il s'agit d'une sorte de mesure où l'analyse et la modélisation des données comprennent souvent un peu de prétraitement. Cela peut être considéré comme des hyper-paramètres (par exemple, quel ordre de polynôme doit être utilisé pour la ligne de base? Quels canaux de mesure doivent être inclus?). Il y a d'autres décisions qui sont plus proches de vos paramètres svm, par exemple combien de composants principaux utiliser si une PCA est effectuée pour la réduction de dimensionnalité avant que le "vrai" modèle ne soit formé? Et parfois, j'utilise également la classification SVM, donc je dois décider des paramètres SVM.
Maintenant, à mon humble avis, la meilleure façon de corriger les hyper-paramètres est si vous avez des raisons qui proviennent de l'application. Par exemple, je décide généralement du type de base à utiliser pour des raisons physiques / chimiques / biologiques (c'est-à-dire des connaissances sur l'échantillon et le comportement spectroscopique qui en découle). Cependant, je ne suis pas au courant d'une telle argumentation qui aide avec les paramètres SVM ...
Le cas des pré-expériences que j'ai mentionné ci-dessus se présente comme suit:
- nous prenons les données d'un groupe de cellules (voulons distinguer différentes lignées cellulaires).
Les spectres sont analysés, la validation croisée itérative SVM est exécutée (passée une nuit ou deux sur le serveur de calcul).
- γC
- J'observe également un certain surajustement: la validation croisée externe n'est pas aussi bonne que les résultats de réglage. C'est comme prévu.
- Pourtant, il existe des différences de performances sur la plage de réglage des hyper-paramètres, et les performances sur la grille de réglage semblent relativement lisses. Bien.
Ma conclusion est la suivante: bien que je ne puisse pas être sûr que les hyper-paramètres finaux soient optimaux, la validation croisée externe me donne une estimation correcte des performances des modèles de substitution.
Au cours de la partie expérimentale, nous avons décidé de certains changements dans la configuration expérimentale (des choses qui n'affectent pas le signal au bruit des données, mais qui vont plus loin dans l'automatisation de l'instrument)
Nous améliorons les paramètres expérimentaux et acquérons de nouveaux spectres. Comme les cellules, elles doivent être cultivées fraîchement. C'est-à-dire que le nouvel ensemble de données sont même des lots de cultures indépendants.
Maintenant, je suis confronté à la décision: dois-je "sauter" la validation croisée interne et simplement aller avec les hyper-paramètres que j'ai déterminés avec les anciennes données?
- Comme mentionné ci-dessus, je cours le risque que ces hyper-paramètres prédéterminés ne soient pas optimaux.
- Mais je ne peux pas non plus être sûr d'obtenir des hyper-paramètres vraiment optimaux en effectuant la validation croisée interne (réglage).
- Cependant, le réglage sur les anciennes données était stable.
- En faisant l'optimisation, je m'entraînerai sur moins d'échantillons: comme j'ai de toute façon trop peu d'échantillons (TM), je dois m'attendre à obtenir des modèles pires si je réserve plus d'échantillons pour une deuxième ronde de validation croisée.
Donc, dans ce cas, j'ai décidé de choisir des paramètres fixes (par expérience sur des données similaires et sachant qu'à l'avenir, nous devrons faire nos "devoirs", notamment en revérifiant ces décisions avec des données volumineuses).
Notez que l'important est que je saute l' intérieur ( validation croisée du réglage ), pas l'extérieur. Avec des hyper-paramètres fixes, j'obtiens une estimation non biaisée des performances d'un modèle éventuellement sous-optimal. Il est vrai que cette estimation est sujette à une variance élevée, mais cette variance est fondamentalement la même, que je fasse ou non le réglage interne.
En ignorant la validation croisée externe, j'obtiendrais une estimation biaisée de manière optimiste d'un modèle réglé - qui, selon l'application et les données, peut être sans valeur (si elle est beaucoup trop optimiste) et un biais optimiste peut être tout simplement inacceptable.