Je sais que pour accéder aux performances du classificateur, je dois diviser les données en ensemble de formation / test. Mais en lisant ceci :
Lors de l'évaluation de différents paramètres («hyperparamètres») pour les estimateurs, tels que le paramètre C qui doit être défini manuellement pour un SVM, il existe toujours un risque de sur-ajustement sur l'ensemble de test car les paramètres peuvent être modifiés jusqu'à ce que l'estimateur fonctionne de manière optimale. De cette façon, les connaissances sur l'ensemble de tests peuvent «s'infiltrer» dans le modèle et les mesures d'évaluation ne rendent plus compte des performances de généralisation. Pour résoudre ce problème, une autre partie de l'ensemble de données peut être présentée comme un soi-disant «ensemble de validation»: la formation se poursuit sur l'ensemble d'apprentissage, après quoi l'évaluation est effectuée sur l'ensemble de validation, et lorsque l'expérience semble réussir , l'évaluation finale peut être effectuée sur l'ensemble de test.
Je vois qu'un autre (troisième) ensemble de validation est introduit, ce qui est justifié par un sur-ajustement de l'ensemble de test lors du réglage des hyperparamètres.
Le problème est que je ne peux pas comprendre comment ce sur-ajustement peut apparaître et ne peut donc pas comprendre la justification du troisième set.
la source
Réponses:
Même si vous entraînez des modèles exclusivement sur les données d'entraînement, vous optimisez les hyperparamètres (par exemple pour un SVM) sur la base de l'ensemble de test. En tant que tel, votre estimation des performances peut être optimiste, car vous signalez essentiellement les meilleurs résultats. Comme certains l'ont déjà mentionné sur ce site, l' optimisation est la racine de tout mal dans les statistiques .C
Les estimations de performances doivent toujours être effectuées sur des données totalement indépendantes. Si vous optimisez un aspect basé sur des données de test, vos données de test ne sont plus indépendantes et vous auriez besoin d'un ensemble de validation.
Une autre façon de résoudre ce problème est via la validation croisée imbriquée , qui consiste en deux procédures de validation croisée enroulées l'une autour de l'autre. La validation croisée interne est utilisée dans le réglage (pour estimer les performances d'un ensemble donné d'hyperparamètres, qui est optimisé) et la validation croisée externe estime les performances de généralisation de l'ensemble du pipeline d'apprentissage automatique (c'est-à-dire, optimisation des hyperparamètres + formation du modèle final). ).
la source
Je pense qu'il est plus facile de penser aux choses de cette façon. Il y a deux choses pour lesquelles la validation croisée est utilisée, le réglage des hyper-paramètres d'un modèle / algorithme et l' évaluation des performances d'un modèle / algorithme.
Considérez la première utilisation dans le cadre de la formation réelle de l'algorithme. Par exemple, la validation croisée pour déterminer la force de régularisation d'un GLM fait partie de l'établissement du résultat final du GLM. Cette utilisation est généralement appelée validation croisée interne . Étant donné que les (hyper) paramètres sont toujours définis, la perte de l'ensemble de réglages n'est pas une bonne mesure des performances réelles des algorithmes.
La deuxième utilisation de la validation croisée consiste à utiliser des données qui ont été exclues de l'ensemble du processus qui a produit le modèle, pour tester son pouvoir prédictif. Ce processus est appelé validation croisée externe .
Notez que la validation interne peut avoir fait partie du processus qui a produit le modèle, de sorte que dans de nombreux cas, une validation croisée interne et externe est nécessaire.
la source
Pendant la construction de modèles, vous entraînez vos modèles sur un échantillon de formation . Notez que vous pouvez entraîner différents modèles (c'est-à-dire différentes techniques comme SVM, LDA, Random Forest, ... ou la même technique avec différentes valeurs des paramètres de réglage, ou un mélange).
Parmi tous les différents modèles que vous avez formés, vous devez en choisir un et vous utilisez donc l' échantillon de validation pour trouver celui avec la plus petite erreur sur l'échantillon de test.
Pour ce modèle «final», nous devons encore estimer l'erreur et nous utilisons donc l' échantillon de test .
la source
La validation croisée ne résout pas complètement le problème de sur-ajustement dans la sélection des modèles, elle le réduit simplement. L'erreur de validation croisée dépend de l'ensemble de données que vous utilisez. Plus l'ensemble de données est petit, plus l'erreur de validation croisée est élevée.
De plus, si vous disposez de degrés de liberté élevés dans la sélection du modèle, le modèle risque de mal fonctionner, car le critère de validation croisée est sur-ajusté.
Ainsi, lorsque les données sont divisées en 2 ensembles, alias les ensembles de formation et de test, le fractionnement est effectué de manière statique. Il y a donc une chance de sur-équiper l'ensemble d'entraînement. Cependant, les ensembles de validation croisée sont créés par différentes méthodes , comme la validation croisée k-fold, la validation de sortie croisée (LOOCV), etc., ce qui permet de garantir l'élimination de la récompense d'ajustement exacte de la division en 2 ensembles et ainsi le risque de sur-ajustement est réduit.
Voici quelques ressources qui vous aideraient à mieux comprendre.
Ainsi, la validation croisée vous aiderait lorsque vous avez un ensemble de données plus grand, plutôt qu'un plus petit.
la source