Random Forests (RFs) ist eine wettbewerbsfähige Datenmodellierungs- / Miningmethode.
Ein RF-Modell hat eine Ausgabe - die Ausgabe- / Vorhersagevariable.
Der naive Ansatz zur Modellierung mehrerer Ausgänge mit RFs besteht darin, für jede Ausgangsvariable einen RF zu erstellen. Wir haben also N unabhängige Modelle, und wenn es eine Korrelation zwischen Ausgabevariablen gibt, haben wir eine redundante / doppelte Modellstruktur. Dies könnte in der Tat sehr verschwenderisch sein. In der Regel implizieren mehr Modellvariablen auch ein stärker angepasstes Modell (weniger Verallgemeinerung). Ich bin mir nicht sicher, ob dies hier zutrifft, aber wahrscheinlich schon.
Grundsätzlich könnten wir einen HF mit mehreren Ausgängen haben. Die Vorhersagevariable ist nun ein Vektor (n-Tupel). Die Entscheidungsknoten in jedem Entscheidungsbaum teilen nun den Satz von Ziel- / Vorhersagevektoren auf der Grundlage eines Schwellenvektors auf. Ich nehme an, dass diese Schwelle eine Ebene im n-dimensionalen Raum ist und dass wir daher bestimmen können, auf welcher Seite der Schwelle Vektor Jeder der Zielvektoren ist eingeschaltet.
Der optimale Vorhersagewert für jede Seite der Entscheidungsaufteilung ist der für die Vektoren auf jeder Seite berechnete Mittelwert (Schwerpunkt).
Das Finden des optimalen Aufteilungspunkts beim Arbeiten mit einzelnen Variablen ist trivial und rechnerisch schnell / effizient. Für ein n-Tupel können wir die optimale Aufteilung nicht finden (oder sie wird zumindest mit zunehmender N rechnerisch nicht realisierbar), aber wir können möglicherweise eine nahezu optimale Aufteilung unter Verwendung einer Monte-Carlo-Methode (oder eines Hybrids aus Monte-Carlo und lokal) finden Gradiententraversal).
Würde das tatsächlich funktionieren? Das heißt, würde es nur die Trainingspaare abbilden, ohne sie zu verallgemeinern? Gibt es diese Technik bereits unter einem anderen Namen?
Vielleicht möchten Sie auch überlegen, wie sich dies auf neuronale Netze wie Restricted Boltzmann Machines (RBMs) und Deep Belief Networks auswirkt.
Antworten:
Entscheidungsbäume mit mehreren Ausgaben (und daher zufällige Gesamtstrukturen) wurden entwickelt und veröffentlicht. Pierre Guertz verteilt ein Paket dafür ( Download). Siehe auch Segal & Xiao, Multivariate Zufallswälder, WIREs Data Mining Knowl Discov 2011 1 80–87, DOI: 10.1002 / widm.12 Ich glaube, die neueste Version von Scikit-learn unterstützt dies auch. Einen guten Überblick über den Stand der Technik bietet die Arbeit von Henrik Linusson mit dem Titel "MULTI-OUTPUT RANDOM FORESTS". Die einfachste Methode zum Treffen der Split-Auswahl an jedem Knoten ist die zufällige Auswahl EINER der Ausgabevariablen und die Befolgung des üblichen Zufallswald-Ansatzes für die Auswahl eines Split. Andere Verfahren, die auf einer gewichteten Summe der gegenseitigen Informationsbewertung in Bezug auf jedes Eingabemerkmal und jede Ausgabevariable basieren, wurden entwickelt, sind jedoch im Vergleich zum randomisierten Ansatz recht teuer.
quelle
Wie hier angegeben :
Und dazu gehört auch Random Forest.
Auch die Seite: http://scikit-learn.org/stable/modules/tree.html#tree-multioutput enthält viele Referenzen zu diesem Thema.
quelle