Zum Inhalt springen

Was ist ein Random Forest?

Random Forest ist ein supervised Machine Learning Algorithmus, welcher sich aus einzelnen Decision Trees zusammensetzt. Eine solche Art von Modell wird als Ensemble Modell bezeichnet, da ein „Ensemble“ aus unabhängigen Modellen genutzt wird, um ein Ergebnis zu berechnen.

In der Praxis wird dieser Algorithmus für verschiedene Klassifikationsaufgaben oder Regressionsanalysen eingesetzt. Die Vorteile sind die meist kurze Trainingszeit und die Nachvollziehbarkeit des Verfahrens.

Was ist ein Decision Tree?

Die Grundlage für den Random Forest bilden viele einzelne Entscheidungsbäume, sogenannte Decision Trees. Ein Baum besteht aus verschiedenen Entscheidungsebenen und Verzweigungen, die zur Klassifizierung von Daten genutzt wird.

Der Decision Tree Algorithmus versucht die Trainingsdaten in verschiedene Klassen aufzuteilen, sodass die Objekte innerhalb einer Klasse möglichst ähnlich sind und die Objekte verschiedener Klassen möglichst unterschiedlich. Dadurch entstehen mehrere Entscheidungsebenen und Antwortpfade, wie im folgenden Beispiel:

Das Bild zeigt einen beispielhaften Decision Tree.
Beispiel Decision Tree

Dieser Baum hilft bei der Entscheidung, ob man draußen Sport machen soll oder nicht, abhängig von den Wettervariablen „Wetter“, „Luftfeuchtigkeit“ und „Windstärke“. Der Entscheidungsbaum visualisiert die Klassifizierung der Antworten in „Ja“ und „Nein“ und verdeutlicht sehr einfach, wann man draußen Sport machen kann und wann nicht. Die ausführliche Erklärung findest Du in unserem eigenen Beitrag zu Decision Trees.

Leider können Decision Trees sehr schnell zum sogenannten Overfitting tendieren. Das heißt, dass sich der Algorithmus zu stark an die Trainingsdaten gewöhnt und sie regelrecht „auswendig“ lernt. Dadurch performt er nur sehr schlecht auf neue, ungesehene Daten.

Im Machine Learning ist es eigentlich immer das Ziel, einen Algorithmus zu trainieren, der gewisse Fähigkeiten aus einem Trainingsdatensatz erlernt und diese dann auf neue Daten anwenden kann. Deshalb werden heutzutage nur noch selten Decision Trees genutzt und stattdessen auf die sehr ähnlichen Random Forests zurückgegriffen. Möglich macht das die sogenannte Ensemble Methode, die im nächsten Abschnitt genauer erklärt wird.

Random Forest Erklärung

Der Random Forest besteht aus einer Vielzahl dieser Decision Trees, welche als ein sogenanntes Ensemble zusammenarbeiten. Jeder einzelne Entscheidungsbaum gibt eine Vorhersage, beispielsweise ein Klassifizierungsergebnis ab, und der Forest nutzt das Ergebnis, das von den meisten Decision Trees unterstützt wird, als Vorhersage des gesamten Ensembles. Warum sind mehrere Entscheidungsbäume so viel besser als ein einzelner?

Das Geheimnis hinter dem Random Forest ist das sogenannte Prinzip der Weisheit von Vielen. Die Grundaussage dahinter ist, dass die Entscheidung von Vielen immer besser ist als die Entscheidung eines einzelnen Individuums oder eben eines einzelnen Decision Trees. Dieses Konzept wurde zum ersten Mal bei der Schätzung einer kontinuierlichen Menge erkannt.

Im Jahr 1906 wurde auf einem Jahrmarkt ein Ochse insgesamt 800 Personen gezeigt. Diese sollten abschätzen, wie schwer dieser Ochse sei, bevor er tatsächlich gewogen wurde. Es stellte sich heraus, dass der Median aus den 800 Schätzungen nur etwa 1 % von dem tatsächlichen Gewicht des Ochsen entfernt war. So nahe war keine einzelne Schätzung dem richtigen Ergebnis gekommen. Die Menschenmenge als Ganzes hatte also besser geschätzt als jede andere, einzelne Person.

Das lässt sich genau so auch auf den Random Forest übertragen. Eine Vielzahl von Entscheidungsbäumen und deren aggregierte Vorhersage wird immer die Leistung eines einzelnen Decision Trees übertreffen.

Der Random Forest ist aus vielen einzelnen Decision Trees aufgebaut.
Aufbau eines Random Forests

Das gilt aber nur, wenn die Bäume untereinander nicht korreliert sind und dadurch die Fehler eines einzelnen Baums durch andere Decision Trees ausgeglichen wird. Kommen wir zurück zu unserem Beispiel mit dem Ochsengewicht auf dem Jahrmarkt.

Der Median der Schätzungen aller 800 Personen hat nur dann die Chance besser zu sein als jede einzelne Person, wenn sich die Teilnehmer nicht untereinander absprechen, also unkorreliert sind. Wenn die Teilnehmer jedoch vor der Schätzung zusammen diskutieren und sich dadurch gegenseitig beeinflussen tritt die Weisheit der Vielen nicht mehr ein.

Was ist Bagging?

Damit der Random Forest gute Ergebnisse liefert, müssen wir also sicherstellen, dass die einzelnen Entscheidungsbäume nicht miteinander korreliert sind. Um das zu gewährleisten nutzen wir das sogenannte Bagging. Es ist eine Methode innerhalb der Ensemble Algorithmen, die gewährleistet, dass verschiedene Modelle auf unterschiedlichen Subsets des Datensatzes trainiert werden.

Decision Trees sind sehr sensitiv gegenüber ihren Trainingsdaten. Eine kleine Änderung in den Trainingsdaten kann bereits zu einer deutlich anderen Baumstruktur führen. Diese Eigenschaft machen wir uns beim Bagging zunutze. Jeder Baum innerhalb des Forests wird deshalb auf einem Sample des Trainingsdatensatzes trainiert, was verhindert, dass die Bäume untereinander korreliert sind.

Jeder Baum wird trotzdem auf einem Trainingsdatensatz mit der Länge des ursprünglichen Datensatzes trainiert, obwohl ein Sample genommen wurde. Dies passiert indem, die fehlenden Werte ersetzt werden. Angenommen unser Ursprungsdatensatz ist die Liste [1,2,3,4,5,6] mit der Länge sechs. Ein mögliches Sample daraus ist [1,2,4,6], welches wir um die 2 und 6 erweitern, sodass wir wieder eine Liste der Länge sechs erhalten: [1,2,2,4,6,6]. Beim Bagging wird also ein Sample des Datensatzes gezogen und mit Elementen aus dem Sample wieder auf die ursprüngliche Größe „ergänzt“.

Anwendungsbereiche des Random Forest Algorithmus

Random Forest Modelle werden für Klassifikationsaufgaben und Regressionsanalysen genutzt, ähnlich wie Decision Trees auch. Diese finden in vielen Gebieten Anwendung, wie beispielsweise in der Medizin, im E-Commerce oder im Finanzsektor. Konkrete Anwendungen sind beispielsweise:

  • Vorhersage von Aktienkursen
  • Kreditwürdigkeit eines Bankkunden beurteilen
  • Krankheitsdiagnosen aufgrund von Krankenakten
  • Konsumentenpräferenzen aufgrund der Kaufhistorie vorhersagen

Was sind die Vorteile von Random Forests?

Es gibt einige gute Gründe, warum man Random Forests bei Klassifizierungsaufgaben einsetzen sollte. Hier sind die häufigsten:

  • Bessere Performance: Wie wir zu diesem Zeitpunkt bereits mehrfach erklärt haben, ist die Performance eines Ensemble Algorithmus im Schnitt besser als die eines einzelnen Modells.
  • Geringeres Risiko des Overfittings: Entscheidungsbäume tendieren stark dazu, den Trainingsdatensatz auswendig zu lernen, also ins Overfitting zu geraten. Der Median an unkorellierten Decision Trees hingegen ist nicht so anfällig und liefert daher bessere Ergebnisse für neue Daten.
  • Nachvollziehbare Entscheidungen: Die Ergebnisfindung in einem Random Forest ist zwar unübersichtlicher als bei einem einzelnen Entscheidungsbaum, jedoch im Kern noch nachvollziehbar. Vergleichbare Algorithmen, wie beispielsweise Neuronale Netzwerke, bieten keine Möglichkeit nachzuvollziehen, wie es zu dem Ergebnis gekommen ist.
  • Niedrigere Rechenleistung: Ein Random Forests lässt sich auf heutigen Computern relativ schnell trainieren, da die Anforderungen an die Hardware nicht so hoch sind, wie bei anderen Machine Learning Modellen.

Wann sollte man nicht auf Random Forests zurückgreifen?

Obwohl Random Forests in vielen Anwendungsfällen eine zu berücksichtigende Alternative darstellen, gibt es auch Situationen in denen sie nicht geeignet sind.

Random Forests sollten vor allem für Klassifizierungsaufgaben genutzt werden, bei denen alle Klassen mit ein paar Beispielen im Trainingsdatensatz vorhanden sind. Sie sind jedoch ungeeignet, um neue Klassen oder Werte vorherzusagen, wie wir das beispielsweise von Linearen Regressionen oder Neuronalen Netzen kennen.

Obwohl das Training von Random Forests verhältnismäßig schnell geht, dauert eine einzelne Klassifizierung doch relativ lange. Wenn man also einen Anwendungsfall hat, bei dem Echtzeitvorhersagen getroffen werden sollen, sind möglicherweise andere Algorithmen besser geeignet.

Wenn der Trainingsdatensatz sehr ungleichmäßig besetzt ist, das heißt, dass manche Klassen nur sehr wenige Datensätze haben. Darunter leiden dann die Samples im Bagging Prozess, was wiederum einen negativ Einfluss auf die Modell Performance hat.

Das solltest Du mitnehmen

  • Der Random Forest ist ein supervised Machine Learning Algorithmus, welcher sich aus einzelnen Decision Trees zusammensetzt.
  • Er basiert auf dem Prinzip der Weisheit von Vielen, die besagt, dass eine Gemeinschaftsentscheidung von vielen unkorrelierten Komponenten besser ist als die Entscheidung einer einzelnen Komponente.
  • Mithilfe des Baggings wird sichergestellt, dass die Entscheidungsbäume nicht zueinander korreliert sind.
  • Der Random Forest wird sowohl in der Medizin als auch im Finanz- und Bankensektor eingesetzt.

Andere Beiträge zum Thema Random Forest

close
Das Logo zeigt einen weißen Hintergrund den Namen "Data Basecamp" mit blauer Schrift. Im rechten unteren Eck wird eine Bergsilhouette in Blau gezeigt.

Verpass keine neuen Beiträge!

Wir versenden keinen Spam! Lies die Details gerne in unserer Datenschutzrichtlinie nach.

Cookie Consent mit Real Cookie Banner