Zufällige Wälder sind dafür bekannt, dass sie bei einer Vielzahl von Aufgaben eine recht gute Leistung erbringen . Gibt es Probleme oder spezielle Bedingungen, unter denen man die Verwendung einer zufälligen Gesamtstruktur vermeiden sollte?
25
Antworten:
Wenn man an die spezifische Sprache des Zitats denkt, ist ein Ledermann ein Multitool: ein einzelnes Stück Hardware mit vielen kleinen Dingen, die darin stecken. Es ist eine Zange und ein Messer und ein Schraubenzieher und mehr! Anstatt jedes dieser Werkzeuge einzeln tragen zu müssen, ist der Leatherman ein einzelnes Element, das Sie an Ihre Hose anclipsen können, damit es immer zur Hand ist. Dies ist praktisch , aber der Nachteil ist, dass nicht jedes der Komponentenwerkzeuge das Beste für seine Arbeit ist. Der Dosenöffner ist schwer zu bedienen, die Schraubendrehereinsätze haben normalerweise die falsche Größe und das Messer kann kaum mehr als schnitzen. Wenn das Ausführen einer dieser Aufgaben kritisch ist, sollten Sie ein spezielles Werkzeug verwenden: ein echtes Messer, einen echten Schraubendreher oder eine echte Zange.
Ein zufälliger Wald kann in den gleichen Begriffen gedacht werden. Die zufällige Gesamtstruktur liefert starke Ergebnisse für eine Vielzahl von Datensätzen und reagiert nicht sehr empfindlich auf Optimierungsparameter. Aber es ist nicht perfekt. Je mehr Sie über das Problem wissen, desto einfacher ist es, spezielle Modelle für Ihr spezielles Problem zu erstellen.
Es gibt ein paar offensichtliche Fälle, in denen zufällige Wälder kämpfen werden:
Sparsity - Wenn die Daten sehr dünn sind, ist es sehr plausibel, dass für einige Knoten das Bootstrap-Beispiel und die zufällige Teilmenge von Features zusammenarbeiten, um einen unveränderlichen Feature-Space zu erzeugen. Es gibt keine produktive Trennung, daher ist es unwahrscheinlich, dass die Kinder dieses Knotens überhaupt hilfreich sind. XGBoost kann diesbezüglich besser abschneiden.
Daten sind nicht achsenausgerichtet - Angenommen, es gibt eine diagonale Entscheidungsgrenze im Raum der beiden Features und . Auch wenn dies die einzige relevante Dimension für Ihre Daten ist, benötigt ein gewöhnliches zufälliges Gesamtstrukturmodell viele Teilungen, um diese diagonale Grenze zu beschreiben. Dies liegt daran, dass jeder Split senkrecht zur Achse von oder . (Dies sollte intuitiv sein, da ein gewöhnliches zufälliges Gesamtstrukturmodell Teilungen der Formx1 x2 x1 x2 x1> 4 .) Rotationswald, der eine PCA-Projektion auf die Teilmenge der für jeden Split ausgewählten Features ausführt, kann verwendet werden, um dies zu überwinden: Die Projektionen auf orthogonaler Basis verringern im Prinzip den Einfluss der achsenausgerichteten Eigenschaft, da die Splits auftreten wird in der ursprünglichen Basis nicht mehr achsausgerichtet.
Dieses Bild zeigt ein weiteres Beispiel dafür, wie achsgerichtete Teilungen zufällige Gesamtstrukturentscheidungen beeinflussen. Die Entscheidungsgrenze ist ein Kreis am Ursprung. Beachten Sie jedoch, dass dieses bestimmte zufällige Waldmodell eine Box zeichnet, um den Kreis zu approximieren. Es gibt eine Reihe von Dingen, die man tun könnte, um diese Grenze zu verbessern. Am einfachsten ist es, mehr Daten zu sammeln und mehr Bäume zu bauen.
quelle
Scharfe Kanten. Genauigkeit.
Sie verwenden Diffusionsmethoden. Sie passen gut zu klumpigen Dingen. Sie passen nicht gut zu aufwändigen und sehr detaillierten Dingen, wenn die Stichprobengröße niedrig ist. Ich würde mir vorstellen, dass sie mit multivariaten Zeitreihendaten nicht gut abschneiden - wenn hier etwas davon abhängt, was da drüben auf Distanz ist.
Durch Farbverläufe verstärkte Wälder passen möglicherweise oder passen zu stark, können jedoch bei denselben Daten einen wesentlich geringeren Fehler verursachen.
" Leathermen " gibt es nicht. Es gibt keine "silbernen Kugeln". Es gibt Werkzeugkästen. Kennen Sie Ihre Werkzeuge und kümmern Sie sich gut um sie, damit sie sich um Sie kümmern können. Seien Sie vorsichtig, "wenn Sie ein Hammer sind, dann sieht jedes Problem wie ein Nagel aus", besonders wenn Sie keine dichte Bibliothek in Ihrem Werkzeugkasten haben.
Solange Sie das Problem nicht genau kennen, können Sie sich leicht vorstellen, dass irgendetwas es lösen könnte oder dass Ihr Lieblingswerkzeug es lösen könnte. Es ist ratsam, sich mit dem Problem vertraut zu machen und mit Ihren Werkzeugen vertraut zu sein.
Hinzugefügt: Wenn Sie über genügend Rechenressourcen oder eine ausreichende Zeitspanne verfügen, um etwas anderes zu verwenden. Der RF ist nicht nur schnell zu trainieren, sondern auch schnell auszuführen. Eine sehr tief gehobene Struktur ist weniger davon. Sie müssen den Overhead haben, um das zu unterstützen.
quelle
Dies ist das erste Mal, dass ich eine Frage beantworte, also nimm mich nicht fest. Aber ich glaube, ich kann deine Frage beantworten:
Wenn Sie sich in der Tat nur für die Modellleistung und nicht für die Interpretierbarkeit interessieren, ist Random Forest in der Tat oft ein sehr guter Lernalgorithmus, der jedoch in den folgenden Fällen etwas schlechter abschneidet:
1.) Wenn die Dimensionalität (Anzahl der Merkmale) in Bezug auf die Anzahl der Trainingsstichproben sehr hoch ist, ist in diesen Fällen eine regulierte lineare Regression oder SVM besser.
2.) In den Daten sind Repräsentationen / Faltungsstrukturen höherer Ordnung vorhanden, wie z. B. bei Bildverarbeitungsproblemen. In diesen Fällen von Computer Vision übertrifft ein neuronales Faltungsnetzwerk eine zufällige Gesamtstruktur (im Allgemeinen ist es besser, Wissen in das Lernen einzubeziehen, wenn es vorhanden ist).
Allerdings sind zufällige Wälder ein sehr guter Ausgangspunkt. Eine der Personen, die ich für ihre maschinellen Lernfähigkeiten bewundere, beginnt immer mit dem Lernen einer zufälligen Gesamtstruktur und eines regulierten linearen Regressors.
Wenn Sie jedoch die bestmögliche Leistung erzielen möchten, sind neuronale Netze heutzutage meines Erachtens auch bekannt. Deep Learning scheint ein sehr attraktiver Ansatz zu sein. Immer mehr Gewinner von Websites mit Datenherausforderungen wie Kaggle verwenden Deep Learning-Modelle für den Wettbewerb. Ein weiterer Vorteil neuronaler Netze besteht darin, dass sie sehr viele Samples verarbeiten können (> 10 ^ 6, man kann sie mit stochastischem Gradientenabstieg trainieren und Datenbits gleichzeitig einspeisen). Persönlich finde ich das ein sehr attraktiver Profi für Deep Learning.
quelle
Erstens kann die zufällige Gesamtstruktur nicht auf die folgenden Datentypen angewendet werden:
Für tabellarische Datentypen ist es immer gut, Random Forest zu überprüfen, weil:
quelle