Ich hoffe, die folgenden Auszüge geben einen Einblick in meine Frage. Diese stammen von http://neuralnetworksanddeeplearning.com/chap3.html
Das Lernen verlangsamt sich dann allmählich. Schließlich hört die Klassifizierungsgenauigkeit gegen Epoche 280 so gut wie auf, sich zu verbessern. In späteren Epochen treten lediglich kleine stochastische Schwankungen in der Nähe des Genauigkeitswerts in Epoche 280 auf. Vergleichen Sie dies mit dem früheren Diagramm, in dem die mit den Trainingsdaten verbundenen Kosten weiterhin gleichmäßig sinken. Wenn wir uns nur diese Kosten ansehen, scheint es, dass unser Modell immer noch "besser" wird. Die Ergebnisse der Testgenauigkeit zeigen jedoch, dass die Verbesserung eine Illusion ist. Genau wie das Modell, das Fermi nicht mochte, verallgemeinert sich das, was unser Netzwerk nach Epoche 280 lernt, nicht mehr auf die Testdaten. Und so ist es nicht nützlich zu lernen. Wir sagen, dass das Netzwerk über die Epoche 280 hinaus überpasst oder übertrainiert ist.
Wir trainieren ein neuronales Netzwerk und die Kosten (für Trainingsdaten) sinken bis zur Epoche 400, aber die Klassifizierungsgenauigkeit wird nach der Epoche 280 statisch (abgesehen von einigen stochastischen Schwankungen), sodass wir zu dem Schluss kommen, dass das Modell für die Trainingsdaten nach der Epoche 280 überpasst.
Wir können sehen, dass sich die Kosten für die Testdaten bis etwa zur 15. Epoche verbessern, aber danach beginnen sie sich tatsächlich zu verschlechtern, obwohl die Kosten für die Trainingsdaten weiter steigen. Dies ist ein weiteres Zeichen dafür, dass unser Modell überpasst. Es ist jedoch ein Rätsel, ob wir Epoche 15 oder Epoche 280 als den Punkt betrachten sollten, an dem Überanpassung das Lernen dominiert. Aus praktischer Sicht geht es uns wirklich darum, die Klassifizierungsgenauigkeit der Testdaten zu verbessern, während die Kosten für die Testdaten nur ein Indikator für die Klassifizierungsgenauigkeit sind. Daher ist es am sinnvollsten, die Epoche 280 als den Punkt zu betrachten, ab dem die Überanpassung das Lernen in unserem neuronalen Netzwerk dominiert.
Im Gegensatz zur Klassifizierungsgenauigkeit von Testdaten im Vergleich zu früheren Schulungskosten setzen wir jetzt die Kosten für Testdaten gegen die Schulungskosten.
Anschließend erklärt das Buch, warum 280 die richtige Epoche ist, in der die Überanpassung begonnen hat. Damit habe ich ein Problem. Ich kann meinen Kopf nicht darum wickeln.
Wir fordern das Modell auf, die Kosten zu minimieren, und daher sind die Kosten die Metrik, die es als Maß für seine eigene Stärke zur korrekten Klassifizierung verwendet. Wenn wir 280 als die richtige Epoche betrachten, in der die Überanpassung begonnen hat, haben wir nicht in gewisser Weise ein voreingenommenes Modell erstellt, das zwar einen besseren Klassifikator für die jeweiligen Testdaten darstellt, aber dennoch Entscheidungen mit geringem Vertrauen trifft und daher anfälliger für Abweichungen ist aus den auf den Testdaten gezeigten Ergebnissen?
quelle
Antworten:
Nehmen wir an, wir möchten anhand ihres Lebenslaufs vorhersagen, ob eine Studentin ein Vorstellungsgespräch erhält.
Nehmen wir nun an, wir trainieren ein Modell aus einem Datensatz von 10.000 Lebensläufen und deren Ergebnissen.
Als nächstes probieren wir das Modell anhand des Originaldatensatzes aus und es sagt Ergebnisse mit einer Genauigkeit von 99% voraus… wow!
Aber jetzt kommen die schlechten Nachrichten.
Wenn wir das Modell mit einem neuen („unsichtbaren“) Datensatz von Lebensläufen ausführen, erhalten wir nur eine Genauigkeit von 50%… ähm!
Unser Modell lässt sich von unseren Trainingsdaten nicht gut auf unsichtbare Daten übertragen.
Dies wird als Überanpassung bezeichnet und ist ein häufiges Problem beim maschinellen Lernen und in der Datenwissenschaft.
Überanpassung V / s Unteranpassung
Wir können die Überanpassung besser verstehen, wenn wir das entgegengesetzte Problem betrachten, die Unteranpassung.
Eine Unteranpassung tritt auf, wenn ein Modell zu einfach ist - durch zu wenige Funktionen informiert oder zu stark reguliert -, was es unflexibel macht, aus dem Datensatz zu lernen.
Einfache Lernende neigen dazu, weniger Varianz in ihren Vorhersagen zu haben, aber mehr Tendenz zu falschen Ergebnissen (siehe: Der Bias-Varianz-Kompromiss).
Auf der anderen Seite neigen komplexe Lernende dazu, ihre Vorhersagen stärker zu variieren.
Sowohl Bias als auch Varianz sind Formen von Vorhersagefehlern beim maschinellen Lernen.
In der Regel können wir den Fehler aufgrund der Verzerrung reduzieren, aber möglicherweise den Fehler aufgrund der Varianz erhöhen oder umgekehrt.
Dieser Kompromiss zwischen zu einfach (hohe Verzerrung) und zu komplex (hohe Varianz) ist ein Schlüsselkonzept für Statistik und maschinelles Lernen und betrifft alle überwachten Lernalgorithmen.
quelle
Ich habe auf die harte Tour gelernt, die Lernkurven zu zeichnen. Ich weiß, es macht nicht so viel Spaß wie das Schreiben des Codes für maschinelles Lernen an sich, aber es ist von grundlegender Bedeutung, visuell zu verstehen, was passiert.
Als Faustregel gilt, dass eine Überanpassung auftritt, wenn sich Ihre Zuggenauigkeit weiter verbessert, während sich Ihre Validierungsgenauigkeit nicht mehr verbessert (oder sogar schlechter wird).
Die einfachste Lösung, um eine Überanpassung zu vermeiden, ist das frühzeitige Anhalten (beenden Sie das Training, sobald die Dinge schlecht aussehen). Die einfachste Lösung ist natürlich mit Kosten verbunden: Sie ist nicht die beste Lösung. Regularisierung und Ausfall sind gute Werkzeuge, um um die Anpassung zu kämpfen, aber das ist eine andere Sache :)
Ich hoffe es hilft
quelle
In der Quelle, die Sie zitieren, heißt es: "Die Kosten für die Testdaten sind nur ein Proxy für die Klassifizierungsgenauigkeit." Sie könnten fragen, warum wir einen Proxy verwenden sollten, warum nicht die Genauigkeit direkt verwenden? Die Antwort ist, dass Sie die Kostenfunktion in Bezug auf die Gewichte und Vorurteile minimieren müssen. Daher muss es eine differenzierbare Funktion der Gewichte und Vorspannungen sein. Die Genauigkeit ist keine differenzierbare Funktion und kann daher nicht direkt verwendet werden. Da Ihnen jedoch letztendlich die Genauigkeit am Herzen liegt, wie Sie selbst oben dargestellt haben (... bitte beachten Sie, dass die Klassifizierungsgenauigkeit in erster Linie 100% beträgt und die Kosten dennoch höher sind ...), bestimmen Sie die Überanpassung anhand der Genauigkeit des Tests einstellen.
quelle
Um zu verstehen, was Überanpassung bedeutet und wie sich dies auf die Genauigkeit des Modells auswirkt, müssen Sie den Kompromiss zwischen Verzerrung und Varianz verstehen.
Unter- und Überanpassung sind zwei verschiedene Probleme, die in direktem Zusammenhang mit Problemen mit voreingenommener Varianz stehen. Es ist immer wichtig, die Beziehung zwischen drei verschiedenen Faktoren zu verstehen und zu verstehen, wie diese Faktoren mit Problemen der Vorspannungsvarianz (Überanpassung - Unteranpassung) zusammenhängen:
1- die Größe des Modells. Anzahl der Parameter
2- die Datenmenge, die für das Training verfügbar ist. Anzahl der Trainingsmuster.
3- die Anzahl der Iterationen. Trainingsiterationen.
Eine direkte Verbindung zwischen einem dieser Faktoren und Über- und Unteranpassungsproblemen ohne Rücksicht auf die anderen führt immer zu falschen Schlussfolgerungen.
Da es eine schwierige Aufgabe ist, diese Faktoren zu verstehen und das Thema durch die Verwendung mathematischer Gleichungen zu verknüpfen, um Über- und Unteranpassungsprobleme zu vermeiden, verwenden die Menschen einfache Methoden, um eine Überanpassung zu entdecken und zu vermeiden. Der einfache Weg besteht darin, die Daten in drei verschiedene Teile zu unterteilen: Schulung, Validierung und Test. Tests sollten nicht berührt werden. Verwenden Sie den Trainingssatz, um das Netzwerk zu trainieren, und den Validierungssatz, um das Netzwerk nach jeder Iteration oder einer Reihe von Iterationen zu testen. Theoretisch werden Sie sehen, dass der Fehler im Validierungssatz für die ersten N Iterationen allmählich abnimmt und dann für sehr wenige Iterationen stabil ist und dann zuzunehmen beginnt. Wenn der Fehler zunimmt, passt Ihr Netzwerk die Trainingsdaten übermäßig an und der Trainingsprozess sollte gestoppt werden.
Hinweis: Der Wert N hängt stark mit den drei oben aufgeführten Faktoren zusammen. Es ist immer eine gute Praxis, ein Demo-Trainingsset zu haben und mit verschiedenen Modellen und Trainingsdaten zu testen. Sie werden sehen, dass je größer das Modell - je weniger Trainingsdaten, desto kleiner das N. Je kleiner das Modell - desto mehr Trainingsdaten desto größer das N. Hinweis: Seien Sie vorsichtig, wenn Sie kleine Modelle mit Unteranpassungsproblemen verwenden.
quelle