Ein Random Forest (deutsch Zufallswald) ist ein Klassifikations- und Regressionsverfahren, das aus mehreren unkorrelierten Entscheidungsbäumen besteht. Alle Entscheidungsbäume sind unter einer bestimmten Art von Randomisierung während des Lernprozesses gewachsen. Die einzelnen Bäume werden dann zu einem Ensemble, dem Random Forest, kombiniert. Die Ergebnisse der einzelnen Bäume werden im Ensemble mit einer Aggregierungsfunktion zusammengefasst. Häufig verwendete Aggregierungsfunktionen sind der Mittelwert, Median, Mehrheitswahl und viele weitere (siehe unten). Random Forests werden für maschinelles Lernen eingesetzt.
Geschichte
Der Begriff Random Forest wurde von Leo Breiman im Jahr 2001 geprägt. Er erforschte verschiedene Methoden der Randomisierung von Entscheidungsbäumen, beispielsweise mittels Bagging oder Boosting. Seiner Arbeit ging die Forschung von Tin Kam Ho im Jahr 1995 voraus.
Algorithmen
Für jeden Entscheidungsbaum im Random Forest wird folgender Algorithmus angewandt werden:
- Es werden Bootstrap-Samples aus dem Trainingsdatensatz durch Ziehen mit Zurücklegen gezogen.
- Von den Merkmalen (Features oder Dimensionen) der Trainingsdaten werden an jedem Knoten im Baum Merkmale zufällig gewählt, die als Kriterium für den Schnitt (Split) infrage kommen sollen.
- Die anschließende Auswahl eines Merkmals aus dieser Menge sowie sein Solit-Wert kann zum Beispiel mittels der Minimierung der Entropie oder des Mean-Squared Errors geschehen, siehe CART (Algorithmus)
- Der Baum wird voll ausgebaut und nicht zurückgeschnitten (Pruning).
Da jeder Baum des Random-Forest unabhängig von den anderen Bäumen aufgebaut wird, kann die Antwort der einzelnen Bäume unterschiedlich ausfallen. Um zu einer Gesamt-Vorhersage zu gelangen wird über die Vorhersage der einzelnen Bäume aggregiert:
- Bei der Klassifikation kann einfach die Klasse zurückgeliefert werden, die am häufigsten gewählt wurde (Majority-Voting). Wenn es mehrere Klassen gibt, die am häufigsten gewählt wurden, muss man sich anderweitig für eine entscheiden.
- Bei der Regression kann beispielsweise der Mittelwert der Vorhersagen gebildet werden
Es gibt viele verschiedene Hyperparameter beim Training, eins Random Forest. Dazu zählt unter anderem, welche Entscheidungsbäume verwendet werden und ob eine maximale Tiefe der Bäume vorgegeben wird.
Bosch et al. speichern zusätzlich in jedem Blatt die A-posteriori-Wahrscheinlichkeiten der Klassen, mit denen sie das Blatt finden. Diese Wahrscheinlichkeiten werden anschließend bei der Klassifikation berücksichtigt. Dadurch kann die Fehlerrate in ihrer Anwendung verringert werden.
Eigenschaften
Eine große Anzahl unkorrelierter Bäume macht genauere Vorhersagen möglich als ein einzelner Entscheidungsbaum. Dies liegt daran, dass durch Aggregierung unkorrelierter Ergebnisse die Streuung des aggregierten Wertes sinkt (vergleiche Standardfehler des Mittelwertes). Da die einzelnen Bäume unabhängig wachsen (da sie jeweils das beste Merkmal unter einer zufälligen Teilmenge von Merkmalen als Split benutzen), sind ihrer Vorhersagen per Konstruktion nicht perfekt korreliert.
Vor- und Nachteile
Ein Random Forest kann mit vielen Vorteilen gegenüber anderen Klassifikationsmethoden punkten.
- Der Klassifikator trainiert sehr schnell: Dieser Vorteil ergibt sich durch die kurze Trainings- bzw. Aufbauzeit eines einzelnen Entscheidungsbaumes und dadurch, dass die Trainingszeit bei einem Random Forest linear mit der Anzahl der Bäume steigt.
- Die Evaluierung eines Testbeispieles geschieht auf jedem Baum einzeln und ist daher parallelisierbar. Er evaluiert also schnell.
- Er ist sehr effizient für große Datenmengen (viele Trainingsbeispiele, viele Merkmale).
- Wichtige Faktoren/Merkmale (engl. Features) können erkannt werden.
Entscheidungsbäume haben das Risiko einer Überanpassung aus, weil sie dazu neigen, alle Stichproben innerhalb der Trainingsdaten fest anzupassen. Wenn es in einem Random Forest eine genügend große Anzahl von Entscheidungsbäumen gibt, wird durch die Berechnung des Mittelwerts die Varianz dieses geschätzten Mittelwertes und der Vorhersagefehler verringert.
- Ein Random Forest kann sowohl Regressionsprobleme als auch Klassifizierungsprobleme mit großer Genauigkeit lösen.
- Er kann auch für die Schätzung fehlender Werte verwendet werden, weil er die Genauigkeit beibehält, wenn ein Teil der Daten fehlt.
- Random Forests erleichtern es, die Bedeutung einer Variable oder eines Merkmals für ein Modell zu bewerten. Durch Berechnung der erwarteten Impurity-Verringerung kann eine Feature-Importance angegeben werden.
- Random Forests können große Datensätze verarbeiten und besitzen eine nach oben skalierbare Modellkapazität. Da sie zusätzlich nichtlineare Zusammenhänge beschreiben können, liefern sie bei guter Anpassung häufig gute Ergebnisse.
Als Nachteile können gesehen werden:
- Eine Laufzeit, welche linear mit der Zahl der Bäume skaliert (und daher bei großer Zahl davon Bäumen länger wird)
- Außerdem benötigen sie mehr Speicherplatz als ein einzelnes, kleines Lineares Modell.
Verbindung zu Nächste-Nachbar Algorithmem
Random Forests besitzen Änhlichkeit zu „potential nearest neighbor algorithms“. Hieraus folgt: Betrachtet man unabhängige und identisch verteilte Werte eines zufälligen Eingabevektors und einer zufälligen Antwortvariablen . Will man die Regressionsfunktion schätzen, dann kann man für jeden Punkt eine Schätzfunktion von definieren, die auf den Funktionswerten basiert. Der mittlere quadratische Abweichung bei ist
Bei einer gegebenen Metrik schätzt der K-Nearest-Neighbor-Algorithmus den Wert , indem er die Punkte betrachtet, die am nächsten sind:
Dabei ist das Gewicht gleich für die nächsten Nachbarn von und gleich 0 für alle anderen Punkte.
Betrachtet man die Schätzfunktion von für das Regressionsproblem mit und auf der Grundlage einer Zufallsstichprobe und nimmt an, dass die Zufallsvariable eine Wahrscheinlichkeitsverteilung in hat. Ist die Schätzfunktion eines nicht adaptiven Random Forest, dessen Endknoten die Größe haben, dann gibt es eine Konstante , sodass für alle und alle Funktionswerte folgende Abschätzung für die mittlere quadratische Abweichung gilt:
Das bedeutet, dass eine untere Schranke der Konvergenzgeschwindigkeit der mittleren quadratischen Abweichung von nicht adaptiven Random Forests ist. Andererseits ist bekannt, dass die optimale Konvergenzgeschwindigkeit des mittleren quadratischen Fehlers bei Regressionsproblemen gleich ist.
Weblinks
- Random Forests, Homepage von Leo Breiman und Adele Cutler
Einzelnachweise
- 1 2 Breiman L., Random forests. In: Machine Learning, 2001, 45(1), Seiten 5–32, doi:10.1023/A:1010933404324
- ↑ Tin Kam Ho, Random Decision Forests, Proceedings of the 3rd International Conference on Document Analysis and Recognition, Montreal, Canada, August 14-18, 1995, 278-282, doi:10.1109/ICDAR.1995.598994.
- ↑ Andy Liaw & Matthew Wiener (2002): "Classification and Regression by random Forest", R News 2/3: 18-22.
- ↑ Anna Bosch, Andrew Zisserman, Xavier Muñoz: Image classification using random forests and ferns. ICCV 2007. IEEE 11th International Conference on Computer Vision, Seiten 1–8, doi:10.1109/ICCV.2007.4409066.
- ↑ IBM: What is random forest?
- ↑ Yi Lin, Yongho Jeon: Random Forests and Adaptive Nearest Neighbors. In: Journal of the American Statistical Association. Band 101, Nr. 474, 1. Juni 2006, ISSN 0162-1459, S. 578–590, doi:10.1198/016214505000001230 (tandfonline.com).