Ich habe diese Lose studiert und sie sagen, eine Überanpassung der Aktionen beim maschinellen Lernen sei schlecht, doch unsere Neuronen werden sehr stark und finden die besten Aktionen / Sinne, an denen wir vorbeigehen oder die wir vermeiden, und können von schlecht aufgehoben / erhöht werden / gut durch schlechte oder gute Trigger, was bedeutet, dass die Aktionen gleich werden und am Ende die besten (richtigen), superstarken, selbstbewussten Aktionen erzielt werden. Wie scheitert das? Es verwendet positive und negative Sinnesauslöser, um die Aktionen von 44pos zu dekrementieren / neu zu inkrementieren. bis 22neg.
machine-learning
statistics
Freundliche Person 44
quelle
quelle
Antworten:
Die beste Erklärung, die ich gehört habe, ist folgende:
Wenn Sie maschinelles Lernen durchführen, gehen Sie davon aus, dass Sie aus Daten lernen möchten, die einer Wahrscheinlichkeitsverteilung folgen.
Dies bedeutet, dass in jedem Datensatz aufgrund der Zufälligkeit Rauschen auftritt : Die Daten variieren zufällig.
Wenn Sie übermäßig trainieren, lernen Sie am Ende von Ihrem Geräusch und nehmen es in Ihr Modell auf.
Wenn es dann an der Zeit ist, Vorhersagen aus anderen Daten zu treffen, sinkt Ihre Genauigkeit: Das Rauschen hat sich in Ihr Modell eingeschlichen, war jedoch spezifisch für Ihre Trainingsdaten, sodass es die Genauigkeit Ihres Modells beeinträchtigt. Ihr Modell lässt sich nicht verallgemeinern: Es ist zu spezifisch für den Datensatz, für den Sie sich gerade für das Training entschieden haben.
quelle
ELI5 Version
Dies ist im Grunde, wie ich es meinem 6-Jährigen erklärt habe.
Es war einmal ein Mädchen namens Mel ( "Verstehst du? ML?" "Dad, du bist lahm." ). Und jeden Tag spielte Mel mit einer anderen Freundin, und jeden Tag spielte sie, es war ein sonniger, wundervoller Tag.
Mel spielte mit Jordan am Montag, Lily am Dienstag, Mimi am Mittwoch, Olive am Donnerstag und dann am Freitag. Mel spielte mit Brianna und es regnete. Es war ein schreckliches Gewitter!
Mehr Tage, mehr Freunde! Mel spielte am Samstag mit Kwan, Grayson am Sonntag, Asa am Montag ... und dann am Dienstag spielte Mel mit Brooke und es regnete wieder, noch schlimmer als zuvor!
Jetzt hat Mels Mutter alle Spieltermine gemacht, und an diesem Abend beginnt sie, Mel alles über die neuen Spieltermine zu erzählen, die sie geplant hat. "Luis am Mittwoch, Ryan am Donnerstag, Jemini am Freitag, Bianca am Samstag -"
Mel runzelte die Stirn.
Mels Mutter fragte: "Was ist los, Mel, magst du Bianca nicht?"
Mel antwortete: "Oh, klar, sie ist großartig, aber jedes Mal, wenn ich mit einem Freund spiele, dessen Name mit B beginnt, regnet es!"
Was ist los mit Mels Antwort?
Nun, es könnte am Samstag nicht regnen.
Nun, ich weiß nicht, ich meine, Brianna kam und es regnete, Brooke kam und es regnete ...
Ja, ich weiß, aber Regen hängt nicht von deinen Freunden ab.
quelle
Überanpassung impliziert, dass Ihr Lernender nicht gut verallgemeinert. Stellen Sie sich beispielsweise ein überwachtes Standardlernszenario vor, in dem Sie versuchen, Punkte in zwei Klassen aufzuteilen. Angenommen, Sie erhalten Trainingspunkte. Sie können ein Polynom vom Grad N anpassen, das 1 für Trainingspunkte der ersten Klasse und -1 für Trainingspunkte der zweiten Klasse ausgibt. Aber dieses Polynom wäre wahrscheinlich nutzlos, um neue Punkte zu klassifizieren. Dies ist ein Beispiel für Überanpassung und warum es schlecht ist.N N
quelle
Grob gesagt tritt eine Überanpassung typischerweise bei dem Verhältnis auf
ist zu hoch.
Stellen Sie sich eine Überanpassung als eine Situation vor, in der Ihr Modell die Trainingsdaten auswendig lernt, anstatt die großen Bilder zu lernen, die verhindern, dass sie auf die Testdaten verallgemeinert werden können. Dies geschieht, wenn das Modell in Bezug auf die Größe von zu komplex ist die Trainingsdaten, dh wenn die Größe der Trainingsdaten im Vergleich zur Modellkomplexität zu klein ist.
Beispiele:
Aus theoretischer Sicht ist die Menge an Daten, die Sie benötigen, um Ihr Modell richtig zu trainieren, eine entscheidende, aber noch zu beantwortende Frage beim maschinellen Lernen. Ein solcher Ansatz zur Beantwortung dieser Frage ist der VC-Dimension . Ein weiterer Grund ist der Bias-Varianz-Kompromiss .
Aus empirischer Sicht zeichnen die Menschen in der Regel den Trainingsfehler und den Testfehler im selben Diagramm auf und stellen sicher, dass sie den Trainingsfehler nicht auf Kosten des Testfehlers reduzieren:
Ich würde empfehlen, den Kurs "Maschinelles Lernen" von Coursera im Abschnitt "10: Hinweise zur Anwendung des maschinellen Lernens" zu lesen.
quelle
Ich denke, wir sollten zwei Situationen betrachten:
Endliches Training
Es gibt eine begrenzte Menge von Daten, die wir zum Trainieren unseres Modells verwenden. Danach wollen wir das Modell verwenden.
In diesem Fall erstellen Sie bei Überanpassung kein Modell des Phänomens, aus dem die Daten stammen, sondern ein Modell Ihres Datensatzes. Wenn Ihr Datensatz nicht perfekt ist - ich habe Probleme, mir einen perfekten Datensatz vorzustellen -, funktioniert Ihr Modell in vielen oder einigen Situationen nicht richtig, abhängig von der Qualität der Daten, mit denen Sie trainiert haben. Eine Überanpassung führt also zu einer Spezialisierung Ihres Datensatzes, wenn Sie durch Generalisierung das zugrunde liegende Phänomen modellieren möchten.
Fortlaufendes Lernen
Unser Modell erhält ständig neue Daten und lernt weiter. Möglicherweise gibt es eine anfängliche Phase erhöhter Elastizität, um einen akzeptablen Ausgangspunkt zu erhalten.
Dieser zweite Fall ähnelt eher der Art und Weise, wie das menschliche Gehirn trainiert wird. Wenn ein Mensch sehr jung ist, haben neue Beispiele für das, was Sie lernen möchten, einen stärkeren Einfluss als wenn Sie älter sind.
In diesem Fall stellt die Überanpassung ein etwas anderes, aber ähnliches Problem dar: Systeme, die unter diesen Fall fallen, sind häufig Systeme, von denen erwartet wird, dass sie beim Lernen eine Funktion ausführen. Überlegen Sie, wie ein Mensch nicht einfach irgendwo sitzt, während ihm neue Daten präsentiert werden, um daraus zu lernen. Ein Mensch interagiert und überlebt die ganze Zeit in der Welt.
Sie könnten argumentieren, dass das Endergebnis gut funktioniert, da die Daten immer wieder kommen, aber in dieser Zeitspanne muss das Gelernte genutzt werden! Eine Überanpassung führt zu denselben kurzfristigen Effekten wie in Fall 1, wodurch die Leistung Ihres Modells beeinträchtigt wird. Aber Sie sind auf die Leistung Ihres Modells angewiesen, um zu funktionieren!
Sehen Sie sich das so an, wenn Sie sich überanstrengen, werden Sie vielleicht nach vielen weiteren Beispielen den Raubtier erkennen, der versucht, Sie irgendwann in der Zukunft zu verzehren, aber wenn der Raubtier Sie frisst, ist das umstritten.
quelle
Angenommen, Sie möchten dem Computer beibringen, zwischen guten und schlechten Produkten zu unterscheiden, und ihm den folgenden Datensatz zum Lernen geben:
0 bedeutet, dass das Produkt fehlerhaft ist, 1 bedeutet, dass es in Ordnung ist. Wie Sie sehen, besteht eine starke Korrelation zwischen der X- und der Y-Achse. Wenn der gemessene Wert unter oder gleich 50 liegt, ist es sehr wahrscheinlich (~ 98%), dass das Produkt fehlerhaft ist, und oberhalb ist es sehr ähnlich (~ 98%), dass es in Ordnung ist. 52 und 74 sind Ausreißer (entweder falsch gemessene oder nicht gemessene Faktoren, die eine Rolle spielen; auch als Rauschen bekannt). Der gemessene Wert könnte Dicke, Temperatur, Härte oder etwas anderes sein, und seine Einheit ist in diesem Beispiel nicht wichtig. Der generische Algorithmus wäre es also
Bei Fehlklassifizierungen bestünde eine Wahrscheinlichkeit von 2%.
Ein Überpassungsalgorithmus wäre:
Der Überpassungsalgorithmus würde also alle Produkte mit den Maßen 52 oder 74 als fehlerhaft einstufen, obwohl die Wahrscheinlichkeit groß ist, dass sie in Ordnung sind, wenn neue Datensätze in der Produktion verwendet werden. Bei Fehlklassifizierungen bestünde eine Wahrscheinlichkeit von 3,92%. Für einen externen Beobachter wäre diese Fehlklassifizierung zwar seltsam, aber erklärbar, wenn er den überausgestatteten Originaldatensatz kennt.
Für den ursprünglichen Datensatz ist der überarbeitete Algorithmus am besten, für neue Datensätze ist der generische (nicht überarbeitete) Algorithmus am wahrscheinlichsten am besten. Der letzte Satz beschreibt grundlegend die Bedeutung von Überanpassung.
quelle
In meinem College-AI-Kurs gab unser Ausbilder ein Beispiel, das Kyle Hales ähnelt:
Andererseits:
Sowohl Überanpassung als auch Unteranpassung können schlecht sein, aber ich würde sagen, dass es vom Kontext des Problems abhängt, das Sie zu lösen versuchen, welches Sie mehr beunruhigt.
quelle
Eines, dem ich tatsächlich begegnet bin, ist so etwas. Zuerst messe ich etwas, bei dem ich ein ungefähr lineares Verhältnis von Input zu Output erwarte. Hier sind meine Rohdaten:
Und hier ist das eine Grafik:
Scheint definitiv meiner Erwartung an lineare Daten zu entsprechen. Sollte es ziemlich einfach sein, die Gleichung abzuleiten, oder? Sie lassen Ihr Programm diese Daten ein wenig analysieren und schließlich wird gemeldet, dass es die Gleichung gefunden hat, die alle diese Datenpunkte mit einer Genauigkeit von 99,99% trifft! Genial! Und diese Gleichung lautet ... 9sin (x) + x / 5. Welches sieht so aus:
Nun, die Gleichung sagt die Eingabedaten definitiv mit nahezu perfekter Genauigkeit voraus, aber da sie so stark an die Eingabedaten angepasst sind, ist sie für alles andere so gut wie unbrauchbar.
quelle
Schauen Sie sich diesen Artikel an, er erklärt die Über- und Unteranpassung recht gut.
http://scikit-learn.org/stable/auto_examples/model_selection/plot_underfitting_overfitting.html
Der Artikel untersucht ein Beispiel für Signaldaten einer Kosinusfunktion. Das Überanpassungsmodell sagt eine etwas kompliziertere Funktion des Signals voraus (die ebenfalls auf einer Kosinusfunktion basiert). Das überausgerüstete Modell kommt jedoch zu dem Schluss, dass dies nicht auf einer Verallgemeinerung beruht, sondern auf der Speicherung von Rauschen in den Signaldaten.
quelle
Da @ jmite noch keine Erfahrung mit maschinellem Lernen und Beurteilen hat, ist hier eine Visualisierung dessen, was er meiner Meinung nach bedeutet:
Angenommen, die einzelnen Balken in der obigen Grafik sind Ihre Daten, für die Sie versuchen, die allgemeinen Trends für größere Datensätze zu ermitteln. Ihr Ziel ist es, die gekrümmte Linie zu finden. Wenn Sie eine Überanpassung vornehmen, verbinden Sie anstelle der gezeigten gekrümmten Linie den oberen Rand jedes einzelnen Balkens und wenden diesen dann auf Ihren Datensatz an. Dadurch erhalten Sie eine seltsame, ungenaue, stachelige Reaktion, da das Rauschen (Abweichungen vom erwarteten) übertrieben wird in Ihre realen Übungsdatensätze.
Hoffe ich habe etwas geholfen ...
quelle
Überanpassung im wirklichen Leben:
Weiße Person sieht Nachricht von schwarzer Person, die Verbrechen begeht. Die weiße Person sieht eine weitere Nachricht von einer schwarzen Person, die ein Verbrechen begangen hat. Die weiße Person sieht eine dritte Nachricht über eine schwarze Person, die ein Verbrechen begangen hat. Weiße Menschen sehen Nachrichten über Weiße, die ein rotes Hemd tragen, wohlhabende Eltern und eine Vorgeschichte von psychischen Erkrankungen, die ein Verbrechen begehen. Die weiße Person kommt zu dem Schluss, dass alle Schwarzen Verbrechen begehen, und nur weiße Menschen, die rote Hemden, wohlhabende Eltern und eine Vorgeschichte von psychischen Erkrankungen tragen, begehen Verbrechen.
Wenn Sie verstehen möchten, warum diese Art der Überanpassung "schlecht" ist, ersetzen Sie "schwarz" oben durch ein Attribut, das Sie mehr oder weniger eindeutig definiert.
quelle
Alle Daten, die Sie testen, haben Eigenschaften, die Sie erlernen möchten, und einige Eigenschaften, die für Sie nicht relevant sind.
John ist 11 Jahre alt
Jack ist 19 Jahre alt
Kate ist 31 Jahre alt
Lana ist 39 Jahre alt
Richtige Anpassung: Das Alter ist ungefähr linear und geht bis zum 20. Lebensjahr.
Überanpassung: Zwei Menschen dürfen nicht 10 Jahre auseinander liegen (Eigenschaft des Rauschens in den Daten).
Unteranpassung: 1/4 aller Menschen sind 19 (Stereotypisierung).
quelle