Random Forest


Ein Random Forest ist ein Klassifikationsverfahren, welches aus mehreren verschiedenen, unkorrelierten Entscheidungsbäumen besteht. Alle Entscheidungsbäume sind unter einer bestimmten Art von Randomisierung während des Lernprozesses gewachsen. Für eine Klassifikation darf jeder Baum in diesem Wald eine Entscheidung treffen und die Klasse mit den meisten Stimmen entscheidet die endgültige Klassifikation. Neben einer Klassifikation kann der Random Forest auch zur Regression eingesetzt werden.

Der Begriff Random Forest wurde von Leo Breiman im Jahr 2001 [1] geprägt, welcher verschiedene Methoden der Randomisierung der Bäume, beispielsweise mittels Bagging oder Boosting erforschte. Seiner Arbeit ging die Forschung von Tin Kam Ho [2] im Jahr 1995 voraus.

Eigenschaften

Ein Random Forest kann mit vielen Vorteilen gegenüber anderen Klassifikationsmethoden wie der SVM punkten.

  • Der Klassifikator trainiert sehr schnell. Dieser Vorteil ergibt sich durch die kurze Trainings- bzw. Aufbauzeit eines einzelnen Entscheidungsbaumes. Die Trainingszeit bei einem Random Forest steigt linear mit der Anzahl der Bäume.
  • Die Evaluierung eines Testbeispieles geschieht auf jedem Baum einzeln und ist daher parallelisierbar. Er evaluiert also schnell.
  • Er ist sehr effizient auf große Datenmengen (Anzahl der Klassen, Beispiele sowie Merkmale) anzuwenden.
  • Starke (wichtige) Klassen können erkannt werden.
  • Der Zusammenhang von Klassen kann mittels Random Forests erkannt werden.

Funktionsweise

Es gibt viele verschiedene Varianten und Ansätze einen Random Forest zu trainieren und klassifizieren zu lassen. Dazu zählt unter anderem, welche Entscheidungsbäume verwendet werden und ob eine maximale Tiefe der Bäume vorgegeben wird. Nach Breiman [1] soll für jeden Entscheidungsbaum im Wald folgender Algorithmus angewandt werden:

  1. Bei N Beobachtungen in der Trainingsmenge werden n Objekte zufällig mit Zurücklegen gezogen.
  2. Bei M Merkmalen (Features oder Dimensionen) der Beispiele werden an jedem Knoten im Baum $ m<<M $ Merkmale zufällig gewählt, die zur Betrachtung des Schnitts (Split) genommen werden. Dies kann zum Beispiel mittels der Minimierung der Entropie geschehen.
  3. Der Baum wird voll ausgebaut und nicht zurückgeschnitten (Pruning).

Zur Klassifikation wird nun ein Beispiel in jedem Baum ausgewertet. Jene Klasse, welche am häufigsten gewählt wurde ist die Klassifikation des Random Forest.

Anna Bosch[3] hat in ihrer Arbeit zusätzlich jedem Blatt die a posteriori Wahrscheinlichkeiten der Klassen gespeichert, mit der sie zu diesem Blatt finden. Diese Wahrscheinlichkeiten werden anschließend für die Wahl der Klassifikation berücksichtigt. Dadurch konnte sie im Weiteren die Fehlerrate in ihrer Anwendung verringern.

Software

Weblinks

Quellen

  1. 1,0 1,1 Breiman L., Random forests. In Machine Learning, Seiten 5-32, 2001
  2. 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
  3. 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 (PDF).