Überanpassung: Verlustkurven interpretieren

Maschinelles Lernen wäre viel einfacher, wenn all Ihre Verlustkurven Beim ersten Trainieren Ihres Modells sah es so aus:

Abbildung 20. Diagramm, das die ideale Verlustkurve beim Trainieren eines
            ML-Modell zu erstellen. Die Verlustkurve stellt den Verlust auf der Y-Achse dar.
            der Anzahl der Trainingsschritte auf der x-Achse. Als Zahl
            der Trainingsschritte nehmen zu, der Verlust fängt hoch an und nimmt dann ab.
            exponentiell und wird schließlich angeglichen, um ein Minimum
            Verlust. <ph type="x-smartling-placeholder">
</ph> Abbildung 20. Eine ideale Verlustkurve.

Verlustkurven sind leider oft schwer zu interpretieren. Verwenden Sie Ihr und eine Vorstellung von Verlustkurven erhalten, um die Übungen auf dieser Seite zu lösen.

Übung 1: Oszillierende Verlustkurve

Abbildung 21. Eine Verlustkurve (Verlust auf der y-Achse; Anzahl der Trainings)
            Schritte auf der x-Achse), in denen der Verlust nicht abflacht.
            Stattdessen schwankt der Verlust unregelmäßig. <ph type="x-smartling-placeholder">
</ph> Abbildung 21. Oszillierende Verlustkurve.
Welche drei Maßnahmen könnten Sie ergreifen, um die Verlustkurve zu verbessern? wie in Abbildung 21 dargestellt.
Ihre Daten anhand eines Datenschemas vergleichen, um fehlerhafte Beispiele zu erkennen, und und entfernen Sie dann die schlechten Beispiele aus dem Trainings-Dataset.
Ja, das ist bei allen Modellen sinnvoll.
Lernrate reduzieren
Ja, die Lernrate zu reduzieren, ist bei der Fehlerbehebung Trainingsaufgabe.
Reduzieren Sie das Trainings-Dataset auf eine kleine Anzahl vertrauenswürdiger Beispiele.
Diese Technik klingt zwar künstlich, ist aber in Wirklichkeit eine gute Idee. Angenommen, das Modell konvergiert können Sie nach und nach weitere Beispiele hinzufügen, und vielleicht herausfinden, welche Beispiele die Verlustkurve verursachen, schwankt.
Erhöhen Sie die Anzahl der Beispiele im Trainings-Dataset.
Dies ist eine verlockende Idee, aber es ist sehr unwahrscheinlich, dass sich das Problem beheben lässt. das Problem zu lösen.
Lernrate erhöhen
Im Allgemeinen sollten Sie eine Erhöhung der Lernrate vermeiden, Lernkurve auf ein Problem hin.

Übung 2. Verlustkurve mit scharfem Sprung

Abbildung 22. Diagramm mit einer Verlustkurve, in dem der bis zu
            eine bestimmte Anzahl von Trainingsschritten
            mit weiteren Schulungsschritten. <ph type="x-smartling-placeholder">
</ph> Abbildung 22. Starker Anstieg der Niederlagen.
Welche zwei der folgenden Aussagen beziehen sich auf mögliche Gründe für den explodierenden Verlust (siehe Abbildung 22).
Die Eingabedaten enthalten ein oder mehrere NaNs, z. B. einen Wert die durch eine Division durch Null verursacht wird.
Das kommt häufiger vor, als Sie vielleicht erwarten.
Die Eingabedaten enthalten eine Reihe von Ausreißern.
Aufgrund von nicht ordnungsgemäßem Shuffle von Batches kann es vorkommen, viele Ausreißer enthalten.
Die Lernrate ist zu niedrig.
Eine sehr niedrige Lernrate kann die Trainingszeit verlängern, und nicht die Ursache der seltsamen Verlustkurve.
Die Regularisierungsrate ist zu hoch.
Richtig. Eine sehr hohe Regularisierung könnte verhindern, dass ein Modell converging; die seltsame Verlustkurve aber nicht wie in Abbildung 22 dargestellt.

Übung 3. Testverlust weicht vom Trainingsverlust ab

Abbildung 23. Die Trainingsverlustkurve scheint zu konvergieren, aber die
            Der Validierungsverlust beginnt nach einer bestimmten Anzahl von Trainings zu erhöhen.
            Schritte. <ph type="x-smartling-placeholder">
</ph> Abbildung 23. Der Validierungsverlust hat deutlich zugenommen.
Welche eine der folgenden Aussagen beschreibt das Problem mit der Grund für diesen Unterschied zwischen den Verlustkurven des Trainings und Test-Datasets?
Das Modell ist zu sehr an das Trainings-Dataset angepasst.
Ja, wahrscheinlich. Mögliche Lösungen:
  • Vereinfachen Sie das Modell, indem Sie möglicherweise die Anzahl reduzieren. von Funktionen.
  • Erhöhen Sie die Regularisierungsrate.
  • Sicherstellen, dass das Trainings-Dataset und das Test-Dataset statistisch sind Äquivalent.
Die Lernrate ist zu hoch.
Wenn die Lernrate zu hoch war, ist die Verlustkurve für das Dataset hätte sich wahrscheinlich nicht so verhalten.

Übung 4. Die Verlustkurve bleibt hängen

Abbildung 24: Diagramm einer Verlustkurve, das den Beginn bis
            mit dem Training konvergieren, aber dann wiederholte Muster anzeigen,
            wie eine rechteckige Welle aussehen. <ph type="x-smartling-placeholder">
</ph> Abbildung 24. Chaotischer Verlust nach einer bestimmten Anzahl von Schritten.
Welche eine der folgenden Aussagen ist am wahrscheinlichsten Erklärung für die in Abbildung 24 gezeigte unregelmäßige Verlustkurve?
Das Trainings-Dataset enthält sich wiederholende Abfolgen von Beispielen.
Das ist eine Möglichkeit. Achten Sie darauf, dass Sie Beispiele für den Zufallsmix wiedergeben. nicht ausreichend ist.
Die Regularisierungsrate ist zu hoch.
Das ist höchstwahrscheinlich nicht der Fall.
Das Trainings-Dataset enthält zu viele Features.
Das ist höchstwahrscheinlich nicht der Fall.