Überanpassung und Beschneidung
Mit dem oben beschriebenen Algorithmus können wir einen Entscheidungsbaum trainieren, der Trainingsbeispiele perfekt klassifiziert, vorausgesetzt, die Beispiele sind trennbar. Wenn das Dataset jedoch Rauschen enthält, passt dieser Baum über die Daten an und zeigt eine schlechte Testgenauigkeit.
Die folgende Abbildung zeigt ein verrauschtes Dataset mit einer linearen Beziehung zwischen einem Element x und dem Label y. Die Abbildung zeigt auch einen Entscheidungsbaum, der ohne irgendeine Art von Regularisierung mit diesem Dataset trainiert wurde. Dieses Modell sagt alle Trainingsbeispiele korrekt voraus (die Vorhersage des Modells stimmt mit den Trainingsbeispielen überein). Bei einem neuen Dataset mit demselben linearen Muster und einer anderen Rauschinstanz würde das Modell jedoch eine schlechte Leistung erzielen.
Abbildung 12. Ein Dataset mit viel Rauschen.
Wenn Sie die Überanpassung eines Entscheidungsbaums begrenzen möchten, wenden Sie beim Training des Entscheidungsbaums eines oder beide der folgenden Regularisierungskriterien an:
- Maximale Tiefe festlegen:Damit verhindern Sie, dass Entscheidungsbäume über eine maximale Tiefe (z. B. 10) hinauswachsen.
- Mindestanzahl an Beispielen im Blatt festlegen:Ein Blatt mit weniger als einer bestimmten Anzahl von Beispielen wird bei der Aufteilung nicht berücksichtigt.
Die folgende Abbildung zeigt die Auswirkungen einer unterschiedlichen Mindestanzahl von Beispielen pro Blatt. Das Modell erfasst weniger Geräusche.
Abbildung 13. Unterschiedliche Mindestanzahl von Beispielen pro Blatt.
Sie können auch nach dem Training regelmäßig normalisieren, indem Sie bestimmte Zweige selektiv entfernen (beschneiden), indem Sie bestimmte Nicht-Blatt-Knoten in Blätter konvertieren. Eine gängige Lösung zur Auswahl der zu entfernenden Zweige ist die Verwendung eines Validierungs-Datasets. Wenn also das Entfernen eines Zweigs die Qualität des Modells im Validierungs-Dataset verbessert, wird der Zweig entfernt.
Die folgende Zeichnung veranschaulicht diese Idee. Hier testen wir, ob die Validierungsgenauigkeit des Entscheidungsbaums verbessert werden würde, wenn der grüne Nicht-Blatt-Knoten in ein Blatt verwandelt würde; das heißt, die orangefarbenen Knoten werden bereinigt.
Abbildung 14. Bedingung und ihre untergeordneten Elemente zu einem Blatt schneiden.
Die folgende Abbildung zeigt, wie sich eine Bereinigung von 20% des Datasets zur Bereinigung des Entscheidungsbaums auswirkt:
Abbildung 15. Es werden 20% des Datasets zum Bereinigen des Entscheidungsbaums verwendet.
Beachten Sie, dass bei Verwendung eines Validierungs-Datasets die Anzahl der Beispiele für das anfängliche Training des Entscheidungsbaums reduziert wird.
Viele Modellentwickler wenden mehrere Kriterien an. Sie können beispielsweise folgende Aktionen ausführen:
- Wenden Sie eine Mindestanzahl von Beispielen pro Blatt an.
- Wenden Sie eine maximale Tiefe an, um das Wachstum des Entscheidungsbaums zu begrenzen.
- Entfernen Sie den Entscheidungsbaum.
- Die Mindestanzahl von Beispielen beträgt 5 (
min_examples = 5
) - 10% des Trainings-Datasets werden für die Validierung beibehalten (
validation_ratio = 0.1
).
validation_ratio=0.0
festlegen.
Diese Kriterien führen neue Hyperparameter ein, die abgestimmt werden müssen (z.B. maximale Baumtiefe), oft mit automatischer Hyperparameter-Abstimmung. Entscheidungsbäume sind in der Regel schnell genug, um für die Verwendung der Hyperparameter-Abstimmung mit Kreuzvalidierung zu trainieren. Beispiel für ein Dataset mit „n“-Beispielen:
- Teilen Sie die Trainingsbeispiele in p nicht überlappende Gruppen auf. Beispiel:
p=10
. - Für alle möglichen Hyperparameter-Werte, z. B. maximale Tiefe in {3,5,6,7,8,9}, min. Beispiele in {5,8,10,20}.
- Bewerten Sie für jede Gruppe die Qualität eines Entscheidungsbaums, der für die anderen p-1-Gruppen trainiert wurde.
- Bewerten Sie die Bewertung aller Gruppen.
- Wählen Sie den Hyperparameter-Wert mit der besten gemittelten Bewertung aus.
- Trainieren Sie einen endgültigen Entscheidungsbaum mithilfe aller „n“-Beispiele mit den ausgewählten Hyperparametern.
In diesem Abschnitt haben wir besprochen, wie Entscheidungsbäume Überanpassung begrenzen. Trotz dieser Methoden sind Unteranpassung und Überanpassung die größten Schwächen von Entscheidungsbäumen. Entscheidungsgesamtstrukturen führen neue Methoden ein, um Überanpassung zu begrenzen, die wir später behandeln werden.
Interpretation des direkten Entscheidungsbaums
Entscheidungsbäume sind leicht zu interpretieren. Allerdings kann schon die Änderung einiger Beispiele die Struktur – und damit die Interpretation – des Entscheidungsbaums vollständig ändern.
Aufgrund der Art und Weise, wie Entscheidungsbäume erstellt werden, kann bei der Partitionierung der Trainingsbeispiele ein Entscheidungsbaum zur Interpretation des Datasets selbst (im Gegensatz zum Modell) verwendet werden. Jedes Blatt steht für eine bestimmte Ecke des Datasets.
model.describe()
-Funktion ansehen.
Mit model.get_tree()
können Sie auch auf einzelne Baumstrukturen zugreifen und sie grafisch darstellen.
Weitere Informationen finden Sie in der
Anleitung zur Modellinspektion von YDF.
Die indirekte Interpretation ist jedoch auch informativ.