CART (Algorithmus)

Algorithmus zur Konstruktion von Entscheidungsbäumen

CART (Classification and Regression Trees) ist ein Algorithmus, der zur Entscheidungsfindung dient. Er wird bei Entscheidungsbäumen eingesetzt.

Der CART-Algorithmus wurde erstmals 1984 von Leo Breiman et al. publiziert.[1]

Allgemeines Bearbeiten

Ein bedeutendes Merkmal des CART-Algorithmus ist, dass nur Binärbäume erzeugt werden können, das heißt, dass an jeder Verzweigung immer genau zwei Äste vorhanden sind. Das zentrale Element dieses Algorithmus ist also das Finden einer optimalen binären Trennung.

Beim CART-Algorithmus wird die Attributsauswahl durch die Maximierung des Informationsgehalts gesteuert. CARTs zeichnen sich dadurch aus, dass sie die Daten in Bezug auf die Klassifikation optimal trennen. Dies wird mit einem Schwellwert erreicht, der zu jedem Attribut gesucht wird. Der Informationsgehalt eines Attributes wird als hoch erachtet, wenn durch die Auswertung der sich aus der Teilung über die Schwellwerte ergebenden Attributausprägungen mit einer hohen Trefferquote eine Klassifikation vorgenommen werden kann. Bei den Entscheidungsbäumen, welche durch den CART-Algorithmus berechnet werden, gilt: Je höher der Informationsgehalt eines Attributs in Bezug auf die Zielgröße, desto weiter oben im Baum findet sich dieses Attribut.

Die Entscheidungsschwellwerte ergeben sich jeweils durch die Optimierung der Spaltenentropie. Die Gesamtentropien der Attribute ergeben sich durch ein gewichtetes Mittel aus den Spaltenentropien.

Mathematische Beschreibung Bearbeiten

Sei   die Menge der Trainingsdaten mit Eingabevariablen   und Ausgabewerten  . Ein Entscheidungsbaum   ist formal darstellbar mittels einer Funktion  , die jeder Eingabe eine Vorhersage des Ausgabewertes zuordnet. Der CART Algorithmus zur Erzeugung eines solchen Baumes findet selbständig die Verzweigungen (Knoten) und assoziierten Regeln zur Trennung der Daten (enS split rule), mit denen diese Zuordnung möglichst optimal wird.

Regression Bearbeiten

Sei zunächst  , d. h. die Ausgabe ist ein quantitatives Merkmal und der zu konstruierende Baum soll ein Regressionsproblem lösen. Um einen optimalen Baum zu finden, muss erst einmal ein Trainingskriterium (Fehlerfunktion) definiert werden. Typischerweise wird dafür die Mittlere quadratische Abweichung genutzt:

 ,

welche dann minimiert wird. Die Fehlerfunktion ist allerdings generell frei wählbar.

Jedem Blatt   wird eine Menge   zugeordnet, sodass für alle   Blätter die zugeordneten disjunkten Mengen eine Partition von   bilden. Man sucht nun einen Schätzwert, der für alle   möglichst nahe an den wahren Werten   liegt. Der Schätzer

 

liefert dafür eine Lösung. Da die Berechnung aller möglichen Bäume nicht auf effiziente Weise umsetzbar ist, eignet sich für diesen Ansatz ein Greedy-Algorithmus am besten. D.h. konkret: Man beginnt mit einem Baum, der nur aus einem Knoten besteht und findet dann sukzessive lokal optimale Verzweigen. An jedem Knoten bestimmt man das Merkmal  , das alle Einträge des Elternknoten am besten in zwei Regionen unterteilen kann, wobei immer auch eine optimale Teilungsvorschrift gefunden werden muss. Für ordinale Merkmale erfolgt dies mittels Schranke  , welche die beiden Regionen   und   für alle   in der ursprünglichen Partition des Elternknotens so erzeugt, dass die Fehlerfunktion minimiert wird. Sind die Merkmale nicht ordinal, ergeben sich die Verzweigungsvorschriften anhand der Zuordnung zu den verschiedenen Merkmalsausprägungen. Formal lässt sich das schreiben als

 ,

wobei   jeweils die beiden Summen minimiert.

Ausgehend von dem einzelnen Knoten, fügt man also in jedem Schritt zwei neue Knoten hinzu, die wiederum solange weiter verzweigt werden, bis eine Abbruchbedingung (z. B. die maximale Pfadlänge von der Wurzel bis zu den Blättern) erfüllt ist.

Pruning Bearbeiten

Da der Baum so in den meisten Fällen zu komplex, also anfällig für Überanpassung (englisch overfitting) ist, kann (sollte) er gestutzt werden (englisch Pruning). Überanpassung lässt sich verhindern, indem in der Fehlerfunktion ein Regulationsterm (vgl. englisch Regularization) eingeführt wird, der nicht von den Daten abhängt und die Komplexität des Entscheidungsbaumes bestraft. Dadurch wird unterbunden, dass der Baum spezifische Eigenschaften der Trainingsdaten lernt, die im Allgemeinen (also bei anderen Daten aus der gleichen Grundgesamtheit) nicht zu den wahren Vorhersagen beitragen[2].

Die zweite Möglichkeit, die im Folgenden beschrieben wird, ist es zunächst einen relativ großen Baum   zu konstruieren, der dann im Nachhinein beschnitten wird. Sei   ein echter Teilgraph, der durch Entfernung inneren Knoten erzeugt werden kann (d. h. die Partitionen der Kinder dieses Knotens werden zusammengelegt). Sei   die Anzahl der Blätter eines solchen Teilgraphs, wobei jedem Blatt   die Partition   mit   Elementen zugeordnet ist. Sei   wie oben und

 .

Die Idee ist es einen Baum zu finden, der die Funktion

 

für gegebenes   minimiert. Hierzu wird eine von   verschiedene Datenmenge   (englisch test set) benutzt, um einer Überanpassung vorzubeugen (vgl. Kreuzvalidierungsverfahren).

Der frei wählbare Parameter   beschreibt die Gewichtung zwischen Güte der Voraussage des Entscheidungsbaums und seiner Komplexität. Für gegebenes   wird eine absteigende Sequenz von Teilbäumen erzeugt, indem bei jedem Schritt der innere Knoten entfernt wird, der den geringsten pro-Knoten Anstieg von   erzeugt, bis nur noch ein einziger Knoten übrig ist. Es gibt dann einen eindeutig bestimmbaren kleinsten Teilbaum, der   minimiert.

Klassifizierung Bearbeiten

Seien nun die Ausgabewerte kategorisch, d. h.   ist eine endliche Menge und o. B. d. A.  . Die einzigen Änderungen des Algorithmus im Vergleich zur Regression betreffen die Fehlerfunktionen für die Konstruktion des Baums und das Pruning.

Wir definieren

 ,

wobei   gleich der Anzahl der Elemente in   sei und   die Indikatorfunktion.

Damit lässt sich nun in jeder Region   die Klassifizierung der Einträge nach Mehrheitsentscheid durchführen:

 .

Mögliche Fehlerfunktionen geben die sogenannte Unreinheit der Partitionen an und können definiert werden als:

  (Missklassifizerungsfehler)
  (Gini-Simpson-Index)
  (Kreuzentropie, Shannon-Index)

Jede dieser Funktionen kann bei der Konstruktion eines Entscheidungsbaumes anstelle der mittleren quadratischen Abweichung genutzt werden, sodass der wesentliche Teil des Algorithmus unverändert bleibt.

Siehe auch Bearbeiten

Literatur Bearbeiten

Einzelnachweise Bearbeiten

  1. L. Breiman, J. H. Friedman, R. A. Olshen, C. J. Stone: CART: Classification and Regression Trees. Wadsworth: Belmont, CA, 1984.
  2. T. Grubinger, A. Zeileis, K.-P. Pfeiffer: evtree: Evolutionary Learning of Globally Optimal Classification and Regression Trees in R. Journal of Statistical Software. 2014, Volume 61, Issue 1