Aller au contenu
Kudos AI
Read in English
Fondements de l’apprentissage statistique

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.

7 min de lectureKudos AI

Prérequis : Le compromis biais-variance

Cinq points ajustés une fois avec l’erreur d’entraînement relevée, puis chaque point retiré à tour de rôle tandis que la droite se réajuste sans lui, et les cinq écarts moyennés en une estimation trois fois plus grande.

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 :

  1. 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.
  2. 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 nn observations, on met de côté une seule observation (xi,yi)(x_i, y_i), on ajuste sur les n−1n-1 restantes et on prédit celle qui a été retirée. On répète pour chaque ii, puis on moyenne :

CV(n)=1n∑i=1nMSEi,MSEi=(yi−y^i)2.\mathrm{CV}_{(n)} = \frac{1}{n}\sum_{i=1}^{n} \mathrm{MSE}_i , \qquad \mathrm{MSE}_i = (y_i - \hat y_i)^2 .

Chaque ajustement utilise n−1n-1 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 :

iixix_iyiy_i
112
224
335
444
555

L’ajustement d’une régression linéaire simple sur les cinq points donne y^=2.2+0.6x\hat y = 2.2 + 0.6x - 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 :

PliOmisPrédiction y^i\hat y_iRéel yiy_i(yi−y^i)2(y_i - \hat y_i)^2
1(1,2)(1, 2)4.000024.0000
2(2,4)(2, 4)3.142940.7347
3(3,5)(3, 5)3.750051.5625
4(4,4)(4, 4)4.857140.7347
5(5,5)(5, 5)5.500050.2500
CV(5)=4.0000+0.7347+1.5625+0.7347+0.25005=7.28195=1.4564.\mathrm{CV}_{(5)} = \frac{4.0000 + 0.7347 + 1.5625 + 0.7347 + 0.2500}{5} = \frac{7.2819}{5} = 1.4564 .

Comparez avec l’EQM d’entraînement de l’ajustement complet, qui vaut RSS/n=2.4/5=0.48\mathrm{RSS}/n = 2.4/5 = 0.48. L’estimation honnête, 1.45641.4564, est trois fois plus grande. Cet écart est exactement l’optimisme évoqué en ouverture.

Remarquez aussi le pli 1 : retirer (1,2)(1,2) - 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.

Python

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.

2345612345x2.0014.000020.734731.562540.734750.2500VC 1.4564entr. 0.48
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 nn ajustements, coûteux lorsque nn est grand ou que l’ajustement est lent. La validation croisée en k blocs répartit les observations en kk groupes de taille à peu près égale, met chaque groupe de côté à son tour, et moyenne :

CV(k)=1k∑j=1kMSEj.\mathrm{CV}_{(k)} = \frac{1}{k}\sum_{j=1}^{k} \mathrm{MSE}_j .

La LOOCV est le cas particulier k=nk = n. Prendre k=5k = 5 ou k=10k = 10 ne demande que 5 ou 10 ajustements au lieu de nn.

F. Pourquoi k=5 ou k=10, et non k=n

La lecture évidente est qu’un kk 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 kk. Chaque ajustement LOOCV utilise n−1n-1 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 kk modéré. En LOOCV, les nn 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 k=5k = 5 ou 1010, 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., k=5k = 5 et k=10k = 10 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 nn retraits d’un point : aucun aléa de scission, peu de biais. Sur notre jeu de cinq points elle a donné 1.45641.4564 contre une EQM d’entraînement de 0.480.48.
  • Le k-fold avec k=5k = 5 ou 1010 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 y^=2.2+0.6x\hat y = 2.2 + 0.6x.

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.

Lecture associée

4 min de lectureTime Series

Un score qui perd contre ne rien faire

Un modèle des cinq plus proches voisins obtient 0,9983 en validation croisée aléatoire à cinq blocs sur une marche aléatoire, série dont les incréments sont par construction imprévisibles. Évalué en avançant dans le temps il obtient 0,6559, avec une RMSE 12,44 fois plus grande, et il perd contre la simple reconduction de la dernière valeur observée. C’est la découpe, non le modèle, qui a produit le premier nombre.

StatistiqueApprentissage automatique
7 min de lectureFondements de l’apprentissage statistique

Le compromis biais-variance

La décomposition exacte de l’erreur de test espérée en biais au carré, variance et bruit irréductible, démontrée numériquement par une simulation de 2 000 tirages où les trois termes sont mesurés séparément et vérifiés comme s’additionnant.

StatistiqueApprentissage automatiqueMathématiques
6 min de lectureApprentissage non supervisé

La direction qui change quand vous changez d’unité

Douze personnes, deux mesures, et trois premières composantes principales différentes : en millimètres la réponse est presque uniquement la taille, en mètres presque uniquement le poids, et en centimètres un mélange équilibré - la corrélation restant fixée à 0,9500 dans les trois cas. Ce que cela dit de ce que l’ACP maximise, pourquoi une proportion de variance expliquée de 99,999 % peut être un énoncé sur les mètres plutôt que sur les personnes, et ce que la standardisation choisit réellement.

Apprentissage automatiqueStatistique
← Retour à tous les articles