Im vorherigen Modul wurde das folgende Modell vorgestellt, in dem viele
von Bäumen im Test-Dataset:
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.
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.