In der Logik wird häufig angegeben, dass die Generalisierungsfähigkeit eines Modells durch Überanpassung eingeschränkt ist. Dies kann jedoch nur bedeuten, dass die Überanpassung ein Modell nach einer bestimmten Komplexität an der Verbesserung hindert. Wird das Modell durch Überanpassung ungeachtet der Komplexität der Daten schlechter, und wenn ja, warum ist dies der Fall?
Verwandte Themen : Antwort auf die Frage oben: " Wann ist ein Modell unterbestückt? "
Antworten:
Überanpassung ist empirisch schlecht. Angenommen, Sie haben einen Datensatz, den Sie in zwei Teile aufteilen: Test und Training. Ein überangepasstes Modell ist ein Modell, das im Testdatensatz wesentlich schlechter abschneidet als im Trainingsdatensatz. Es wird häufig beobachtet, dass solche Modelle auch bei zusätzlichen (neuen) Testdatensätzen im Allgemeinen schlechter abschneiden als Modelle, die nicht überdimensioniert sind.
Eine Möglichkeit, dies intuitiv zu verstehen, besteht darin, dass ein Modell einige relevante Teile der Daten (Signal) und einige irrelevante Teile (Rauschen) verwenden kann. Ein überangepasstes Modell nutzt einen größeren Teil des Geräusches, wodurch die Leistung bei bekanntem Geräusch (Trainingsdaten) erhöht und bei neuartigem Geräusch (Testdaten) verringert wird. Der Unterschied in der Leistung zwischen Trainings- und Testdaten gibt an, wie viel Lärm das Modell aufnimmt. Das direkte Aufnehmen von Rauschen führt zu einer schlechteren Leistung der Testdaten (einschließlich zukünftiger Daten).
Zusammenfassung: Überanpassung ist per definitionem schlecht, dies hat nicht viel mit Komplexität oder Verallgemeinerungsfähigkeit zu tun, sondern hat eher damit zu tun, Rauschen mit Signal zu verwechseln.
PS In Bezug auf den Teil "Fähigkeit zur Verallgemeinerung" der Frage ist es sehr gut möglich, ein Modell zu haben, das aufgrund der Struktur des Modells (z. B. lineare SVM, ...) von Natur aus eine eingeschränkte Verallgemeinerungsfähigkeit aufweist, für das es jedoch immer noch anfällig ist Überanpassung. In gewisser Hinsicht ist Überanpassung nur eine Möglichkeit, die Verallgemeinerung zu scheitern.
quelle
Überanpassung bedeutet auf den Punkt gebracht, dass zu viele Informationen aus Ihren Daten und / oder Ihrem Vorwissen berücksichtigt und in einem Modell verwendet werden. Betrachten Sie zur Vereinfachung das folgende Beispiel: Sie wurden von einigen Wissenschaftlern beauftragt, ihnen ein Modell zur Vorhersage des Wachstums bestimmter Pflanzenarten zur Verfügung zu stellen. Die Wissenschaftler haben Ihnen das ganze Jahr über Informationen aus ihrer Arbeit mit solchen Pflanzen zur Verfügung gestellt und werden Sie kontinuierlich über die zukünftige Entwicklung ihrer Plantage informieren.
Sie durchlaufen also die empfangenen Daten und bauen daraus ein Modell auf. Angenommen, Sie haben in Ihrem Modell so viele Merkmale wie möglich berücksichtigt, um immer das genaue Verhalten der Pflanzen zu ermitteln, die Sie im ursprünglichen Datensatz gesehen haben. Jetzt, während die Produktion fortgesetzt wird, berücksichtigen Sie immer diese Eigenschaften und erzielen sehr feinkörnige Ergebnisse. Wenn die Plantage jedoch irgendwann unter saisonalen Veränderungen leidet, passen die Ergebnisse, die Sie erhalten, möglicherweise so zu Ihrem Modell, dass Ihre Vorhersagen anfangen zu scheitern (entweder sagen, dass sich das Wachstum verlangsamt, während es sich tatsächlich beschleunigt, oder das Gegenteil).
Abgesehen davon, dass Sie solche kleinen Abweichungen nicht erkennen und Ihre Eingaben normalerweise nicht richtig klassifizieren können , kann die Verarbeitung aufgrund der Feinstruktur des Modells, dh der großen Anzahl von Variablen, zu kostspielig sein. Stellen Sie sich vor, Ihre Daten sind bereits komplex. Eine Überanpassung Ihres Modells an die Daten macht nicht nur die Klassifizierung / Bewertung sehr komplex, sondern führt höchstwahrscheinlich dazu, dass Sie die Vorhersage über die geringste Abweichung, die Sie möglicherweise an der Eingabe haben, verfälschen.
Bearbeiten : Dies könnte auch von Nutzen sein und die obige Erklärung möglicherweise dynamisieren: D
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 eine Verallgemeinerung auf die Testdaten verhindern: 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 Datenmenge, 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 die VC-Dimension . Ein weiterer Grund ist der Bias-Varianz-Kompromiss .
Aus empirischer Sicht zeichnen die Menschen in der Regel den Trainingsfehler und den Testfehler auf demselben 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.
(PS: Bitte fragen Sie hier nach TeX-Unterstützung für diese SE.)
quelle
Bisher scheint noch niemand den XKCD-Überpassungs-Comic veröffentlicht zu haben.
quelle
Das liegt daran, dass es ein so genanntes Bias-Varianz-Dilema gibt . Das überpasste Modell bedeutet, dass wir eine komplexere Entscheidungsgrenze haben, wenn wir mehr Varianz für das Modell angeben. Die Sache ist, dass nicht nur zu einfache Modelle, sondern auch komplexe Modelle wahrscheinlich nicht klassifizierte Ergebnisse bei unsichtbaren Daten haben. Infolgedessen ist ein Modell mit Überanpassung kein gutes Modell mit Unteranpassung. Deshalb ist eine Überanpassung schlecht und wir müssen das Modell irgendwo in der Mitte anbringen.
quelle
Was mich dazu gebracht hat, das Problem der Überanpassung zu verstehen, war, mir vorzustellen, welches Überanpassungsmodell am besten geeignet ist. Im Grunde wäre es eine einfache Nachschlagetabelle.
Sie teilen dem Modell mit, welche Attribute die einzelnen Daten haben, und es merkt sich diese einfach und macht nichts mehr damit. Wenn Sie ihm Daten geben, die er zuvor gesehen hat, schlägt er sie nach und spuckt einfach wieder aus, was Sie ihm zuvor gesagt haben. Wenn Sie ihm Daten geben, die er zuvor noch nicht gesehen hat, ist das Ergebnis unvorhersehbar oder zufällig. Beim maschinellen Lernen geht es jedoch nicht darum, Ihnen zu sagen, was passiert ist, sondern darum, die Muster zu verstehen und anhand dieser Muster vorherzusagen, was vor sich geht.
Stellen Sie sich also einen Entscheidungsbaum vor. Wenn Sie Ihren Entscheidungsbaum immer weiter vergrößern, erhalten Sie schließlich einen Baum, in dem jeder Blattknoten auf genau einem Datenpunkt basiert. Sie haben soeben eine Backdoor-Methode zum Erstellen einer Nachschlagetabelle gefunden.
Um Ihre Ergebnisse zu verallgemeinern, um herauszufinden, was in Zukunft passieren könnte, müssen Sie ein Modell erstellen, das verallgemeinert, was in Ihrem Trainingssatz vor sich geht. Overfit-Modelle beschreiben die Daten, über die Sie bereits verfügen, hervorragend, aber deskriptive Modelle sind nicht unbedingt prädiktive Modelle.
Das No-Free-Lunch-Theorem besagt, dass kein Modell ein anderes Modell auf der Menge aller möglichen Instanzen übertreffen kann . Wenn Sie vorhersagen möchten, was in der Folge der Zahlen "2, 4, 16, 32" als Nächstes kommt, können Sie kein genaueres Modell erstellen als jedes andere, wenn Sie nicht davon ausgehen, dass ein zugrunde liegendes Muster vorliegt. Ein Modell, das überzogen ist, bewertet die Muster nicht wirklich - es modelliert einfach, was es weiß, dass es möglich ist, und gibt Ihnen die Beobachtungen. Sie erhalten Vorhersagekraft, wenn Sie davon ausgehen, dass eine bestimmte Funktion zugrunde liegt, und wenn Sie bestimmen können, um welche Funktion es sich handelt, können Sie das Ergebnis von Ereignissen vorhersagen. Aber wenn es wirklich kein Muster gibt, haben Sie kein Glück und alles, was Sie hoffen können, ist eine Nachschlagetabelle, die Ihnen sagt, was möglich ist.
quelle
Sie verschmelzen fälschlicherweise zwei verschiedene Entitäten: (1) Bias-Varianz und (2) Modellkomplexität.
Zusammenfassung: Ja, sowohl die Stichprobenverzerrung als auch die Komplexität des Modells tragen zur „Qualität“ des erlernten Modells bei, sie beeinflussen sich jedoch nicht direkt. Wenn Sie voreingenommene Daten haben, hat das endgültig erlernte Modell unabhängig von der richtigen Anzahl von Parametern und dem unendlichen Training Fehler. Wenn Sie weniger als die erforderliche Anzahl von Parametern hätten, hätte das endgültig erlernte Modell unabhängig von der vollkommen unvoreingenommenen Abtastung und dem unendlichen Training einen Fehler.
quelle
Es gab viele gute Erklärungen zur Überanpassung. Hier sind meine Gedanken. Überanpassung tritt auf, wenn Ihre Varianz zu hoch und die Vorspannung zu niedrig ist.
Nehmen wir an, Sie haben Trainingsdaten dabei, die Sie in N Teile aufteilen. Wenn Sie nun für jeden Datensatz ein Modell trainieren, erhalten Sie N Modelle. Suchen Sie nun das mittlere Modell und verwenden Sie die Varianzformel, um zu berechnen, wie stark jedes Modell vom Mittelwert abweicht. Für überausgestattete Modelle ist diese Varianz sehr hoch. Dies liegt daran, dass jedes Modell geschätzte Parameter haben würde, die sehr spezifisch für den kleinen Datensatz sind, den wir ihm zugeführt haben. Wenn Sie das mittlere Modell nehmen und dann feststellen, inwieweit es sich von dem ursprünglichen Modell unterscheidet, das die beste Genauigkeit ergeben hätte, wäre es überhaupt nicht sehr unterschiedlich. Dies bedeutet eine geringe Vorspannung.
Um herauszufinden, ob Ihr Modell überarbeitet wurde oder nicht, können Sie die in den vorherigen Beiträgen erwähnten Diagramme erstellen.
Um eine Überanpassung zu vermeiden, können Sie das Modell regulieren oder eine Kreuzvalidierung durchführen.
quelle