Comprendre Validation croisée
L’erreur d’entraînement sous-estime systématiquement l’erreur future, car le modèle a été réglé sur les observations mêmes sur lesquelles on le note. L’alternative honnête est d’évaluer sur des données retirées de l’ajustement. Une scission unique le fait, mais gaspille des données et reste bruitée : l’estimation dépend des observations qui se sont trouvées dans la portion mise de côté.
La validation croisée en k blocs résout les deux problèmes. Les données sont partitionnées en k blocs à peu près égaux. Le modèle est ajusté k fois ; à chaque tour un bloc est retenu pour la validation et les k − 1 autres servent à l’entraînement. Moyenner les k scores de validation donne l’estimation par validation croisée. Chaque observation sert exactement une fois à la validation et k − 1 fois à l’entraînement : rien n’est gaspillé.
Le choix de k comporte son propre compromis. Avec k égal au nombre d’observations, ce qu’on appelle la validation croisée « leave-one-out », chaque modèle est ajusté sur presque tout le jeu de données, si bien que l’estimation a un faible biais, mais les k modèles ajustés sont fortement corrélés entre eux, ce qui gonfle la variance de la moyenne, et le coût de calcul est élevé. Un k plus petit réduit à la fois la corrélation et le coût au prix d’un peu de biais. Les valeurs 5 et 10 sont le compromis conventionnel.
L’erreur pratique la plus fréquente est la fuite. Si la mise à l’échelle, la sélection de variables ou l’imputation sont ajustées sur l’ensemble complet avant la scission, l’information du bloc de validation a déjà influencé le modèle, et le score obtenu est optimiste. Chaque étape dépendant des données doit être réajustée à l’intérieur de chaque bloc d’entraînement.
Comment calculer
CV(k) = (1/k) Σᵢ₌₁ᵏ Errᵢ
où
- k
- le nombre de blocs
- Errᵢ
- l’erreur mesurée sur le bloc i, par un modèle entraîné sur les k − 1 autres
- CV(k)
- l’estimation par validation croisée de l’erreur de test
Exemple : Validation croisée
Avec 100 observations et k = 5, les données sont divisées en cinq blocs de 20. Le modèle est ajusté cinq fois, chaque fois sur 80 observations et noté sur les 20 restantes, et les cinq scores sont moyennés.
La procédure est surtout précieuse pour choisir des hyperparamètres. Pour sélectionner une force de régularisation, exécutez toute la procédure en cinq blocs une fois par valeur candidate et retenez celle au meilleur score moyen. Comme chaque candidate est évaluée sur des données sur lesquelles elle n’a pas été ajustée, la comparaison est équitable d’une manière que l’erreur d’entraînement ne pourrait jamais offrir.
Un raffinement utile est la règle de l’écart type : plutôt que de prendre le meilleur score moyen, choisissez le modèle le plus simple dont le score se situe à moins d’un écart type du meilleur. Des différences plus petites que le bruit de l’estimation ne sont pas de véritables preuves, et le modèle plus simple porte généralement moins de variance.
Avantages et inconvénients
Avantages
- Utilise chaque observation à la fois pour l’entraînement et la validation, ce qui compte surtout quand les données sont rares.
- Produit une estimation bien plus stable qu’une scission unique entraînement/test.
- Fournit une dispersion entre blocs, indiquant à quel point l’estimation elle-même est incertaine.
Inconvénients
- Coûte k ajustements de modèle au lieu d’un, ce qui peut être prohibitif pour de grands modèles.
- Suppose des observations échangeables : le k-fold simple est donc inadapté aux séries temporelles ou aux données groupées.
- Facile à invalider par une fuite si le prétraitement est fait hors de la boucle des blocs.
Questions fréquentes
Pourquoi recommander k = 5 ou k = 10 plutôt que le leave-one-out ?
Le leave-one-out ajuste sur presque toutes les données, si bien que son estimation a un faible biais, mais les modèles ajustés sont presque identiques entre eux, ce qui rend l’estimation moyennée à forte variance, et il exige autant d’ajustements qu’il y a d’observations. Les valeurs 5 et 10 se sont empiriquement révélées ne souffrir ni d’un biais excessif ni d’une variance excessive.
La validation croisée peut-elle s’appliquer aux séries temporelles ?
Pas sous sa forme standard. Des blocs aléatoires entraîneraient sur le futur pour prédire le passé. Les séries temporelles exigent des schémas de chaînage avant, où la période de validation suit toujours la période d’entraînement.
Après validation croisée, lequel des k modèles faut-il déployer ?
Aucun d’eux individuellement. La validation croisée est une procédure d’estimation de l’erreur et de choix des réglages. Une fois les réglages choisis, le modèle final est réajusté sur l’ensemble des données.
En résumé
La validation croisée achète une estimation fiable de la performance hors échantillon au prix d’ajustements répétés. C’est l’outil standard de sélection de modèle précisément parce qu’elle ne note jamais un modèle sur des données sur lesquelles il a été ajusté, pourvu que chaque étape dépendant des données reste à l’intérieur du bloc.