Überanpassung: Modellkomplexität

Im vorherigen Modul wurde das folgende Modell vorgestellt, in dem viele von Bäumen im Test-Dataset:

Abbildung 16: Dasselbe Bild wie in Abbildung 13. Dies ist eine komplexe Form,
            viele Bäume falsch kategorisiert. <ph type="x-smartling-placeholder">
</ph> Abbildung 16. Das fehlerhafte komplexe Modell aus der vorherigen Einheit.

Das vorherige Modell enthält viele komplexe Formen. Würde ein einfacherer um neue Daten besser zu verarbeiten? Angenommen, Sie ersetzen das komplexe Modell durch ein unglaublich einfaches Modell – eine gerade Linie.

Abbildung 17: Gerades Linienmodell, das hervorragend funktioniert
            erkrankte Bäume von gesunden Bäumen trennen. <ph type="x-smartling-placeholder">
</ph> Abbildung 17. Ein viel einfacheres Modell.

Das einfache Modell verallgemeinert besser als das komplexe Modell für neue Daten. Das heißt: machte das einfache Modell bessere Vorhersagen im Test-Dataset als das komplexe Modell.

Schon seit Langem wird die Komplexität erhöht. Tatsächlich Einfachheit gibt es schon seit dem alten Griechenland. Jahrhunderte später ein Mönch aus dem 14. Jahrhundert namens Wilhelm von Occam seine Präferenz der Einfachheit halber einer Philosophie, die als Occam's Rasierer. Diese Philosophie ist nach wie vor ein wesentliches Grundprinzip vieler Wissenschaften, maschinelles Lernen.

Übungen: Wissen testen

Sie entwickeln eine physikalische Gleichung. Welche der folgenden Formeln besser mit dem Occam-Rasierer übereinstimmen?
Eine Formel mit drei Variablen.
Drei Variablen sind besser für Occam geeignet als zwölf.
Eine Formel mit zwölf Variablen.
Zwölf Variablen erscheinen zu kompliziert, oder? Die beiden berühmtesten physikalischen Formeln aller Zeiten (F=ma und E=mc2) umfasst jeweils nur drei Variablen.
Sie arbeiten an einem brandneuen Projekt für maschinelles Lernen und sind dabei, zu den ersten Funktionen. Wie viele Funktionen sollten Sie auswählen?
Wählen Sie 1 bis 3 Funktionen aus, die sich positiv auf die Vorhersageleistung auswirken.
Es empfiehlt sich, Ihre Datenerfassungspipeline mit nur einem oder zwei Funktionen. So können Sie prüfen, ob das ML-Modell wie vorgesehen funktioniert. Wenn Sie eine Basislinie auf der Basis einiger Funktionen erstellen, haben Sie das Gefühl, Fortschritte zu machen.
Wählen Sie 4 bis 6 Funktionen aus, die eine starke Vorhersageleistung zu bieten scheinen.
Vielleicht nutzen Sie irgendwann so viele Funktionen, aber es ist immer noch besser, beginnen Sie mit weniger. Weniger Funktionen bedeuten in der Regel weniger unnötige Funktionen. Komplikationen.
Wähle so viele Funktionen wie möglich aus, damit du siehst, welche haben die besten Vorhersagefunktionen.
Fangen Sie in kleineren Einheiten an. Jede neue Funktion verleiht deinem Training eine neue Dimension Dataset. Wenn die Dimensionalität steigt, ist das Volumen des Raums steigt so schnell an, dass die verfügbaren Trainingsdaten spärlich werden. Die desto schwieriger kann es für ein Modell sein, zwischen den wirklich wichtigen Funktionen und dem Label. Dieses Phänomen wird als „Fluch der Dimensionalität“ bezeichnet.

Regularisierung

ML-Modelle müssen gleichzeitig zwei gegensätzliche Ziele erreichen:

  • Daten gut anpassen.
  • Passen Sie Daten so einfach wie möglich an.

Ein Ansatz, um ein Modell einfach zu halten, besteht darin, komplexe Modelle zu bestrafen. also: um zu zwingen, das Modell während des Trainings zu vereinfachen. Bestrafung des Komplexes Modelle ist eine Form der Regularisierung.

Verlust und Komplexität

Bisher haben wir in diesem Kurs darauf hingewiesen, dass das einzige Ziel beim Training darin war, den Verlust zu minimieren; Das bedeutet:

$$\text{minimize(loss)}$$

Wie Sie gesehen haben, sind Modelle, die ausschließlich auf die Minimierung von Verlusten ausgerichtet sind, tendenziell überangepasst. Ein besserer Algorithmus für die Trainingsoptimierung minimiert Verlust und Komplexität:

$$\text{minimize(loss + complexity)}$$

Leider sind Verlust und Komplexität in der Regel umgekehrt. Als zunimmt, die Verluste sinken. Mit abnehmender Komplexität steigt auch der Verlust. Sie sollten einen Mittelweg finden, in dem sich das Modell Vorhersagen sowohl zu den Trainingsdaten als auch zu realen Daten. Das heißt, Ihr Modell sollte einen vernünftigen Kompromiss finden, zwischen Verlust und Komplexität.

Was bedeutet Komplexität?

Sie haben bereits mehrere Möglichkeiten zur Quantifizierung des Verlusts kennengelernt. Wie würden Sie quantifizieren Sie Komplexität? Beginnen Sie Ihre explorative Datenanalyse mit der folgenden Übung:

Übung: Teste deine Intuition

Bislang haben wir uns nicht klar gesagt, was Komplexität eigentlich bedeutet. ist. Welche der folgenden Ideen wäre Ihrer Meinung nach sinnvoll? Komplexitätsmetriken?
Die Komplexität ist eine Funktion der Gewichtungen des Modells.
Ja, das ist eine Möglichkeit, und Komplexität. Dieser Messwert wird als L1-Regularisierung.
Komplexität ist eine Funktion des Quadrats der Gewichtungen des Modells.
Ja, Sie können die auf diese Weise komplex ist. Dieser Messwert heißt L2-Regularisierung:
Die Komplexität ist eine Funktion der Verzerrungen aller Merkmale im Modell.
Verzerrungen messen nicht die Komplexität.