Pourquoi la suralimentation est-elle mauvaise dans l'apprentissage automatique?

49

La logique dit souvent qu'en surajustant un modèle, sa capacité à généraliser est limitée, bien que cela puisse simplement signifier que l'ajustement excessif empêche un modèle de s'améliorer après une certaine complexité. La suradaptation provoque-t-elle une détérioration des modèles, quelle que soit la complexité des données, et si oui, pourquoi est-ce le cas?


Connexe: Suite à la question ci-dessus, " Quand un modèle est-il sous-équipé? "

gaffes
la source
1
Votre question est-elle réellement de savoir s'il existe un cas où il est impossible de suralimenter?
Sean Owen
@SeanOwen: Non, comment serait-il impossible de sur-adapter?
gaffes
D' accord, simplement vérifier que vous avez demandé si overfitting modèles causés à devenir pire quelles que soient les données
Sean Owen
1
L'overfitting est mauvais par définition. Si ce ne ce ne serait pas plus -Raccord.
Gala
1
Je ne voulais pas vous citer sur "l'ajout de la complexité du modèle" - je ne faisais que souligner la phrase. Quoi qu'il en soit, je suppose que mon problème est fondamentalement le même que celui de @GaLa. Il semble donc que vous nous demandez de confirmer une tautologie. Donc, j'aurais tendance à penser que vous vouliez réellement poser une question différente. Par exemple, est-ce que la complexité croissante des modèles entraîne leur détérioration? Ou encore, comment la complexité des données est-elle liée à la tendance d'un modèle à sur-adapter?
Nathan Gould

Réponses:

44

La suralimentation est empiriquement mauvaise. Supposons que vous disposiez d'un ensemble de données que vous scindiez en deux, test et formation. Un modèle suréquipé est un modèle qui fonctionne beaucoup moins bien sur l'ensemble de données de test que sur l'ensemble de données d'apprentissage. Il est souvent observé que des modèles comme celui-ci sont également moins performants sur d’autres (nouveaux) ensembles de données de test que les modèles non suralimentés.

Une façon de comprendre cela intuitivement est qu'un modèle peut utiliser certaines parties pertinentes des données (signal) et d'autres non pertinentes (bruit). Un modèle sur-équipé utilise davantage de bruit, ce qui augmente ses performances dans le cas de bruit connu (données d'apprentissage) et diminue ses performances dans le cas d'un nouveau bruit (données de test). La différence de performance entre les données d'apprentissage et de test indique la quantité de bruit détectée par le modèle. et le captage du bruit se traduit directement par une moins bonne performance des données de test (y compris des données futures).

Résumé: sur-adapter est par définition mauvais, cela n’a pas grand-chose à voir avec la complexité ni la capacité à généraliser, mais plutôt avec la confusion entre bruit et signal.

PS Sur la partie "capacité à généraliser" de la question, il est très possible d'avoir un modèle qui a une capacité intrinsèquement limitée à généraliser en raison de la structure du modèle (par exemple, SVM linéaire, ...) mais qui reste enclin à surapprentissage. Dans un sens, la sur-adaptation n'est qu'un moyen pour que la généralisation échoue.

Alex I
la source
17

Sur-adapter, en résumé, signifie prendre en compte trop d' informations de vos données et / ou de vos connaissances antérieures et les utiliser dans un modèle. Pour simplifier, considérons l’exemple suivant: des scientifiques vous ont embauché pour leur fournir un modèle permettant de prédire la croissance de certains types de plantes. Les scientifiques vous ont donné les informations recueillies au cours de leur travail avec de telles plantes pendant une année entière et ils vous donneront en permanence des informations sur le développement futur de leur plantation.

Ainsi, vous parcourez les données reçues et créez un modèle à partir de celles-ci. Supposons maintenant que, dans votre modèle, vous ayez pris en compte autant de caractéristiques que possible pour toujours connaître le comportement exact des plantes que vous avez vues dans le jeu de données initial. Maintenant que la production continue, vous allez toujours prendre en compte ces caractéristiques et vous obtiendrez des résultats très fins . Cependant, si la plantation souffre éventuellement de certains changements saisonniers, les résultats que vous obtiendrez peuvent s’adapter à votre modèle de telle sorte que vos prédictions commenceront à échouer (soit en indiquant que la croissance ralentira, mais qu’elle accélérera L'opposé).

En plus de l’impossibilité de détecter de si petites variations et de classer généralement mal vos entrées, le grain fin du modèle, c’est-à-dire la grande quantité de variables, peut entraîner des coûts de traitement trop élevés. Maintenant, imaginez que vos données sont déjà complexes. Une adaptation excessive de votre modèle aux données rendra non seulement la classification / évaluation très complexe, mais vous fera très probablement confondre la prédiction avec une erreur de la plus légère variation possible.

Edit : Cela pourrait aussi être utile, ajoutant peut-être de la dynamicité à l'explication ci-dessus: D

Rubens
la source
14

En gros, le sur-ajustement se produit généralement lorsque le rapport

entrez la description de l'image ici

est trop élevé.

Imaginez le sur-ajustement comme une situation dans laquelle votre modèle apprend les données d’entraînement par cœur au lieu d’apprendre les grandes images qui l’empêchent de se généraliser aux données de test: cela se produit lorsque le modèle est trop complexe par rapport à la taille de l’appareil. les données d'apprentissage, c'est-à-dire lorsque la taille des données d'apprentissage est trop petite par rapport à la complexité du modèle.

Exemples:

  • Si vos données sont en deux dimensions, que vous avez 10 000 points dans l'ensemble de formation et que le modèle est une ligne, vous risquez d'être sous- ajusté.
  • si vos données sont en deux dimensions, que vous avez 10 points dans l'ensemble de formation et que le modèle est un polynôme à 100 degrés, vous risquez de sur- adapter.

entrez la description de l'image ici

D'un point de vue théorique, la quantité de données dont vous avez besoin pour bien former votre modèle est une question cruciale, mais à laquelle il est difficile de répondre en apprentissage automatique. Une de ces approches pour répondre à cette question est la dimension VC . Un autre est le compromis biais-variance .

D'un point de vue empirique, les utilisateurs reportent généralement l'erreur d'apprentissage et l'erreur de test sur le même tracé et s'assurent qu'ils ne réduisent pas l'erreur d'apprentissage au détriment de l'erreur de test:

entrez la description de l'image ici

Je conseillerais de suivre le cours d'apprentissage automatique de Coursera , section "10: Conseils pour appliquer l'apprentissage automatique".

(PS: veuillez cliquer ici pour demander l’assistance TeX sur cette SE.)

Franck Dernoncourt
la source
8

Personne ne semble avoir encore posté la bande dessinée XKCD suralimentaire.

entrez la description de l'image ici

Jeremy Miles
la source
5

C'est parce que quelque chose appelé dilema biais-variance . Le modèle sur-équipé signifie que nous aurons une limite de décision plus complexe si nous donnons plus de variance sur le modèle. Le problème est que non seulement les modèles trop simples, mais aussi que les modèles complexes ont probablement des résultats non classifiés sur des données invisibles. Par conséquent, le modèle suréquipé n'est pas bon en tant que modèle sous-équipé. C’est pourquoi la suralimentation est mauvaise et nous devons adapter le modèle quelque part au milieu.

Kim
la source
+1 Merci, à la suite de votre réponse, j'ai posté une réponse à la question ci-dessus, " Quand un modèle est-il sous-équipé? "
gaffes
4

Ce qui m'a fait comprendre le problème de l'overfitting, c'est d'imaginer ce que serait le modèle le plus overfit possible. Essentiellement, ce serait une simple table de consultation.

Vous indiquez au modèle les attributs de chaque donnée, il s'en souvient et ne fait rien de plus. Si vous lui donnez une donnée déjà vue, elle la vérifie et régurgite simplement ce que vous lui avez dit précédemment. Si vous lui donnez des données qu'il n'a jamais vues auparavant, le résultat est imprévisible ou aléatoire. Mais le but de l'apprentissage automatique n'est pas de vous dire ce qui s'est passé, mais de comprendre les modèles et de les utiliser pour prédire ce qui se passe.

Alors pensez à un arbre de décision. Si vous continuez à agrandir votre arbre de décision, vous finirez par vous retrouver avec un arbre dans lequel chaque nœud feuille est basé sur exactement un point de données. Vous venez de trouver un moyen détourné de créer une table de correspondance.

Afin de généraliser vos résultats afin de déterminer ce qui pourrait arriver dans le futur, vous devez créer un modèle qui généralise ce qui se passe dans votre ensemble de formation. Les modèles overfit décrivent très bien les données dont vous disposez déjà, mais les modèles descriptifs ne sont pas nécessairement des modèles prédictifs.

Le théorème No Free Lunch dit qu'aucun modèle ne peut surpasser tout autre modèle sur l'ensemble des instances possibles . Si vous voulez prédire ce qui va suivre dans la séquence de nombres "2, 4, 16, 32", vous ne pouvez pas construire un modèle plus précis qu'un autre si vous ne supposez pas qu'il existe un motif sous-jacent. Un modèle surévalué n'évalue pas vraiment les schémas, il s'agit simplement de modéliser ce qu'il sait être possible et de vous fournir des observations. Vous obtenez un pouvoir prédictif en supposant qu'il existe une fonction sous-jacente et que si vous pouvez déterminer en quoi consiste cette fonction, vous pouvez prédire le résultat des événements. Mais s'il n'y a vraiment pas de schéma, vous n'avez pas de chance et tout ce que vous pouvez espérer, c'est un tableau de correspondance pour vous dire ce que vous savez possible.

RAM
la source
1

Vous associez par erreur deux entités différentes: (1) biais-variance et (2) complexité du modèle.

(1) Le sur-ajustement est mauvais en apprentissage automatique car il est impossible de collecter un échantillon vraiment impartial de la population de données. Le modèle surajusté a pour résultat des paramètres biaisés pour l'échantillon au lieu de les estimer correctement pour l'ensemble de la population. Cela signifie qu'il restera une différence entre les paramètres estimés et les paramètres optimaux , quel que soit le nombre d'époques de formation . & phiv*nϕ^ϕn

e φ|ϕϕ^|eϕ as n , où est une valeur englobanteeϕ

(2) La complexité du modèle est en termes simplistes le nombre de paramètres dans . Si la complexité du modèle est faible, il restera une erreur de régression quel que soit le nombre d'époques de formation, même lorsque est approximativement égal à . L'exemple le plus simple serait d'apprendre à ajuster une ligne (y = mx + c), où aux données d'une courbe (polynôme quadratique).φ φ φ * φ = { m , c }ϕϕ^ϕϕ={m,c}

e ME[|yM(ϕ^)|]eM as n , où est une valeur limitante d'erreur d'ajustement de régressioneM

Résumé: Oui, le biais de l'échantillon et la complexité du modèle contribuent à la «qualité» du modèle appris, mais ils ne s'influencent pas directement. Si vous avez des données biaisées, alors, peu importe le nombre correct de paramètres et l’entraînement infini, le modèle appris en dernier comportera une erreur. De même, si vous avez moins de paramètres que le nombre requis, alors, quel que soit l'échantillonnage parfaitement non biaisé et la formation infinie, le modèle appris final comportera une erreur.

Stardust dynamique
la source
0

Il y a eu beaucoup de bonnes explications à propos de la suralimentation. Voici mes pensées. La suralimentation survient lorsque la variance est trop élevée et le biais trop faible.

Supposons que vous ayez avec vous des données d'entraînement que vous divisez en N parties. Maintenant, si vous entraînez un modèle sur chacun des jeux de données, vous aurez N modèles. Recherchez maintenant le modèle moyen et utilisez ensuite la formule de variance pour calculer la différence entre chaque modèle et la moyenne. Pour les modèles suralimentés, cet écart sera très élevé. En effet, chaque modèle aurait des paramètres estimés très spécifiques au petit jeu de données que nous lui avons fourni. De même, si vous prenez le modèle moyen et que vous trouvez ensuite à quel point il est différent du modèle d'origine qui aurait donné la meilleure précision, il ne serait pas du tout très différent. Cela signifie un faible biais.

Pour déterminer si votre modèle est surajusté ou non, vous pouvez construire les parcelles mentionnées dans les messages précédents.

Enfin, pour éviter les surajustements, vous pouvez régulariser le modèle ou utiliser la validation croisée.

RAM
la source