Verwenden von LASSO für zufällige Gesamtstrukturen

14

Ich möchte eine zufällige Gesamtstruktur mit dem folgenden Verfahren erstellen:

  • Erstellen Sie einen Baum aus zufälligen Stichproben der Daten und Features, und verwenden Sie dabei den Informationsgewinn, um die Aufteilung zu bestimmen
  • Beenden Sie einen Blattknoten, wenn er eine vordefinierte Tiefe überschreitet, ODER wenn eine Teilung zu einer Blattanzahl führen würde, die unter einem vordefinierten Minimum liegt
  • Anstatt jedem Baum eine Klassenbezeichnung zuzuweisen, weisen Sie den Anteil der Klassen im Blattknoten zu
  • Stoppen Sie das Bauen von Bäumen, nachdem eine vordefinierte Anzahl erstellt wurde

Hierdurch wird der traditionelle Zufallswaldprozess auf zwei Arten gestört. Erstens werden beschnittene Bäume verwendet, die Proportionen anstelle von Klassenbeschriftungen zuweisen. Und zweitens ist das Stoppkriterium eine vorher festgelegte Anzahl von Bäumen und keine geschätzte Anzahl von Out-of-Bag-Fehlern.

Meine Frage lautet:

Kann ich für den obigen Prozess, der N Bäume ausgibt, ein Modell unter Verwendung der logistischen Regression mit LASSO-Auswahl anpassen? Hat jemand Erfahrung mit der Anpassung eines Random Forest-Klassifikators und der Nachbearbeitung mit logistic LASSO?

Das ISLE-Framework erwähnt die Verwendung von LASSO als Nachbearbeitungsschritt für Regressionsprobleme, jedoch nicht für Klassifizierungsprobleme. Außerdem erhalte ich beim Googeln von "Random Forest Lasso" keine hilfreichen Ergebnisse.

Zelazny7
quelle
Lasso ist gut darin, nützliche Merkmale zu finden / zu gewichten, wenn es viele von unterschiedlicher Qualität gibt. Einzelne Bäume in Ihrem Wald werden wahrscheinlich nicht viel besser oder schlechter sein als andere Bäume, daher glaube ich nicht, dass Lasso Ihnen viel helfen wird.
Rrenaud
Indem eine kleine Fraktion ohne Ersatz entnommen und die Baumtiefe begrenzt wird, wird eine größere Vielfalt eingeführt, so dass ich denke, dass eine Form der Regularisierung gerechtfertigt ist.
Zelazny7
Können Sie präzisieren, wie Sie das Logistikmodell anpassen möchten? Was genau sind die Prädiktorvariablen? Und - was ist Ihre Motivation für die Nachbearbeitung? Wenn Sie versuchen, eine Variable auszuwählen, müssen Sie andere Methoden in Betracht ziehen.
Alex Williams
Durch Ausgeben der Vorhersagen jedes Baums wird ein neuer Datensatz von Vorhersagen erstellt. Dieser Datensatz kann in der LASSO-Regression verwendet werden, um eine spärliche Kombination der Baumvorhersagen zu erhalten. Die Motivation ist, Modelle zu produzieren, die präziser sind und in der Produktion schneller laufen.
Zelazny7
Ich habe in letzter Zeit ähnliche Probleme festgestellt und in Friedmans Originalarbeit festgestellt, dass er eine Verlustfunktion speziell für Binärklassifizierungsprobleme entwickelt hat. Hoffe das wäre hilfreich. Haben Sie außerdem eine Idee, wie Sie es auf Klassifizierungsprobleme mit mehreren Klassen ausweiten können? Oder wie gehen Sie mit Problemen der Mehrklassenklassifizierung um?
Quan

Antworten:

5

Das klingt ein bisschen nach Gradientenbaum-Boosting. Die Idee des Boostings besteht darin, die beste lineare Kombination einer Klasse von Modellen zu finden. Wenn wir einen Baum an die Daten anpassen, versuchen wir, den Baum zu finden, der die Ergebnisvariable am besten erklärt. Wenn wir stattdessen Boosten verwenden, versuchen wir, die beste lineare Baumkombination zu finden.

Mit Boosting sind wir jedoch ein bisschen effizienter, da wir keine Sammlung von zufälligen Bäumen haben, aber wir versuchen, neue Bäume zu bauen, die auf den Beispielen basieren, die wir noch nicht gut vorhersagen können.

Um mehr darüber zu erfahren, empfehle ich, Kapitel 10 der Elemente des statistischen Lernens zu lesen: http://statweb.stanford.edu/~tibs/ElemStatLearn/

Dies ist zwar keine vollständige Antwort auf Ihre Frage, aber ich hoffe, es hilft.

Sven
quelle
3
Vielen Dank. Seit ich diese Frage zum ersten Mal gestellt habe, bin ich mit dem GBM-Paket von R sehr vertraut geworden. Mein Prozess besteht nun darin, ein GBM-Modell mit beispielsweise 10.000 Bäumen zu erstellen und anschließend alle 10.000 Bäume über GLMnet auszuführen, um eine LASSO-Regression für die Bäume durchzuführen. Dies führt zu einem komprimierten GBM-Modell mit geringen bis keinen Leistungseinbußen (und manchmal einem Schub).
Zelazny7
@ Zelazny7 Was ist mit Holdout- / Testdaten hart? Ist das gut vorhersehbar?
Josh
Ja, alle meine Tests werden in einer Warteschleife durchgeführt, die die Entwicklung in keiner Weise beeinflusst. Die Leistung wird in den meisten Fällen nicht beeinträchtigt. Manchmal ist es etwas schlimmer, manchmal verbessert es sich sogar.
Zelazny7
1
@ Zelazny7 Ich bin bei meinem letzten Job ebenfalls auf das gleiche Verfahren gestoßen, mit den gleichen Erfahrungen.
Matthew Drury
Sie müssen sich auf etwas einlassen ... Hastie selbst schlägt vor, Bäume aus zufälligen Wäldern nachzubearbeiten oder mit LASSO zu boosten. Er erwähnte es in diesem Video um 30:10.
Jonathan