J'ai étudié beaucoup de choses, et ils disent que sur-adapter les actions dans l'apprentissage automatique est mauvais, mais nos neurones deviennent très forts et trouvent les meilleures actions / sens que nous utilisons ou évitons, et peuvent être de-incrémentés / incrémentés de mauvais / bons par mauvais ou bons déclencheurs, ce qui signifie que les actions se nivelleront et cela se terminera par les meilleures (à droite), des actions confiantes super fortes. Comment cela échoue-t-il? Il utilise des déclencheurs de sens positifs et négatifs pour dé / incrémenter les actions dites à partir de 44pos. à 22neg.
machine-learning
statistics
Personne sympathique 44
la source
la source
Réponses:
La meilleure explication que j'ai entendue est la suivante:
Lorsque vous effectuez un apprentissage automatique, vous supposez que vous essayez d'apprendre à partir de données qui suivent une distribution probabiliste.
Cela signifie que dans n'importe quel ensemble de données, en raison du caractère aléatoire, il y aura du bruit : les données varieront de manière aléatoire.
Lorsque vous vous équipez, vous finissez par apprendre de votre bruit et l'inclure dans votre modèle.
Ensuite, lorsque vient le temps de faire des prédictions à partir d'autres données, votre précision diminue: le bruit a fait son chemin dans votre modèle, mais il était spécifique à vos données d'entraînement, ce qui nuit à la précision de votre modèle. Votre modèle ne se généralise pas: il est trop spécifique à l'ensemble de données que vous avez choisi de former.
la source
Version ELI5
C'est essentiellement comme ça que je l'ai expliqué à mon enfant de 6 ans.
Une fois, il y avait une fille nommée Mel ( "Tu comprends? ML?" "Papa, tu es boiteux." ). Et chaque jour, Mel jouait avec un ami différent, et chaque jour elle jouait c'était une journée ensoleillée et merveilleuse.
Mel a joué avec Jordan lundi, Lily mardi, Mimi mercredi, Olive jeudi .. puis vendredi Mel a joué avec Brianna, et il a plu. Ce fut un terrible orage!
Plus de jours, plus d'amis! Mel a joué avec Kwan samedi, Grayson dimanche, Asa lundi ... puis mardi Mel a joué avec Brooke et il a encore plu, encore pire qu'avant!
Maintenant, la mère de Mel a fait toutes les playdates, alors ce soir-là, pendant le dîner, elle commence à raconter à Mel les nouvelles playdates qu'elle a alignées. "Luis mercredi, Ryan jeudi, Jemini vendredi, Bianca samedi -"
Mel fronça les sourcils.
La maman de Mel a demandé: "Qu'est-ce qu'il y a, Mel, tu n'aimes pas Bianca?"
Mel a répondu: "Oh, bien sûr, elle est géniale, mais chaque fois que je joue avec un ami dont le nom commence par B, il pleut!"
Quel est le problème avec la réponse de Mel?
Eh bien, il ne pleuvra peut-être pas samedi.
Eh bien, je ne sais pas, je veux dire, Brianna est venue et il a plu, Brooke est venue et il a plu ...
Oui, je sais, mais la pluie ne dépend pas de tes amis.
la source
Le sur-ajustement implique que votre apprenant ne généralisera pas bien. Par exemple, considérons un scénario d'apprentissage supervisé standard dans lequel vous essayez de diviser les points en deux classes. Supposons que vous recevez points d'entraînement. Vous pouvez adapter un polynôme de degré qui génère 1 sur les points d'entraînement de la première classe et -1 sur les points d'entraînement de la deuxième classe. Mais ce polynôme serait probablement inutile pour classer de nouveaux points. Ceci est un exemple de sur-ajustement et pourquoi c'est mauvais.NN N
la source
En gros, un sur-ajustement se produit généralement lorsque le rapport
est trop élevé.
Considérez le sur-ajustement comme une situation où 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 pouvoir se généraliser aux données de test: cela se produit lorsque le modèle est trop complexe par rapport à la taille de 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:
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 loin d'être résolue dans l'apprentissage automatique. Une telle approche pour répondre à cette question est la dimension VC . Un autre est le compromis biais-variance .
D'un point de vue empirique, les gens tracent 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:
Je vous conseille de regarder le cours d'apprentissage automatique de Coursera , section "10: Conseils pour appliquer l'apprentissage automatique".
la source
Je pense que nous devrions considérer deux situations:
Formation finie
Il existe une quantité limitée de données que nous utilisons pour former notre modèle. Après cela, nous voulons utiliser le modèle.
Dans ce cas, si vous suréquipez, vous ne ferez pas un modèle du phénomène qui a produit les données, mais vous ferez un modèle de votre ensemble de données. Si votre ensemble de données n'est pas parfait - j'ai du mal à imaginer un ensemble de données parfait - votre modèle ne fonctionnera pas bien dans de nombreuses ou certaines situations, selon la qualité des données que vous avez utilisées pour vous entraîner. Le sur-ajustement entraînera donc une spécialisation de votre ensemble de données, lorsque vous souhaitez que la généralisation modélise le phénomène sous-jacent.
Apprentissage continu
Notre modèle recevra tout le temps de nouvelles données et continuera à apprendre. Il y a peut-être une période initiale d'élasticité accrue pour obtenir un point de départ acceptable.
Ce deuxième cas est plus similaire à la façon dont le cerveau humain est formé. Quand un être humain est très jeune, de nouveaux exemples de ce que vous voulez apprendre ont une influence plus prononcée que lorsque vous êtes plus âgé.
Dans ce cas, le sur-ajustement fournit un problème légèrement différent mais similaire: les systèmes qui relèvent de ce cas sont souvent des systèmes qui sont censés remplir une fonction pendant l'apprentissage. Considérez comment un humain n'est pas simplement assis quelque part tandis que de nouvelles données lui sont présentées pour en tirer des enseignements. Un être humain interagit avec le monde et survit tout le temps.
Vous pourriez faire valoir que parce que les données continuent de venir, le résultat final fonctionnera bien, mais dans ce laps de temps, ce qui a été appris doit être utilisé! Le sur-ajustement fournira les mêmes effets de courte durée que dans le cas 1, ce qui donnera à votre modèle de moins bonnes performances. Mais vous dépendez des performances de votre modèle pour fonctionner!
Regardez de cette façon, si vous êtes trop habillé, vous reconnaîtrez peut-être ce prédateur qui essaie de vous manger dans le futur après de nombreux autres exemples, mais lorsque le prédateur vous mange, c'est théorique.
la source
Disons que vous voulez apprendre à l'ordinateur à déterminer entre les bons et les mauvais produits et lui donner l'ensemble de données suivant pour apprendre:
0 signifie que le produit est défectueux, 1 signifie qu'il est OK. Comme vous pouvez le voir, il existe une forte corrélation entre les axes X et Y. Si la valeur mesurée est inférieure ou égale à 50, il est très probable (~ 98%) que le produit est défectueux et au-dessus, il est très probable (~ 98%), c'est OK. 52 et 74 sont des valeurs aberrantes (des facteurs mesurés faux ou non mesurés jouant un rôle; également connus sous le nom de bruit). La valeur mesurée peut être l'épaisseur, la température, la dureté ou autre chose et son unité n'est pas importante dans cet exemple Donc l'algorithme générique serait
Il aurait une chance de 2% de classification erronée.
Un algorithme de sur-ajustement serait:
Ainsi, l'algorithme de surajustement classerait à tort tous les produits mesurant 52 ou 74 comme défectueux bien qu'il y ait de fortes chances qu'ils soient OK lorsqu'ils reçoivent de nouveaux jeux de données / utilisés en production. Il aurait une chance de 3,92% de classification erronée. Pour un observateur externe, cette classification erronée serait étrange mais explicable sachant le jeu de données d'origine qui était surajusté.
Pour l'ensemble de données d'origine, l'algorithme surajusté est le meilleur, pour les nouveaux ensembles de données, l'algorithme générique (non surajusté) est probablement le meilleur. La dernière phrase décrit dans le fond la signification du sur-ajustement.
la source
Dans mon cours d'IA au collège, notre instructeur a donné un exemple similaire à celui de Kyle Hale:
Mais d'autre part:
Le surapprentissage et le sous-ajustement peuvent être mauvais, mais je dirais que cela dépend du contexte du problème que vous essayez de résoudre, lequel vous inquiète le plus.
la source
Celui que j'ai rencontré est quelque chose comme ça. Tout d'abord, je mesure quelque chose où je m'attends à ce que le rapport entrée / sortie soit à peu près linéaire. Voici mes données brutes:
Et voici un graphique:
Semble définitivement correspondre à mon attente de données linéaires. Cela devrait être assez simple pour déduire l'équation, non? Donc, vous laissez votre programme analyser un peu ces données, et finalement il rapporte qu'il a trouvé l'équation qui frappe tous ces points de données, avec une précision de 99,99%! Impressionnant! Et cette équation est ... 9sin (x) + x / 5. Qui ressemble à ceci:
Eh bien, l'équation prédit définitivement les données d'entrée avec une précision presque parfaite, mais comme elle est tellement surajustée aux données d'entrée, elle est à peu près inutile pour faire autre chose.
la source
Jetez un oeil à cet article, il explique assez bien le sur-ajustement et le sous-ajustement.
http://scikit-learn.org/stable/auto_examples/model_selection/plot_underfitting_overfitting.html
L'article examine un exemple de données de signal d'une fonction cosinus. Le modèle de surajustement prédit que le signal est une fonction légèrement plus compliquée (qui est également basée sur une fonction cosinus). Cependant, le modèle surajusté conclut ceci basé non pas sur la généralisation mais sur la mémorisation du bruit dans les données du signal.
la source
Sans expérience en apprentissage automatique et à en juger par la réponse de @ jmite, voici une visualisation de ce que je pense qu'il signifie:
Supposons que les barres individuelles dans le graphique ci-dessus sont vos données, pour lesquelles vous essayez de comprendre les tendances générales à appliquer à de plus grands ensembles de données. Votre objectif est de trouver la ligne courbe. Si vous suréquipez - au lieu de la ligne courbe montrée, vous connectez le haut de chaque barre individuelle, puis appliquez cela à votre ensemble de données - et obtenez une réponse épineuse bizarre et précise à mesure que le bruit (variations par rapport à l'attendu) devient exagéré dans vos ensembles de données pratiques.
J'espère que j'ai aidé un peu ...
la source
Sur-ajustement dans la vraie vie:
Un Blanc voit la nouvelle d'un Noir qui commet un crime. Un Blanc voit un autre reportage sur un Noir qui commet un crime. Un Blanc voit un troisième reportage sur un Noir qui commet un crime. Une personne blanche voit un reportage sur une personne blanche portant une chemise rouge, des parents aisés et des antécédents de maladie mentale commettant un crime. Un Blanc conclut que tous les Noirs commettent un crime, et seuls les Blancs portant des chemises rouges, des parents aisés et des antécédents de maladie mentale commettent un crime.
Si vous voulez comprendre pourquoi ce type de sur-ajustement est "mauvais", remplacez simplement "noir" ci-dessus par un attribut qui vous définit de manière plus ou moins unique.
la source
Toutes les données que vous testez auront des propriétés que vous souhaitez qu'elles apprennent, et certaines propriétés qui ne sont pas pertinentes que vous ne voulez pas qu'elles apprennent.
John a 11 ans
Jack a 19 ans
Kate a 31 ans
Lana a 39 ans
Ajustement approprié: Les âges sont approximativement linéaires, passant par ~ l'âge de 20 ans
Tenue: Deux humains ne peuvent pas être séparés de 10 ans (propriété du bruit dans les données)
Tenue: 1/4 de tous les humains ont 19 ans (stéréotypes)
la source