Une régression / classificateur linéaire peut absolument être surajustée si elle est utilisée sans soins appropriés.
Voici un petit exemple. Créons deux vecteurs, le premier est simplement flips aléatoires:5000
set.seed(154)
N <- 5000
y <- rbinom(N, 1, .5)
Le deuxième vecteur est de observations, chacune assignée au hasard à l'une des 500 classes aléatoires:5000500
N.classes <- 500
rand.class <- factor(sample(1:N.classes, N, replace=TRUE))
Il ne devrait pas y avoir de relation entre nos flips y
et nos classes aléatoires rand.class
, elles ont été déterminées de manière totalement indépendante.
Pourtant, si nous essayons de prédire le retournement aléatoire avec la classe aléatoire en utilisant la régression logistique (un classifieur linéaire), il pense certainement qu'il existe une relation
M <- glm(y ~ rand.class, family="binomial")
hist(coef(M), breaks=50)
La vraie valeur de chacun de ces coefficients est nulle. Mais comme vous pouvez le voir, nous avons une large diffusion. Ce classificateur linéaire est à coup sûr surajusté.
- 1515y == 1
y == 0
15
le «sur-ajustement» ne semble pas être formellement défini. Pourquoi donc?
Le surajustement peut être mieux compris dans le contexte d'une classe de modèles qui a un certain paramètre de complexité. Dans ce cas, un modèle pourrait être considéré comme surajusté lorsque la diminution de la complexité se traduit par de meilleures performances hors échantillon attendues.
Il serait très difficile de définir précisément le concept d'une manière indépendante du modèle. Un modèle unique est juste en forme, vous avez besoin de quelque chose pour le comparer pour qu'il soit plus ou moins en forme. Dans mon exemple ci-dessus, cette comparaison était avec la vérité, mais vous ne connaissez généralement pas la vérité, d'où le modèle!
Une mesure de la distance entre la formation et les performances de l'ensemble de test ne permettrait-elle pas une telle formalisation?
Il existe un tel concept, cela s'appelle l'optimisme. Il est défini par:
ω = Etester- Etrain
E
Cela ne permet pas de comprendre l'essence du sur-ajustement, car les performances sur un ensemble de test peuvent être un peu pires que celles du train, même si un modèle de complexité plus élevée diminue les deux .