Frage:
Kann eine Erhöhung der Trainingsdaten die Überanpassung verschlimmern?
asdfaefi
2019-11-14 13:08:31 UTC
view on stackexchange narkive permalink

Angenommen, ich trainiere ein neuronales Netzwerk für Datensatz A und werte für Datensatz B aus (der eine andere Merkmalsverteilung als Datensatz A aufweist).Wenn ich die Datenmenge in Datensatz A um den Faktor 10 erhöhe, verringert sich wahrscheinlich die Genauigkeit in Datensatz B?

"Das hat eine andere Merkmalsverteilung als Datensatz A" Je nachdem, was Sie damit meinen, ist die Verteilung des Trainingssatzes anders als die des Testsatzes. Dies ist kein Überanpassungsproblem. Es handelt sich entweder um eine Funktionsverschiebung oder eine Kovariatenverschiebung.
Es scheint, als hätten Sie etwas, das einem Transfer-Lernproblem ähnelt.
Es hilft, wenn Sie angeben, welche Art von NN.Einige sind anfälliger für Überanpassungen als andere.Aus heutiger Sicht ist dies eine unglaublich breite Frage.
Fünf antworten:
Frans Rodenburg
2019-11-14 14:57:54 UTC
view on stackexchange narkive permalink

Im Gegenteil, mehr Daten sind fast immer besser bei der Verallgemeinerung auf unsichtbare Daten.Je mehr Beispiele für den Datengenerierungsprozess vorhanden sind, desto näher kommen die Modellvorhersagen denen der Bevölkerung.Immerhin hat Ihr Modell einen größeren Teil der Bevölkerung gesehen

.

Wenn alle Hyperparameter konstant gehalten werden sollten, bedeuten hypothetisch mehr Daten mehr Schritte entlang des Gradienten bei gleicher Lernrate, was tatsächlich leichter zu einer Überanpassung führen könnte.Wenn Sie jedoch entsprechend regulieren, die richtige Lernrate usw. auswählen, ist dies kein Problem.

Wenn jedoch die neuen und alten Daten nicht aus derselben Verteilung stammen, kann dies durch einfaches Hinzufügen weiterer Daten nicht behoben werden.Sie sollten sich wahrscheinlich mit Über- / Unterabtastung oder anderen Methoden befassen, je nachdem, was genau Sie unter einer anderen Feature-Verteilung verstehen.

Meiner Meinung nach sollten für einen konsistenten Lernalgorithmus mehr Daten immer zu einem geringeren Generalisierungsfehler bei gleicher Wahrscheinlichkeit führen.Ich denke, Sie denken an Fälle, in denen das Lernen nicht konvergieren darf.Dies ist eher ein Implementierungsproblem als die mit der Frage verbundenen Fakten.
@CagdasOzgenc Vielleicht haben Sie meinen zweiten Absatz falsch verstanden - ich stimme Ihnen vollkommen zu.Ich habe eine kleine Änderung vorgenommen, um es hoffentlich klarer zu machen.
In Übereinstimmung mit CagdasOzgenc denke ich, dass die Formulierungen der Antwort irreführend / verwirrend sein könnten.Konvergenz scheint mir eher ein Nebenproblem zu sein.Solange die Stichprobe repräsentativ ist, würde eine größere Stichprobe die Fähigkeit eines neuronalen Netzwerks verbessern, eher an das Signal als an das Rauschen anzupassen, da sich die Information des Signals mit der Stichprobengröße ansammelt, während das Rauschen dies nicht tut.
Ein bisschen besser, aber nicht so viel.Sie erläutern nicht, warum mehr Daten besser sind.Stattdessen erklären Sie, warum es schlimmer sein kann.(Dies ist natürlich nur meine Meinung.)
Danke, ich denke es ist eine Verbesserung.
KG012
2019-11-15 03:14:04 UTC
view on stackexchange narkive permalink

Die Tatsache, dass Datensatz B "eine andere Merkmalsverteilung aufweist als Datensatz A", macht die Frage ziemlich mehrdeutig. Es ist gleichbedeutend mit der Frage, wie gut ein für Problem A trainiertes neuronales Netz an Problem B arbeiten wird - es gibt keine endgültige Antwort. Aber ja, es ist möglich, dass das Training mit mehr Proben aus Datensatz A die Leistung Ihres neuronalen Netzes in Datensatz B verschlechtert.

Ein Beispiel dafür ist, wenn Sie Ihr neuronales Netz auf simulierte Daten trainieren und anhand von Daten aus der "realen Welt" validieren. Da die simulierten Daten die realen Daten nicht perfekt darstellen, kann das neuronale Netz Muster in den simulierten Daten lernen, die sich nicht auf die reale Welt verallgemeinern lassen. In diesem Fall gibt es wahrscheinlich eine Trainingssatzgröße, die Ihre Leistung im Validierungssatz optimiert, und zusätzliche Trainingspunkte verringern die Validierungsgenauigkeit. Dies ist jedoch kein guter Weg, um Dinge zu erledigen.

Dieses Problem ist nicht das, worauf sich Überanpassung normalerweise bezieht, aber es hat einen analogen Charakter (möglicherweise kann jemand anderes mit einem genauen Begriff dafür helfen).

Vadim
2019-11-14 15:06:52 UTC
view on stackexchange narkive permalink

Ja, das kann es.Eine Möglichkeit besteht darin, dass alle Beispiele in Datensatz A ähnlich sind, sodass Ihr Klassifikator diesen Datensatz möglicherweise überpasst und in Datensatz B möglicherweise schlechter funktioniert. Dies kann durchaus der Fall sein, wenn Sie die in A sehr häufigen, aber fast nicht vorhandenen Funktionen anpassenin B.

Eine andere Möglichkeit besteht darin, dass Sie die gleichen Funktionen von A und B überanpassen. Wenn Sie mehr Stichproben zu A hinzufügen, wird dieser Datensatz weniger voreingenommen, aber der Klassifikator funktioniert bei B schlechter.

Dies ist nicht spezifisch für neuronale Netze.

Marina
2019-11-14 22:13:04 UTC
view on stackexchange narkive permalink

Einige theoretische Überlegungen.

Das Buch "Probabilistisches Lernen" besagt, dass "Neural Netzwerke mit einer verborgenen Schicht sind universell konsistent, wenn die Parameter sind gut gewählt. "Sie bedeuten, dass die Fehlerrate mit der Größe des Trainingssatzes gegen unendlich gegen den Fehler des Bayes-Klassifikators konvergiert.

Das Buch "Maschinelles Lernen verstehen" gibt eine Schätzung der VC-Dimension der Klasse der Hypothesen von NN.Die Verwendung des Fundamental Theorem of Learning kann eine Vorstellung davon geben, wie groß ein Trainingssatz sein soll, um die gewünschte Genauigkeit zu erzielen.Normalerweise ist es riesig.

Keines dieser Ergebnisse bedeutet, dass die Genauigkeit besser ist, wenn Sie den Trainingssatz um das Zehnfache erhöhen. Es bedeutet nur, dass die Ergebnisse letztendlich besser werden, wenn Sie Ihren Trainingssatz auf unbestimmte Zeit erhöhen.Aber dann sagen sie nicht, wie man die "gut gewählten" Parameter auswählt. Ja, eine 10-fache Vergrößerung der Daten kann aus theoretischer Sicht zu schlechteren Ergebnissen führen.

rinspy
2019-11-15 22:03:55 UTC
view on stackexchange narkive permalink

Die Daten in Ihren Trainings- und Testsätzen können als h (x) + Rauschen modelliert werden. In diesem Zusammenhang ist das Rauschen die Variabilität Ihrer Trainings- und Testdaten, die nicht durch ein gängiges (theoretisch optimales) Modell h (x) erklärt wird. Das Wichtigste dabei ist, dass zum Beispiel, wenn Ihre Trainings- und Testsätze aus völlig unterschiedlichen Verteilungen abgetastet werden, ALLE Ihre Daten Rauschen sind, auch wenn sowohl Trainings- als auch Testsatzdaten für sich genommen sehr gut strukturiert sind. In diesem Fall passt sogar ein Modell mit 1 oder 2 Parametern sofort über - unabhängig davon, wie viele Datenpunkte Sie in Ihrem Trainingssatz haben!

Mit anderen Worten: Je größer das Rauschen in Ihren Daten ist, desto einfacher ist die Überanpassung und desto einfacher ist die Verwendung des Modells. Mit beispielsweise Gaußschem Rauschen erhöht das Erhöhen der Datenmenge in Ihrem Trainingssatz das Daten-Rausch-Verhältnis und verringert die Überanpassung. Wenn Ihre Trainings- und Testdaten aus (geringfügig) unterschiedlichen Verteilungen stammen, trägt eine Erhöhung der Datenmenge nicht dazu bei, diese Geräuschquelle zu verringern! Das Daten-Rausch-Verhältnis bleibt gleich. Es werden nur andere Rauschquellen eliminiert (z. B. Messrauschen, falls zutreffend).

Eine Erhöhung der Datenmenge kann eine Überanpassung nur verschlimmern, wenn Sie fälschlicherweise auch die Komplexität Ihres Modells erhöhen. Andernfalls sollte sich die Leistung des Testsatzes verbessern oder gleich bleiben, jedoch nicht wesentlich schlechter werden.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 4.0-Lizenz, unter der er vertrieben wird.
Loading...