CrossValidated contient de nombreuses discussions sur la sélection de modèles et la validation croisée. Voici quelques-uns:
- Validation croisée interne et externe et sélection du modèle
- La réponse de @ DikranMarsupial à la sélection des fonctionnalités et à la validation croisée
Cependant, les réponses à ces discussions sont assez génériques et soulignent principalement les problèmes liés aux approches particulières en matière de validation croisée et de sélection de modèle.
Pour rendre les choses aussi concrètes que possible , disons par exemple que nous travaillons avec un SVM avec un noyau RBF: , et que J'ai un jeu de données d'entités X et d'étiquettes y , et que je veux
- Trouver les meilleures valeurs possibles de mon modèle ( et )
- Former le SVM avec mon jeu de données (pour le déploiement final)
- Estimer l'erreur de généralisation et l'incertitude (variance) autour de cette erreur
Pour ce faire, je voudrais personnellement faire une recherche sur la grille, par exemple, j'essaie toutes les combinaisons possibles de et . Pour simplifier, on peut supposer les plages suivantes:
Plus précisément, en utilisant mon ensemble de données complet, je procède comme suit:
- Pour chaque paire ( , ), j'effectue des itérations répétées (par exemple 100 répétitions aléatoires) de validation croisée de pli (par exemple ) sur mon jeu de données, c'est-à-dire que je forme mon SVM sur plis de et évalue la erreur sur le pli gauche, itérant à travers tous les plis. Globalement, je collecte 100 x 10 = 1000 erreurs de test.
- Pour chacune de ces paires ( , ), je calcule la moyenne et la variance de ces 1000 erreurs de test .
Maintenant, je veux choisir le meilleur modèle (les meilleurs paramètres de noyau) que je voudrais utiliser pour former mon SVM final sur l'ensemble de données. D'après ce que je comprends, choisir le modèle qui présente la moyenne d'erreur la plus faible et la variance et serait le bon choix, et que les are ce modèle sont mes meilleures estimations du biais d'erreur et de la variance de généralisation du modèle lors de la formation avec l'ensemble de données complet.
MAIS, après avoir lu les réponses dans les discussions ci-dessus, j’ai l’impression que cette méthode pour choisir le meilleur SVM pour le déploiement et / ou pour estimer son erreur (performances de généralisation) est imparfaite et qu’il existe de meilleurs moyens de choisir le SVM. meilleur SVM et signaler son erreur. Si c'est vrai, que sont-ils? Je cherche une réponse concrète s'il vous plaît.
En ce qui concerne ce problème, comment puis-je choisir le meilleur modèle et évaluer correctement son erreur de généralisation ?