Ich mache Hausaufgaben zu Entscheidungsbäumen und eine der Fragen, die ich beantworten muss, lautet: "Warum sind Schätzer aus voreingenommenen Bäumen aufgebaut und wie hilft das Absacken, ihre Varianz zu verringern?".
Jetzt weiß ich, dass überangepasste Modelle tendenziell eine sehr geringe Verzerrung aufweisen, da sie versuchen, alle Datenpunkte anzupassen. Und ich hatte ein Skript in Python, das einen Baum an einen Datensatz anpasste (mit einer einzigen Funktion. Es war nur eine Sinuskurve mit einigen Abweichungen, Bild unten). Also fragte ich mich: "Nun, wenn ich die Daten wirklich überpasse, kann ich dann die Tendenz auf Null bringen?" Und es stellte sich heraus, dass es trotz einer Tiefe von 10000 noch einige Punkte gibt, durch die die Kurve nicht verläuft.
Ich habe versucht, nach dem Warum zu suchen, aber ich konnte keine Erklärung finden. Ich vermute, dass es einige Bäume geben könnte, die perfekt durch alle Punkte gehen würden, und dass die, die ich bekam, nur "Pech" waren. Oder dass ein anderer Datensatz mir ein unvoreingenommenes Ergebnis hätte liefern können (vielleicht eine perfekte Sinuskurve?). Oder sogar das, vielleicht machten es die zu Beginn vorgenommenen Schnitte unmöglich, dass weitere Schnitte alle Punkte vollständig trennten.
Unter Berücksichtigung dieses Datensatzes (da er für andere möglicherweise anders ist) lautet meine Frage: Ist es möglich, einen Baum bis zu einem Punkt zu überpassen, an dem die Verzerrung auf Null geht, oder wird es immer eine gewisse Verzerrung geben, auch wenn dies tatsächlich der Fall ist? klein? Und wenn es immer zumindest eine gewisse Voreingenommenheit gibt, warum passiert das?
PS Ich weiß nicht, ob es relevant sein könnte, aber ich habe das DecisionTreeRegressor
von verwendet sklearn
, um das Modell an die Daten anzupassen.
Antworten:
Ein Entscheidungsbaummodell ist nicht immer voreingenommener als jedes andere Lernmodell.
Wenn wir einen Entscheidungsbaum in beiden Situationen passen, ist das Modell in der ersten Situation un-voreingenommen, sondern wird in den zweiten vorgespannt ist . Dies liegt daran, dass ein One-Split-Binärbaum in der ersten Situation das wahre zugrunde liegende Datenmodell wiederherstellen kann . Im zweiten Fall kann ein Baum die lineare Funktion am besten durch Rühren in immer feineren Intervallen approximieren - ein Baum mit endlicher Tiefe kann nur so nahe kommen.
Wenn wir eine lineare Regression in beiden Situationen passen, das Modell wird in der ersten Situation vorgespannt ist , aber in den zweiten un-voreingenommen.
Um zu wissen, ob ein Modell voreingenommen ist, müssen Sie wissen, was der wahre zugrunde liegende Datenmechanismus ist. In realen Situationen weiß man das einfach nie, also kann man nie wirklich sagen, ob ein Modell im realen Leben voreingenommen ist oder nicht. Manchmal denken wir, wir haben lange Zeit vollkommen recht, aber dann entsteht die Tendenz mit tieferem Verständnis (Newtonsche Schwerkraft zu Einstein-Schwerkraft ist zumindest ein apokryphisches Beispiel).
In gewissem Sinne erwarten wir, dass die meisten Prozesse in der realen Welt (mit einigen Ausnahmen) so unerkennbar sind, dass eine hinreichende Annäherung an die Wahrheit darin besteht, dass alle unsere Modelle voreingenommen sind. Ich bezweifle, dass die Frage eine tiefe philosophische Diskussion über die wesentliche Sinnlosigkeit der Modellierung komplexer statistischer Prozesse erfordert, aber es macht Spaß, darüber nachzudenken.
quelle
Die Tatsache, dass einige Punkte in Ihren Daten immer noch nicht vorhergesagt werden, könnte auf einen so genannten irreduziblen Fehler zurückzuführen sein. Die Theorie ist, dass es beim maschinellen Lernen reduzierbare und nicht reduzierbare Fehler gibt. Die Idee eines irreduziblen Fehlers ist, dass Ihr Modell, egal wie gut es ist, niemals perfekt sein wird. Dies hat einige Gründe. Unabhängig davon, wie robust Ihre Trainingsfunktionen sind, gibt es immer einige versteckte Funktionen, die sich auf die Ausgabe auswirken, die Ihre Trainingsdaten nicht enthalten. Ein weiterer Grund ist, dass es in fast allen Daten zwangsläufig Ausreißer gibt. Sie können jederzeit versuchen, Ihre Modelle so robust wie möglich gegenüber Ausreißern zu machen. Unabhängig davon, wie sehr Sie sich bemühen, gibt es immer Ausreißer. (Dies bedeutet nicht, dass Sie beim Erstellen Ihrer Modelle nicht an Ausreißer denken sollten.) Und ein letztes Detail ist, dass Sie nicht '
quelle