Bias-Varianz-Simulator: Random Forest (Regression)

Wahre Funktion: f(x₁) = sin(2πx₁)  ·  Beobachtung: y = f(x₁) + ε mit ε ~ N(0, σ²). Wir spielen „Gott“: Wir kennen f und ziehen beliebig viele frische Trainingsdatensätze aus derselben Verteilung. Neu gegenüber der Polynom-Version: Der Schätzer ist jetzt selbst zufällig – Bootstrap und Feature-Auswahl bringen eine zweite Zufallsebene ins Spiel.

Datenerzeugung Gott-Regler
Modell Random-Forest-Regler
Achtung: Der Wald ist gar kein Wald. Ohne Bootstrap und mit mtry = allen Features ist der Baumbau vollständig deterministisch – alle B Bäume sind identisch. Der Mittelwert von B gleichen Bäumen ist dieser eine Baum. Schalten Sie eine Zufallsquelle ein und beobachten Sie, was mit der Varianz passiert.
rechnet …
Beobachtungsauftrag Jedes Fenster zeigt eine eigene Welt: einen frisch gezogenen Trainingsdatensatz und den darauf trainierten Random Forest. Die graue gestrichelte Linie ist die wahre Funktion. Gezeigt werden acht Welten pro Seite – mit den Pfeilen blättern Sie durch alle M Welten, aus denen weiter hinten Bias und Varianz berechnet werden. Fragen: Wie ähnlich sind sich die Wälder bei 2 Blättern? Bei 8? Bei ∞? Und: Was passiert an den Rändern von [0,1]?
Treppen statt Kurven Ein Baum sagt stückweise konstant vorher – die Vorhersage ist eine Treppe, deren Stufenzahl der Blätterregler steuert. Am linken und rechten Rand läuft sie flach aus: Bäume extrapolieren nicht. Das ist ein systematischer Fehler, also Bias – aber ein völlig anderer als beim Polynom, das dort explodierte.
Bewusst ohne Kennzahlen In einem einzelnen Fenster gibt es keinen Bias und keine Varianz – ein Einzelmodell hat nur einen Fehler. Bias und Varianz sind Eigenschaften der ganzen Modellschar.
Ein Baum, aufgeklappt Hier sehen Sie einen einzelnen Baum des Waldes so, wie er wirklich gebaut ist: als Folge von Ja/Nein-Fragen. Der Blätterregler oben schneidet den Baum ab – bei 6 Blättern sehen Sie die 5 wichtigsten Splits, bei „∞“ den voll ausgewachsenen Baum. Jeder Split im Diagramm entspricht genau einer Stufenkante in der Vorhersage rechts.

Baumdiagramm

Trainingsdatensatz dieser Welt
im Bagging-Datensatz  ·  selten → oft gezogen
Out-of-Bag: dieser Baum hat den Punkt nie gesehen
x₁ – das echte Signal Rausch-Feature beim Split nicht angeboten wäre die beste Wahl gewesen, fehlte aber im Angebot
So liest man max_features (mtry) Die Tabelle links ist nach x₁ sortiert – Sie können jede Split-Schwelle darin direkt wiederfinden. Die kleine Kästchenreihe über jeder Frage ist der Feature-Vorrat. Gefüllte Kästchen = das Angebot an diesem Knoten, ihre Anzahl ist genau mtry. Das dick umrandete Kästchen ist die getroffene Wahl. Der Baum darf immer nur aus dem Angebot wählen – und das Angebot wird an jedem Knoten neu ausgewürfelt.

Was dieser eine Baum vorhersagt

wahre Funktion f(x₁) Vorhersage dieses Baums Split auf x₁ (wird zur Stufenkante) Punkte wie in der Tabelle: blau = gezogen, rot = Out-of-Bag

Bilanz dieses Baums

Splits im gezeigten Baum
Blätter
Splits auf x₁ (Signal)
Splits auf Rausch-Features
beste Variable fehlte im Angebot
Experiment Stellen Sie oben k = 3 irrelevante Features ein und mtry auf 1. Dann wird an jedem Knoten nur eine Variable angeboten – in 3 von 4 Fällen eine nutzlose. Der Baum wird sichtbar schlechter. Genau dafür gibt es den Wald: Was ein einzelner Baum an Qualität verliert, gewinnt die Schar an Unabhängigkeit zurück. Mit mtry = 4 sieht jeder Knoten alles – die Bäume werden besser und sich gegenseitig ähnlicher.
Eine Welt, viele Bäume Ansicht 1 zeigte viele Welten mit je einem Wald. Hier steigen wir in eine Welt hinab und sehen die B Einzelbäume, aus denen der Wald gemittelt wird. Der Bootstrap zieht dafür n Punkte mit Zurücklegen aus demselben einen Datensatz – er ist der Viele-Welten-Ansatz für Sterbliche.

Die B Bäume dieser einen Welt

wahre Funktion f(x₁) einzelne Bäume (B Stück) Mittelwert = der Wald

Die Bootstrap-Ziehung für Baum 1

gezogen (Fläche ∝ Häufigkeit) Out-of-Bag
eindeutige Punkte im Bootstrap
theoretischer Grenzwert 1−1/e63.2 %
OOB-Fehler (nur aus Daten)
wahrer Testfehler (Gott)
Brücke zur Praxis Der OOB-Fehler nutzt für jeden Punkt nur die Bäume, die ihn nie gesehen haben. Er kostet nichts extra und ersetzt im Wald die Cross-Validation. Vergleichen Sie die beiden Zahlen: So nah kommt man dem Blick Gottes, ohne Gott zu sein.
Bootstrap-Welten sind keine echten Welten Gott zieht aus der wahren Verteilung P. Der Bootstrap zieht aus der einen vorliegenden Stichprobe. Alle Bootstrap-Bäume hängen an denselben n Punkten und sind deshalb untereinander korreliert – deshalb kann Bagging die Varianz senken, aber nie auf null.
Alle Wälder übereinandergelegt Jetzt werden alle M Wälder halbtransparent überlagert. Zwei geometrische Größen werden sichtbar: der Abstand der Mittelwertkurve zur wahren Funktion (→ Bias) und die Breite des Kurvenschlauchs (→ Varianz).
wahre Funktion f(x₁) einzelne Wälder (M Stück) Mittelwert der Wälder ±1 Standardabweichung

Zerlegung des Fehlers

Bias²
Varianz gesamt
zwischen den Welten (Daten)
innerhalb einer Welt (Algorithmus)
σ² (irreduzibel)
Summe
MSE, frische Testdaten
Merksatz Bias² + Varianz + σ² ≈ gemessener Testfehler. Neu: Die Varianz zerfällt weiter. Der Anteil „innerhalb einer Welt“ ist der Preis des Zufalls im Algorithmus – und er schrumpft mit 1/B. Ziehen Sie den B-Regler und beobachten Sie genau diese Zeile.
Ein Fenster pro Komplexitätsstufe Jedes Fenster zeigt die komplette Waldschar bei einer festen Blätterzahl – deshalb darf hier (und erst hier) in jedem Fenster die volle Analytik stehen. Die Leiter der Blätterzahlen passt sich n an: Mehr Blätter als unterscheidbare Punkte kann ein Baum nicht bilden, deshalb endet sie bei „∞“ = voll ausgewachsen.

Fehlerzerlegung über die Modellkomplexität

Bias² (Wald) Varianz (Wald) Summe (Wald) Summe bei B = 1 (Einzelbaum) σ² (irreduzibler Sockel)
Die Pointe Der Einzelbaum (gestrichelt) zeigt die klassische U-Form: rechts läuft ihm die Varianz davon. Der Wald (durchgezogen) hat einen fast flachen rechten Ast. Bagging bügelt den Overfitting-Arm der U-Kurve platt – deshalb ist „zu viele Blätter“ beim Random Forest ein weit geringeres Problem als „zu hoher Grad“ beim Polynom. Der Bias-Ast links bleibt dagegen unangetastet: Zu wenig Blätter kann kein Wald reparieren.