Warum Adaboost mit Entscheidungsbäumen?

10

Ich habe ein wenig über das Verbessern von Algorithmen für Klassifizierungsaufgaben und insbesondere von Adaboost gelesen. Ich verstehe, dass der Zweck von Adaboost darin besteht, mehrere "schwache Lernende" aufzunehmen und durch eine Reihe von Iterationen von Trainingsdaten die Klassifizierer dazu zu bringen, Klassen vorherzusagen, bei denen die Modelle wiederholt Fehler machen. Ich habe mich jedoch gefragt, warum so viele meiner Lesungen Entscheidungsbäume als schwachen Klassifikator verwendet haben. Gibt es dafür einen besonderen Grund? Gibt es bestimmte Klassifikatoren, die besonders gute oder schlechte Kandidaten für Adaboost sind?

kylerthecreator
quelle
Der einfachste Lernende, den Sie verwenden können, ist der Entscheidungsbaum mit der Tiefe = 1. Vielleicht verwendet es deshalb jeder in seinen Beispielen.
Aaron

Antworten:

17

Ich habe darüber in einer Antwort auf eine verwandte SO-Frage gesprochen . Entscheidungsbäume eignen sich im Allgemeinen nur sehr gut zum Boosten, viel mehr als andere Algorithmen. Die Aufzählungspunkt- / Zusammenfassungsversion lautet wie folgt:

  1. Entscheidungsbäume sind nicht linear. Das Boosten mit linearen Modellen funktioniert einfach nicht gut.
  2. Der schwache Lernende muss durchweg besser sein als zufällige Vermutungen. Normalerweise müssen Sie keine Parameter für einen Entscheidungsbaum anpassen, um dieses Verhalten zu erhalten. Das Training einer SVM erfordert wirklich eine Parametersuche. Da die Daten bei jeder Iteration neu gewichtet werden, müssen Sie wahrscheinlich bei jeder Iteration eine andere Parametersuche durchführen. Sie erhöhen also den Arbeitsaufwand um ein Vielfaches.
  3. Entscheidungsbäume sind relativ schnell zu trainieren. Da wir 100 oder 1000 davon bauen werden, ist das eine gute Immobilie. Sie sind auch schnell zu klassifizieren, was wiederum wichtig ist, wenn Sie 100s oder 1000s benötigen, bevor Sie Ihre Entscheidung ausgeben können.
  4. Durch Ändern der Tiefe haben Sie eine einfache und unkomplizierte Kontrolle über den Bias / Varianz-Kompromiss, da Sie wissen, dass das Boosten die Bias verringern kann, aber auch die Varianz erheblich verringert. Es ist bekannt, dass Boosting überpasst, daher ist das einfache Einstellen des Nob in dieser Hinsicht hilfreich.
Raff.Edward
quelle
1

Ich habe keine Lehrbuchantwort. Hier sind jedoch einige Gedanken.

Das Boosten kann im direkten Vergleich mit dem Absacken gesehen werden. Dies sind zwei verschiedene Ansätze des Bias-Varianz-Kompromiss-Dilemmas. Während das Absacken schwache Lernende hat, verringern einige Lernende mit geringer Verzerrung und hoher Varianz durch Varianz des Absackensembles die Varianz für eine kleine Verzerrung. Boosting hingegen funktioniert gut mit verschiedenen schwachen Lernenden. Die fördernden schwachen Lernenden haben eine hohe Tendenz und eine geringe Varianz. Indem das Boosting-Ensemble einen Lernenden übereinander aufbaut, versucht es, die Tendenz für eine kleine Varianz zu verringern.

Wenn Sie beispielsweise in Betracht ziehen, das Absacken und Boosten mit Bäumen als schwache Lernende zu verwenden, ist der beste Weg, kleine / kurze Bäume mit Boosten und sehr detaillierte Bäume mit Absacken zu verwenden. Aus diesem Grund verwendet ein Boosting-Verfahren sehr oft einen Entscheidungsstumpf als schwachen Lernenden. Dies ist der kürzest mögliche Baum (eine einzelne if-Bedingung in einer einzelnen Dimension). Dieser Entscheidungsstumpf ist sehr stabil und weist daher eine sehr geringe Varianz auf.

Ich sehe keinen Grund, Bäume mit Boosting-Verfahren zu verwenden. Kurze Bäume sind jedoch einfach, leicht zu implementieren und leicht zu verstehen. Ich denke jedoch, dass Ihr schwacher Lernender eine geringe Varianz haben muss, starr sein muss, mit sehr wenigen Freiheitsgraden, um mit einem Boosting-Verfahren erfolgreich zu sein. Zum Beispiel sehe ich keinen Grund, als schwacher Lernender ein neuronales Netzwerk zu haben.

Darüber hinaus muss beachtet werden, dass Breiman bei bestimmten Boosting-Verfahren, beispielsweise beim Gradienten-Boosting, festgestellt hat, dass, wenn der schwache Lernende ein Baum ist, die Funktionsweise des Boostings optimiert werden kann. So haben wir gradientenverstärkende Bäume. Das ESTL-Buch enthält eine schöne Darstellung von Boosting.

Rapaio
quelle