Grafik von Milad Fakurian – https://unsplash.com/de/@fakurian

Random Forests - Ein Upgrade für Decision Trees

Decision Trees sind alleine häufig nicht ausreichend um eine sinnvolle Klassifikation durchzuführen. Random Forests stelle eine Verbesserung der Decision Trees dar. Dieses Verfahren möchte ich im Folgenden vorstellen.

Henrik Bartsch

Henrik Bartsch

Die Texte in diesem Artikel wurden teilweise mit Hilfe künstlicher Intelligenz erarbeitet und von uns korrigiert und überarbeitet. Für die Generierung wurden folgende Dienste verwendet:

Einordnung

Random Forests sind eine leistungsfähige Technik des Maschine Learning, die in den letzten Jahren aufgrund ihrer Vielseitigkeit und Effektivität an Popularität gewonnen hat. Dieser Algorithmus wird sowohl zur Lösung von Regressions- als auch von Klassifikationsproblemen eingesetzt und basiert auf dem Konzept des Ensemble-Lernens. In diesem Artikel werden wir die Grundlagen von Random Forests, ihre Funktionsweise und ihre Anwendungen in verschiedenen Bereichen untersuchen.

Die Grundlage - Ensemble Learning

Grundsätzlich basiert jedes Modell aus dem Machine Learning auf irgendeiner zuvor getroffenen Annahme. Sei es die Wichtigkeit eines bestimmten Eingabeparameters, dass bestimmte Trends vereinfacht dargestellt werden können oder komplexer dargestellt werden müssen oder auch andere Annahmen. Auch wenn Annahmen getroffen werden, die klassischerweise relativ gute Ergebnisse für einen bestimmten Problembereich liefern, ist es oft komplex, eine wirklich gute Annahme zu finden. Eine solche Menge von Hypothesen kann prinzipiell zusätzlich relativ groß werden. Bei Ensembles werden Hypothesen (und dazugehörige Modelle) kombiniert und gemeinsam trainiert um eine potentiell bessere Lösung zu finden. Bei Klassifikationsproblemen wird beispielsweise ein Mehrheitsvotum verwendet, um die entsprechenden Klassen zu identifizieren, die am wahrscheinlichsten sind.

Die Verwendung mehrerer Einzelmodelle in einem Ensemble-Modell führt automatisch dazu, dass die Rechenzeiten für Vorhersagen im Vergleich zu einfacheren Modellen ansteigen. Grundsätzlich kann die Idee hinter Ensemble-Learning so verstanden werden, dass schlechtere Lernalgorithmen besser abschneiden können, wenn diese zusätzliche Berechnungen durchgeführt haben. Alternativ könnte man bei Nicht-Ensemble-Algorithmen stattdessen auch mehr Berechnungen durchführen, um entsprechende Ergebnisse zu erzielen.

Ensemble-Systeme haben jedoch den Vorteil, dass sie die Gesamtgenauigkeit bei steigenden Computerressourcen effizienter steigern als Nicht-Ensemble-Systeme. Darüber hinaus haben Ensemble-Methoden den Vorteil, dass sie (signifikant) bessere Ergebnisse liefern als Nicht-Ensemble-Systeme, wenn sich die einzelnen Modelle stark voneinander unterscheiden. Diese Eigenschaft wird in vielen Algorithmen für Ensemble-Learning versucht zu fördern. Neben diesen Eigenschaften haben Ensemble-Systeme auch den Vorteil, dass diese durch die Verwendung vieler Klassifikatoren die Varianz in den Vorhersagen (stark) reduzieren. 1 2

Es existieren eine Reihe weiterer Ensemble-Methoden. Bei diesen handelt es sich um Bootstrap Aggregation oder Boosting.


Random Forests

Die Grundidee

Die Idee, auf welcher das Verfahren der Random Forests basiert, ist viele verschiedene und unkorrelierte Decision Trees zu trainineren um eine Ensemble-Modell aus den entsprechend trainierten Decision Trees zu generieren. Dies wird mit Hilfe von zwei verschiedenen Verfahren versucht zu erreichen:

  1. Feature Randomness und

  2. Bootstrap Aggregation.

Bei Feature Randomness handelt es sich darum, eine zufällige Menge der Eingangssvariablen zu generieren und anhand dieser Decision Trees zu trainieren. Dies stellt einen wichtigen Unterschied zum Decision Tree dar, welcher grundsätzlich mithilfe aller Eingangsvariablen trainiert. Auf die resultierenden Decision Trees wird kein Pruning angewandt.

Notiz vom Autor: Ich persönlich habe anstatt mit dieser Methode mit einer Methode gearbeitet, welche zufällige Datenpunkte aus dem Trainingsdatensatz zieht (mit Zurücklegen) um daraus jeweils einen Datensatz zum Training eines jeden eizelnen Decision Trees zu generieren. Auch hierdurch werden gute Ergebnisse erzielt.

Bei Bootstrap Aggregation handelt es sich um eine absichtliche Verzerrung des Trainingsdatensatzes für die einzelnen Klassifikatoren. Hierbei wird für jeden Klassifikator ein Trainingsdatensatz gebildet, imdem eine Stichprobe von Daten aus dem originalen Datensatz gezogen wird welcher einzelne Datenpunkte mehrfach zulässt. Dadurch wird die Varianz (stark) reduziert. 3 4

Feature Randomness und Bootstrap Aggregation sind zwei wichtige Faktoren, da die Genauigkeit des Random Forest hauptsächlich von der Stärke der einzelnen Entscheidungsbäume und der Abhängigkeit zwischen ihnen abhängt. 4

Zusätzlich wird noch ca. ein Drittel der Daten als Testdatensatz aus dem Trainingsdatensatz entfernt. Dieser Testdatensatz wird verwendet, um beispielsweise mittels Cross-Validation die entsprechenden Parameter des Algorithmus zu optimieren. 2

Die Parameter

Für den Basisalgorithmus müssen vor dem Training drei Parameter festgelegt werden:

  1. Die Anzahl der Features/Datenpunkte, die für das Training von den Decision Trees verwendet werden.

  2. Die Anzahl der Decision Trees, welche trainiert werden sollen.

Klassischerweise werden je nach Komplexität des Problems mehrere hundert bis einige tausend Entscheidungsbäume trainiert. 5

Im Folgenden wird der Einfluss der Anzahl der Klassifikatoren auf die Genauigkeit dargestellt. Trainiert wurden “Random Forest”-Modelle auf dem Brustkrebs-Datensatz.

Es zeigt sich, dass der Einfluss relativ gering ist. Dies ist wahrscheinlich auf die Einfachheit des Datensatzes zurückzuführen und kann nicht auf die Allgemeinheit übertragen werden. Trotz der Einfachheit des Datensatzes sind auch hier kleine Unterschiede erkennbar.

Im Vergleich hierzu haben Decision Trees auf diesem Datensatz eine Genaugkeit von 97.2%97.2 \%.

Anwendungen

Das Verfahren des Random Forests kann nun auf folgende Weisen verwendet werden: 2 5 6

  1. Klassifikation: Mittels eines Mehrheitsentscheides über die Decision Trees kann eine entscheidene Vorhersage über die Klassenzugehörigkeit eines Datenpunktes getroffen werden.

  2. Regression: Mittels einer Klassifikation über verschiedene numerische Werte und Mittelwertbildung über die Decision Trees, werden Regressionsergebnsse geliefert.

Vorteile und Nachteile von Random Forests

Vorteile

”Random Forests”-Modelle besitzen eine Reihe von praktisch relevanten Vorteilen: 2 4

  1. Die Gefahr des Overfittings wird durch das Ensemble-System im Vergleich zu Decision Trees (signifikant) reduziert, wenn eine robuste Anzahl von Decision Trees verwendet wird. Die Gefahr des Overfittings nimmt mit steigender Anzahl der Entscheidungsbäume ab. Der Klassifikator wird in diesem Fall das Modell nicht zu nah an den Daten anpassen, da die Mittelwertbildung von unkorrelierten Bäumen die Gesamtvarianz und Vorhersagefehler reduizert.

  2. Die Methode der Random Forests ist durch die Möglichkeit sowohl mit Klassifikations- als auch Regressionsproblemen zu arbeiten eine sehr flexible Methode. Durch Feature Bootstrap Aggregation können Random Forests auch zur Schätzung fehlender Werte verwendet werden, da die Genauigkeit nicht leidet, wenn ein Teil der Daten fehlt.

  3. Durch Random Forests kann verhältnismäßig einfach die Wichtigkeit eines bestimmen Parameters auf die Performance des Modells bestimmt werden.

Eine entsprechende Bewertung der Performance eines Parameters unter Auschluss aus dem Datensatz kann über die Gini Importance oder Mean Decrease in Impurity gemessen werden. Über Mean Decrease in Accuracy wird die Abnahme der Genauigkeit durch zufällige Permutation der Parameterwerte gemessen. Weitere Informationen zu diesem Thema können hier gefunden werden.

  1. Overfitting ist ein Problem, welches bei Random Forests eine nicht so große Rolle spielt. Dies kann mit Hilfe des starken Gesetzes der großen Zahlen gezeigt werden. Außerdem kann gezeigt werden, dass mehr Bäume den Vorhersagefehler verringern. 4

Nachteile

”Random Forests”-Modelle besitzen neben den Vorteilen allerdings auch eine Reihe von Nachteilen: 2

  1. Das Training von Random Forests ist ein zeitaufwändiger Prozess, der durch das Training vieler verschiedener Entscheidungsbäume erfolgt. Das Ergebnis ist in der Regel ein genauerer Klassifikator, der jedoch mehr Zeit für die Vorhersage benötigt.

  2. Die Verwendung unterschiedlicher Klassifikatoren erfordert mehr Rechnerressourcen für die Verarbeitung und (Zwischen-)Speicherung der entsprechenden Daten.

Diese Problematik kann zumindest bei Rechenzeit durch mögliche Parallelisierung (teilweise) kompensiert werden. 4

  1. Bei der Verwendung eines Random Forest anstelle eines Entscheidungsbaums geht die Übersichtlichkeit des Decision Trees verloren, die bei der Fehlersuche hilfreich sein kann.

Anwendungsgebiete von Random Forests

Random Forests können in einer Reihe von praktischen Anwendungsfeldern eingesetzt werden: 2

  1. Im Finanzbereich kann dieses Verfahren zur Bewertung von Kunden mit hohem Kreditrisiko, zur Aufdeckung von Betrugsfällen oder zur Preisfindung eingesetzt werden. Hier spielen vor allem die verkürzte Ausführungszeit und der geringere Bedarf an Datenvorverarbeitung eine Rolle.

  2. Im Gesundheitsbereich kann die computergestützte Biologie helfen. Die großen Datenmengen, die dort zur Verfügung stehen, können genutzt werden, um vorherzusagen, wie genau Medikamente bei bestimmten Patienten wirken werden.

  3. Im Bereich der E-Commerce werden Modelle wie Random Forests dazu verwendet, um Empfehlungsmaschinen darzustellen und so Kundenzufriedenheit zu steigern.

Quellen

Footnotes

  1. wikipedia.org

  2. ibm.com 2 3 4 5 6

  3. wikipedia.org

  4. ”Random Forests” von Leo Breiman (2001) via link.springer.com 2 3 4 5

  5. wikipedia.org 2

  6. towardsdatascience.com