Validation croisée imbriquée contre le surajustement

Dec 04 2022
Dans les tâches d'apprentissage automatique, nous vérifions nos modèles avec un ensemble de validation afin qu'ils ne soient pas trop ajustés. En fait, nous utilisons l'approche de validation croisée pour nous assurer que cet ensemble de validation est en constante évolution, afin de ne pas choisir le meilleur modèle en surajustant indirectement un ensemble de validation fixe.

Dans les tâches d'apprentissage automatique, nous vérifions nos modèles avec un ensemble de validation afin qu'ils ne soient pas trop ajustés. En fait, nous utilisons l'approche de validation croisée pour nous assurer que cet ensemble de validation est en constante évolution, afin de ne pas choisir le meilleur modèle en surajustant indirectement un ensemble de validation fixe. Mais même si nous utilisons la validation croisée, notre modèle est susceptible de nous surprendre compte tenu de données de test supplémentaires inédites. En fait, certaines des techniques populaires que nous utilisons permettent à notre modèle de prendre certaines décisions en sur-ajustant l'ensemble de validation.

Les plus populaires sont :

  • Optimisation des hyperparamètres
  • Sélection de fonctionnalité
  • Arrêt anticipé

Lorsque vous essayez de trouver un paramètre ou un ensemble de fonctionnalités optimal pour votre modèle avec les données fournies à l'aide de K-Fold ou de tout schéma de validation croisée, vous fournissez indirectement les caractéristiques de l'ensemble de données à votre modèle. Ainsi, votre modèle est convergé vers un hyper-paramètre ou un ensemble de fonctionnalités qui fonctionnera bien dans l'ensemble de l'ensemble de données. Il fonctionnerait probablement mal dans un scénario de données invisible.

Cas d'arrêt anticipé

Lors de la formation de votre modèle avec la validation croisée, vous terminez la formation de votre modèle plus tôt en examinant l'ensemble de validation. En fait, votre modèle sur-adapte indirectement la division de validation. Ce schéma ne vous permet pas non plus de simuler le scénario de données invisibles.

Validation croisée imbriquée

Avec la validation croisée imbriquée, vous pourrez à nouveau exécuter les deux applications que j'ai mentionnées ci-dessus en utilisant un schéma de validation croisée, et vous apprendrez également les performances de votre modèle sur des données invisibles.

Validation croisée standard

Normalement, lorsque vous essayez d'entraîner votre modèle à l'aide d'un schéma de validation croisée, vous devez utiliser une boucle standard comme celle ci-dessous :

Mais ce schéma a les faiblesses que j'ai mentionnées ci-dessus.

Variante imbriquée

Source de l'image : https://www.baeldung.com/cs/k-fold-cross-validation

Passons en revue la mise en œuvre :

  • Tout d'abord, nous implémentons le premier CV, que nous appelons CV externe. C'est la même approche CV que nous avons utilisée auparavant.
  • Ensuite, nous divisons à nouveau la partie train de ce CV avec un autre CV. On peut aussi l'appeler CV intérieur. Ici, nous avons en fait isolé la division de validation de notre CV externe du diagramme de CV interne.
  • Désormais, les données de validation de notre CV externe peuvent être comptées comme des données invisibles pour toutes les opérations que nous effectuons sur le CV interne . Parce qu'il n'y a aucune possibilité de voir ces données dans un pli CV intérieur.

C'est exactement la même approche que j'ai décrite ci-dessus. Les modèles sont formés avec le CV interne. Leurs prédictions pour les fractionnements de validation du CV externe de validation sont également collectées. Vous pouvez également obtenir un score en faisant la moyenne des scores de ces prédictions de fractionnement de validation de CV externe, ou vous pouvez les combiner avec l'approche OOF pour créer un vecteur de prédiction de toutes les données dont vous disposez.

Conclusion

Il est dans votre intérêt d'utiliser cette approche de validation croisée pour tout problème où vous souhaitez simuler autant que possible les performances sur des données invisibles. Parce que chaque approche naïve qui inclut le réglage ou l'arrêt précoce entraîne un biais des performances de votre modèle par rapport aux données que vous utilisez.