AI-United » Allgemein » Entscheidungsbäume für maschinelles Lernen

Entscheidungsbäume für maschinelles Lernen

Entscheidungsbäume

Ein Baum hat im realen Leben viele Analogien und zeigt, dass er einen weiten Bereich des maschinellen Lernens beeinflusst hat, der sowohl die Klassifizierung als auch die Regression umfasst. Bei der Entscheidungsanalyse kann ein Entscheidungsbaum verwendet werden, um Entscheidungen und Entscheidungsfindungen visuell und explizit darzustellen. Wie der Name sagt, verwendet er ein baumähnliches Entscheidungsmodell. Obwohl es sich bei Data Mining häufig um ein Werkzeug handelt, mit dem eine Strategie zur Erreichung eines bestimmten Ziels abgeleitet werden kann, wird es auch häufig im maschinellen Lernen eingesetzt, was den Schwerpunkt dieses Artikels bilden wird.

Wie kann ein Algorithmus als Baum dargestellt werden?

Betrachten wir dazu ein sehr einfaches Beispiel, das titanische Daten verwendet, um vorherzusagen, ob ein Passagier überleben wird oder nicht. Das nachfolgende Modell verwendet drei Merkmale / Attribute / Spalten aus dem Datensatz, nämlich Geschlecht, Alter und Geschwister (Anzahl der Ehepartner oder Kinder).

Ein Entscheidungsbaum wird mit der Wurzel oben auf den Kopf gestellt. In der Abbildung links steht der fett gedruckte Text in Schwarz für eine Bedingung / einen internen Knoten, auf deren Basis sich der Baum in Zweige / Kanten aufteilt. Das Ende des Zweiges, das sich nicht mehr spaltet, ist die Entscheidung / Blatt, in diesem Fall, ob der Passagier gestorben ist oder überlebt hat, als roter bzw. grüner Text dargestellt.

Ein echtes Dataset wird zwar viel mehr Funktionen haben und dies ist nur ein Zweig in einem viel größeren Baum, aber Sie können die Einfachheit dieses Algorithmus nicht ignorieren. Die Bedeutung des Features ist klar und die Beziehungen können leicht betrachtet werden. Diese Methode wird häufiger als Lernentscheidungsbaum aus Daten bezeichnet. Der übergeordnete Baum wird Klassifizierungsbaum genannt, da das Ziel darin besteht, den Passagier als überlebt oder gestorben zu klassifizieren. Regressionsbäume werden auf dieselbe Weise dargestellt, sie sagen nur kontinuierliche Werte wie den Preis eines Hauses voraus. Im Allgemeinen werden Decision Tree-Algorithmen als CART- oder Klassifikations- und Regressionsbäume bezeichnet.

Was läuft eigentlich im Hintergrund? Beim Wachsen eines Baums müssen Sie entscheiden, welche Features Sie auswählen und welche Bedingungen zum Aufteilen verwendet werden sollen. Außerdem müssen Sie wissen, wann Sie aufhören müssen. Da ein Baum im Allgemeinen willkürlich wächst, müssen Sie ihn abschneiden, damit er schön aussieht. Beginnen wir mit einer üblichen Technik, die zum Teilen verwendet wird.

Rekursives binäres Splitting

In diesem Verfahren werden alle Funktionen betrachtet und verschiedene Split-Punkte mit einer Kostenfunktion getestet. Die Aufteilung mit den besten Kosten (oder niedrigsten Kosten) wird ausgewählt.

Betrachten Sie das frühere Beispiel eines Baums, der aus einem titanischen Dataset gelernt wurde. In der ersten Aufteilung oder der Wurzel werden alle Attribute / Merkmale berücksichtigt, und die Trainingsdaten werden basierend auf dieser Aufteilung in Gruppen unterteilt. Wir haben 3 Funktionen, also 3 Kandidatenaufteilungen. Jetzt berechnen wir mithilfe einer Funktion, wie viel Genauigkeit jeder Split kostet. Die Aufteilung, die am wenigsten kostet, wird gewählt, was in unserem Beispiel das Geschlecht des Passagiers ist. Dieser Algorithmus ist rekursiv, da die gebildeten Gruppen mit derselben Strategie unterteilt werden können. Aufgrund dieses Verfahrens wird dieser Algorithmus auch als gieriger Algorithmus bezeichnet, da wir den Wunsch haben, die Kosten zu senken. Dies macht den Wurzelknoten zum besten Prädiktor / Klassifizierer.

Kosten einer Spaltung

Schauen wir uns die Kostenfunktionen für die Klassifizierung und Regression genauer an. In beiden Fällen versuchen die Kostenfunktionen möglichst homogene Zweige oder Zweige mit Gruppen mit ähnlichen Antworten zu finden. Das macht Sinn, wir können sicherer sein, dass eine Testdateneingabe einem bestimmten Pfad folgt.

Regression: Summe (y – Vorhersage)²

Nehmen wir an, wir sagen den Preis für Häuser voraus. Nun beginnt der Entscheidungsbaum mit dem Teilen, indem jedes Merkmal in den Trainingsdaten berücksichtigt wird. Der Mittelwert der Antworten der eingegebenen Trainingsdaten einer bestimmten Gruppe wird als Vorhersage für diese Gruppe betrachtet. Die obige Funktion wird auf alle Datenpunkte angewendet und die Kosten werden für alle Kandidatensplits berechnet. Wieder wird der Split mit den niedrigsten Kosten gewählt. Eine weitere Kostenfunktion beinhaltet die Reduzierung der Standardabweichung, mehr darüber finden Sie hier.

Klassifizierung: G = Summe (pk * (1 – pk))

Ein Gini-Score gibt Aufschluss darüber, wie gut eine Aufteilung ist, indem die Antwortklassen in den durch die Aufteilung erstellten Gruppen gemischt sind. Hier ist pk der Anteil der gleichen Klasseneingaben, die in einer bestimmten Gruppe vorhanden sind. Eine perfekte Klassenreinheit liegt vor, wenn eine Gruppe alle Eingaben aus derselben Klasse enthält. In diesem Fall ist pk entweder 1 oder 0 und G = 0, wobei ein Knoten mit einer 50–50-Aufteilung von Klassen in einer Gruppe die schlechteste Reinheit aufweist. Für eine binäre Klassifizierung hat es also pk = 0,5 und G = 0,5.

Wann aufhören zu teilen?

Sie könnten fragen, wann Sie aufhören sollten, einen Baum wachsen zu lassen? Da ein Problem in der Regel eine große Anzahl von Funktionen aufweist, führt dies zu einer großen Anzahl von Splitten, die wiederum einen großen Baum ergeben. Solche Bäume sind komplex und können zu Überanpassungen führen. Also müssen wir wissen, wann wir aufhören müssen. Eine Möglichkeit, dies zu tun, besteht darin, eine Mindestanzahl von Trainingseingaben für jedes Blatt festzulegen. Zum Beispiel können wir mindestens 10 Passagiere verwenden, um eine Entscheidung zu treffen (gestorben oder überlebt), und jedes Blatt zu ignorieren, das weniger als 10 Passagiere benötigt. Eine andere Möglichkeit besteht darin, die maximale Tiefe Ihres Modells festzulegen. Die maximale Tiefe bezieht sich auf die Länge des längsten Pfades von einer Wurzel zu einem Blatt.

Beschneidung

Die Leistung eines Baums kann durch Beschneiden weiter erhöht werden. Dabei werden die Zweige entfernt, die Funktionen mit geringer Bedeutung verwenden. Auf diese Weise reduzieren wir die Komplexität des Baums und erhöhen dadurch seine Vorhersagekraft durch die Reduzierung von Überanpassung.

Das Beschneiden kann entweder an der Wurzel oder an den Blättern beginnen. Die einfachste Methode des Beschneidens beginnt bei Blättern und entfernt jeden Knoten mit der beliebtesten Klasse in diesem Blatt. Diese Änderung wird beibehalten, wenn die Genauigkeit dadurch nicht beeinträchtigt wird. Es wird auch als weniger Fehlerbehebung bezeichnet. Es können ausgefeiltere Beschneidungsmethoden verwendet werden, wie beispielsweise das Kostenbeschneiden, wenn mit einem Lernparameter (Alpha) abgewogen wird, ob Knoten basierend auf der Größe des Unterbaums entfernt werden können. Dies wird auch als schwächste Verbindungsbeschneidung bezeichnet.

Vorteile von CART
  • Einfach zu verstehen, zu interpretieren, zu visualisieren.
  • Entscheidungsbäume führen implizit ein variables Screening oder eine Merkmalsauswahl durch.
  • Kann sowohl numerische als auch kategoriale Daten verarbeiten. Kann auch Probleme mit mehreren Ausgängen behandeln.
  • Entscheidungsbäume erfordern relativ wenig Aufwand für die Datenaufbereitung.
  • Nichtlineare Beziehungen zwischen Parametern beeinflussen die Baumleistung nicht.
Nachteile von CART
  • Entscheidungsbaum-Lernende können überkomplexe Bäume erstellen, die die Daten nicht gut verallgemeinern. Dies wird als Überanpassung bezeichnet.
  • Entscheidungsbäume können instabil sein, da kleine Abweichungen in den Daten dazu führen können, dass ein völlig anderer Baum generiert wird. Dies wird als Varianz bezeichnet, die durch Methoden wie Abfüllen und Erhöhen verringert werden muss.
  • Gierige Algorithmen können nicht garantieren, dass der global optimale Entscheidungsbaum zurückgegeben wird. Dies kann durch das Trainieren mehrerer Bäume gemildert werden, bei denen die Features und Samples zufällig ausgewählt und ausgetauscht werden.
  • Entscheidungsbaum-Lernende erstellen voreingenommene Bäume, wenn einige Klassen dominieren. Es wird daher empfohlen, den Datensatz vor dem Anpassen an den Entscheidungsbaum abzugleichen.

Dies ist alles Grundlegende, um Sie mit dem Lernen des Entscheidungsbaums auf Augenhöhe zu bringen. Eine Verbesserung gegenüber dem Entscheidungsbaumlernen wird unter Verwendung einer Boosting- Technik durchgeführt. Eine beliebte Bibliothek zur Implementierung dieser Algorithmen ist Scikit-Learn. Es hat eine wunderbare API, die Ihr Modell mit nur wenigen Codezeilen in Python zum Laufen bringen kann.

Folgen Sie AI-United, um mehr über die Welt des maschinellen Lernens zu erfahren. Auf diesem Weg erfahren Sie, wenn ich mehr Artikel wie diesen schreibe.

Quelle: https://towardsdatascience.com/decision-trees-in-machine-learning-641b9c4e8052

AI-United-Redaktion

Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.