Vom Baum zum Wald
Ein einzelner Baum ist instabil: kleine Datenänderung, anderer Baum. Der Random Forest macht aus diesem Defekt ein Prinzip — er baut absichtlich viele verschiedene Bäume und lässt sie abstimmen. Die Einzelfehler mitteln sich weg.
Random Forest = Bagging + Feature-Zufall: Jeder Baum sieht (1) eine zufällige Bootstrap-Stichprobe der Daten und prüft (2) an jedem Knoten nur eine zufällige Teilmenge der Features. Vorhersage: Mehrheitsentscheid.
Die zwei Zufallsquellen
1
Bootstrap-Sampling (Bagging)
Für jeden Baum werden n Beispiele mit Zurücklegen aus den n Trainingsdaten gezogen. Jeder Baum sieht so ~63 % der Bilder, manche mehrfach — jeder lernt eine andere Version des Datasets.
2
Feature-Zufall pro Knoten
An jedem Split stehen nur √(Anzahl Features) zufällig gewählte Features zur Wahl (bei 512 also ~23). Dominante Features können nicht jeden Baum gleich aussehen lassen.
3
Abstimmung
Jeder der z.B. 300 Bäume gibt eine Klasse ab; die häufigste gewinnt (bzw. die gemittelten Klassen-Wahrscheinlichkeiten).
Warum das funktioniert — die Jury-Intuition
Stell dir 300 Gutachter vor, die jeder zu 75 % richtig liegen. Sind ihre Fehler unabhängig, liegt die Mehrheit fast nie daneben — Fehler eines Einzelnen werden überstimmt. Sind die Fehler dagegen korreliert (alle haben dieselbe Schwäche), bringt die Abstimmung nichts: Alle irren gemeinsam. Die beiden Zufallsquellen existieren genau deshalb — sie dekorrelieren die Bäume.
Warum eigentlich? — Bias-Varianz: warum Mitteln genau hier hilft
Der Fehler eines Modells zerfällt in Bias (systematisch daneben) und Varianz (instabil je nach Trainingsdaten). Tiefe Bäume haben wenig Bias, aber riesige Varianz — der perfekte Kandidat fürs Mitteln, denn Mitteln senkt Varianz, nicht Bias: Bei B unabhängigen Bäumen fällt der Varianz-Anteil etwa auf 1/B. Deshalb mittelt man tiefe Bäume statt flacher: Flache Bäume hätten gemeinsamen Bias, und den stimmt keine Mehrheit weg. Umgekehrt heißt das: Ein Random Forest aus lauter gleich-falschen Bäumen bleibt falsch.
Häufiger Denkfehler — Mehr Bäume = Overfitting? Nein.
Die Intuition „300 tiefe Bäume, jeder einzeln übergefittet — das Ensemble muss doch erst recht overfitten“ klingt plausibel und ist falsch. Mit mehr Bäumen nähert sich der Wald seinem Erwartungswert — die Kurve wird flacher, nicht schlechter (Breiman 2001 beweist die Konvergenz). Mehr Bäume kosten nur Zeit und RAM. Overfitting beim Random Forest steuert man über die Tiefe der Bäume und
min_samples_leaf, nicht über die Anzahl.Tiefer rein — Out-of-Bag: das eingebaute Validation-Set
Jeder Baum hat ~37 % der Trainingsdaten nie gesehen (sie wurden für seinen Bootstrap nicht gezogen). Man kann also jedes Trainingsbild von genau den Bäumen klassifizieren lassen, die es nicht kennen — das ergibt den OOB-Score: eine ehrliche Generalisierungs-Schätzung ganz ohne separates Validation-Set, quasi gratis beim Training. In sklearn:
oob_score=True. Für schnelle Experimente ersetzt das die Cross-Validation; das finale Test-Set ersetzt es nicht.