Sur-ajustement avec des classificateurs linéaires

10

Aujourd'hui, notre professeur a déclaré en classe qu '"il n'est pas possible de sur-équiper les classificateurs linéaires". Je pense que c'est faux, car même les classificateurs linéaires peuvent être sensibles aux valeurs aberrantes dans l'ensemble de formation - prenez par exemple une machine à vecteur de support à marge dure: un seul point de données bruyant peut modifier l'hyperplan qui sera utilisé pour séparer les jeux de données. Ou ai-je tort? De toute évidence, la linéarité empêchera probablement plutôt le sur-ajustement en raison de la complexité plus faible du modèle, mais je ne vois toujours pas pourquoi le sur-ajustement devrait être impossible. Un autre point est que lorsque j'ai essayé de réfléchir à ce problème, j'ai réalisé que le «sur-ajustement» ne semblait pas être défini formellement. Pourquoi donc? Une mesure de la distance entre la formation et les performances de l'ensemble de test ne permettrait-elle pas une telle formalisation? Merci

Pugl
la source
4
Pourquoi dites-vous un classificateur linéaire? La plupart des modèles linéaires sont destinés à la prédiction et non à la classification. Et vous avez raison - les modèles linéaires peuvent être très enclins au sur-ajustement. Pas autant que les méthodes d'apprentissage automatique, mais le sur-ajustement peut toujours être un problème.
Frank Harrell
5
Il est très facile d'équiper le classificateur linéaire. Ajustez simplement le modèle à un ensemble de données (bruyant, réel) et n'utilisez aucune régularisation.
Vladislavs Dovgalecs
2
Méfiez-vous de la classification - généralement pas besoin de viser aussi bas.
Frank Harrell
2
@FrankHarrell ... et pourquoi?
Pugl
1
Oui, si était à l'origine binaire. Si Y était à l'origine continue, la classification est encore plus problématique. YY
Frank Harrell

Réponses:

12

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 yet 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)

entrez la description de l'image ici

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 == 1y == 015

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:

ω=EtestEtrain

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 .

Matthew Drury
la source
wow, quelle bonne réponse, merci beaucoup. une question: les SVM linéaires sont-ils moins sujets au sur-ajustement que par exemple le log. régression que vous avez mentionnée (en raison des différentes façons d'optimiser la frontière de décision linéaire)?
Pugl
1
Je dois admettre que je ne suis pas un expert des SVM et que je manque d'expérience pratique dans leur utilisation. Je ne veux pas vraiment m'aventurer une réponse et risquer de me tromper. Si vous pouvez le formuler avec précision, cela vaut probablement la peine de lui-même.
Matthew Drury
Les SVM sont régularisés, et donc moins enclins à sur-équiper. Afin de réaliser que vous n'avez qu'à regarder la fonction que vous minimisez: elle inclut soit la norme l1 soit la norme l2 des poids, les rétrécissant dans l'optimisation et donc préférant les modèles "simples" aux modèles "complexes". Le paramètre contrôlant ceci est le paramètre hyper C. Dans le cas limite (C = infini), le SVM s'adapte "parfaitement" à l'ensemble d'entraînement et donc il est probablement surajusté (notez que je l'ai dit probablement, vous avez besoin d'un ensemble de test pour être sûr!). Notez également que j'ai utilisé beaucoup de citations, mais cela peut être correctement défini.
skd
2

Dans les années 70, des expériences avec des algorithmes de reconnaissance de formes sur de grands ensembles de données ont révélé que l'ajout de fonctionnalités supplémentaires augmentait dans certains cas les taux d'erreur de l'ensemble de tests. Ceci est contre-intuitif car on peut s'attendre à ce que l'ajout d'une fonctionnalité supplémentaire augmente toujours les performances du classificateur, ou dans le cas où la fonctionnalité ajoutée est du «bruit blanc», son ajout n'influence pas du tout les performances du classificateur. L'effet de l'ajout de fonctionnalités supplémentaires à un classificateur, conduisant finalement à une diminution des performances de l'ensemble de test, est devenu connu sous le nom de phénomène de pointe [1].

Le pic des fonctionnalités est causé par une généralisation excessive pendant l'apprentissage. Les fonctionnalités supplémentaires entraînent l'inclusion de tant de paramètres supplémentaires que le classificateur commence à surcharger les données. Par conséquent, le point culminant est passé.

En général, nous faisons face à un compromis biais-variance lors de la formation des classificateurs. Plus nous utilisons de variables de caractéristiques, mieux le mécanisme de classificateur sous-jacent ( inconnu ) sera éventuellement modélisé par notre classificateur. Par conséquent, l'écart systématique entre le modèle ajusté et la «vérité» diminuera, c'est-à-dire un biais plus petit. D'un autre côté, augmenter l'espace des fonctionnalités du classificateur implique nécessairement l'ajout de paramètres (ceux qui correspondent aux fonctionnalités ajoutées). Ainsi, la variance du classificateur ajusté augmente également.

Ainsi, le classificateur dépassant le point de crête n'est qu'une réalisation stochastique d'un problème de classification de grande dimension, et un nouvel ajustement se traduira par un vecteur de paramètres très différent. Ce fait reflète la variance accrue.

[1. GV Trunk, «A Problem of Dimensionality: A Simple Example», dans IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. PAMI-1, non. 3, pp. 306-307, juillet 1979]

Match Maker EE
la source
1

Je pense que le sur-ajustement fait référence à la complexité du modèle plutôt qu'à la capacité de généralisation. Je comprends la citation "un classificateur linéaire ne peut pas être sur-ajusté" car sa complexité est faible, et il n'y a pas d'autre classificateur plus simple offrant de meilleures performances.

L'exemple est lié à la capacité de généralisation des classificateurs linéaires (et complexes). Même dans cette deuxième partie, les classificateurs linéaires fournissent généralement moins de variance que les classificateurs complexes, donc la valeur de «sur-ajustement» pour les classificateurs linéaires, suivant ce concept, est également plus petite (bien que le risque empirique d'entre eux puisse être si grand). atb

pepe Catro
la source
0

Comme l'a dit @ match-maker-ee, les classificateurs linéaires peuvent sur-s'adapter en fonction des fonctionnalités d'entrée.

Le modèle f suivant est linéaire dans ses paramètres a , b et c , mais peut être ajusté à une courbe quadratique dans l'espace caractéristique de x :

f(x)=ax2+bx+c

Les SVM peuvent également sur-s'adapter, par exemple lorsqu'ils utilisent l'astuce du noyau, bien qu'il s'agisse essentiellement d'un modèle linéaire dans un espace de fonctionnalités augmenté.

apathique
la source