La validation croisée et le rééchantillonnage
Pourquoi l’erreur d’entraînement est une estimation biaisée de l’erreur de test, et comment l’ensemble de validation, le leave-one-out et le k-fold y remédient, avec une LOOCV à cinq observations calculée point par point.
Prérequis : Le compromis biais-variance
Le compromis biais-variance s’achevait sur un tableau de diagnostic comparant erreur d’entraînement et erreur de test. Cette comparaison suppose que vous disposez d’une erreur de test. Ce n’est généralement pas le cas : chaque observation que vous possédez a déjà été dépensée pour l’ajustement. Les méthodes de rééchantillonnage résolvent cela en réajustant le modèle à des sous-ensembles des données, et en utilisant les parts mises de côté pour estimer la performance sur des données que le modèle n’a pas vues.
A. Pourquoi l’erreur d’entraînement n’estime pas l’erreur de test
L’erreur d’entraînement est mesurée sur les observations mêmes qui ont servi à choisir les paramètres : le processus d’ajustement s’est donc déjà adapté au bruit que ces points portent. Elle est par conséquent biaisée vers le bas comme estimation de la performance sur données nouvelles, et le biais croît avec la souplesse du modèle.
Ce n’est pas une petite correction négligeable. C’est précisément la quantité qui faisait paraître le polynôme de degré 15 comme le meilleur dans les articles précédents alors qu’il était le pire des trois. Une procédure de sélection guidée par l’erreur d’entraînement choisira immanquablement le candidat le plus souple disponible.
B. L’approche par ensemble de validation
Le remède le plus simple : scinder au hasard les observations en un ensemble d’entraînement et un ensemble de validation, ajuster sur le premier et mesurer l’erreur sur le second. Comme les observations de validation n’ont joué aucun rôle dans l’ajustement, l’erreur obtenue est une estimation honnête.
Elle présente deux inconvénients bien connus :
- L’estimation est très variable. Elle dépend des observations qui se sont trouvées dans l’ensemble de validation. Une autre scission donne un nombre sensiblement différent.
- Elle gaspille des données. Seul un sous-ensemble sert à l’ajustement, et les méthodes statistiques font en général moins bien avec moins d’observations : l’erreur de validation tend donc à surestimer l’erreur du modèle que vous ajusteriez sur le jeu complet.
C. La validation croisée « leave-one-out »
La LOOCV répond aux deux. Avec observations, on met de côté une seule observation , on ajuste sur les restantes et on prédit celle qui a été retirée. On répète pour chaque , puis on moyenne :
Chaque ajustement utilise observations : le biais vers le haut est bien moindre qu’avec un ensemble d’entraînement de taille moitié, et comme on moyenne sur tous les retraits d’un point possibles, la scission ne comporte aucun aléa - exécutez deux fois, vous obtenez le même résultat.
D. LOOCV entièrement déroulée
Le jeu de données est assez petit pour faire chaque pli explicitement. Cinq observations, un prédicteur :
| 1 | 1 | 2 |
| 2 | 2 | 4 |
| 3 | 3 | 5 |
| 4 | 4 | 4 |
| 5 | 5 | 5 |
L’ajustement d’une régression linéaire simple sur les cinq points donne - l’ajustement dérivé pas à pas dans La régression linéaire à partir des premiers principes. La LOOCV le réajuste cinq fois, en omettant chaque fois une ligne :
| Pli | Omis | Prédiction | Réel | |
|---|---|---|---|---|
| 1 | 4.0000 | 2 | 4.0000 | |
| 2 | 3.1429 | 4 | 0.7347 | |
| 3 | 3.7500 | 5 | 1.5625 | |
| 4 | 4.8571 | 4 | 0.7347 | |
| 5 | 5.5000 | 5 | 0.2500 |
Comparez avec l’EQM d’entraînement de l’ajustement complet, qui vaut . L’estimation honnête, , est trois fois plus grande. Cet écart est exactement l’optimisme évoqué en ouverture.
Remarquez aussi le pli 1 : retirer - le point le plus bas sous la droite - laisse les quatre autres tirer l’ajustement vers le haut, et la prédiction se trompe de 2,0, soit une erreur au carré de 4,0, plus de la moitié du total. Avec seulement cinq observations, un point influent domine. C’est une propriété authentique de l’estimation, non un défaut de la méthode.
S'exécute dans votre navigateur. La première exécution télécharge l'environnement Python (~10 Mo), puis il est mis en cache.
Son exécution reproduit le tableau ligne par ligne et affiche
LOOCV MSE: 1.4564, ce qui confirme le calcul à la main.
Interactif : en laisser un de côté, cinq fois
Chaque pli réajuste la droite sans un des points.
- Point mis de côté
- (1, 2)
- Droite réajustée
- ŷ = 3.80 + 0.20x
- Prédiction
- 4.0000
- Erreur quadratique
- 4.0000
- Estimation LOOCV CV(5)
- 1.4564
- EQM d’entraînement
- 0.48
Le pli 1 met de côté (1, 2). Les quatre autres points réajustent la droite en ŷ = 3.80 + 0.20x, qui prédit 4.0000 là où la vraie valeur est 2 : un écart de 2.0000 et une erreur quadratique de 4.0000, soit 54.9 % du total des cinq plis. Retirer le point le plus en dessous de la droite laisse les quatre autres tirer l’ajustement vers le haut : ce seul pli porte plus de la moitié de l’estimation. Avec cinq observations, un point influent domine.
E. La validation croisée en k blocs
La LOOCV exige ajustements, coûteux lorsque est grand ou que l’ajustement est lent. La validation croisée en k blocs répartit les observations en groupes de taille à peu près égale, met chaque groupe de côté à son tour, et moyenne :
La LOOCV est le cas particulier . Prendre ou ne demande que 5 ou 10 ajustements au lieu de .
F. Pourquoi k=5 ou k=10, et non k=n
La lecture évidente est qu’un plus petit n’est qu’un compromis de calcul. Ce n’est pas le cas - il y a un compromis biais-variance dans l’estimation elle-même.
Le biais favorise un grand . Chaque ajustement LOOCV utilise observations, presque tout le jeu, et surestime donc à peine l’erreur. Les ajustements en 5 blocs n’utilisent que 80 % des données, ils surestiment donc un peu plus.
La variance favorise un modéré. En LOOCV, les modèles ajustés sont entraînés sur des données presque identiques - deux d’entre eux ne diffèrent que par deux observations - si bien que leurs erreurs sont fortement corrélées positivement. Moyenner des quantités fortement corrélées réduit bien moins la variance que moyenner des quantités faiblement corrélées. Avec ou , les ensembles d’entraînement se recouvrent moins, les erreurs sont moins corrélées et la moyenne est plus stable.
Suivant James et al., et se sont empiriquement montrés capables de fournir des estimations de l’erreur de test qui ne souffrent ni d’un biais excessif ni d’une très forte variance. C’est la raison de la convention, et c’est un constat empirique plutôt qu’un théorème.
G. Deux façons de se tromper
Sélectionner les variables avant de valider de façon croisée. Si vous filtrez les prédicteurs sur l’ensemble du jeu de données puis validez de façon croisée le modèle bâti sur les survivants, les plis mis de côté ont déjà influencé le choix des variables. L’estimation sera optimiste, parfois spectaculairement. Toute décision dépendant des données doit se prendre à l’intérieur de la boucle.
Valider de façon croisée des observations dépendantes par une scission aléatoire. La méthode suppose que les observations mises de côté sont indépendantes de celles d’entraînement. Avec des séries temporelles, des mesures répétées sur le même sujet ou des données groupées, une scission aléatoire fait fuiter de l’information à travers la frontière. Utilisez une scission qui respecte la structure - chaînage avant pour le temps, plis groupés pour les grappes.
Pour la classification, tout ce qui précède se transpose en remplaçant la mesure d’erreur quadratique par le taux de mauvaise classification ; la logique des plis est identique.
À retenir
- L’erreur d’entraînement est biaisée vers le bas comme estimation de l’erreur de test, et empire avec la souplesse : elle ne peut pas servir à sélectionner les modèles.
- Une scission de validation est honnête mais à forte variance et gaspille des données.
- La LOOCV moyenne retraits d’un point : aucun aléa de scission, peu de biais. Sur notre jeu de cinq points elle a donné contre une EQM d’entraînement de .
- Le k-fold avec ou est le compromis standard - moins coûteux que la LOOCV et empiriquement meilleur, car des ajustements moins corrélés se moyennent plus efficacement.
- Toute décision dépendant des données doit se situer à l’intérieur de la boucle de rééchantillonnage, et la structure des plis doit respecter la dépendance présente dans les données.
La suite
Nous avons utilisé trois fois un ajustement linéaire comme fil rouge sans jamais le dériver. C’est la lacune à combler : La régression linéaire à partir des premiers principes construit l’estimateur des moindres carrés depuis le début et montre d’où vient .
Références et lectures complémentaires
- Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani, An Introduction to Statistical Learning, with Applications in R, Springer (Springer Texts in Statistics 103), 2013source ↗
Les œuvres protégées par le droit d’auteur sont citées à titre de référence uniquement et ne sont pas hébergées ici ; veuillez consulter l’éditeur pour y accéder.