Wie berechnet die Gradientenverstärkung Wahrscheinlichkeitsschätzungen?


11

Ich habe versucht, den Gradienten zu verstehen, der das Lesen verschiedener Blogs und Websites fördert, und versucht, meine Antwort zu finden, indem ich zum Beispiel den XGBoost-Quellcode durchgesehen habe. Ich kann jedoch keine verständliche Erklärung dafür finden, wie Algorithmen zur Erhöhung des Gradienten Wahrscheinlichkeitsschätzungen erzeugen. Wie berechnen sie die Wahrscheinlichkeiten?


3
Dies stellt und beantwortet im Wesentlichen dieselbe Frage, falls eine andere Erklärung für Sie nützlich wäre: stats.stackexchange.com/questions/204154/…
Matthew Drury

Antworten:


13

XGBoost für die Klassifizierung ist ein Modell, das die Prinzipien von Entscheidungsbäumen und logistischer Regression kombiniert.

Die logistische Regressionsfunktion berechnet Wahrscheinlichkeiten, die auf der Logit-Skala linear sind:

z=XwP(y=1|X)=11+exp(z)

Im Gegensatz zur logistischen Regression werden die "Merkmale" in als Endknoten eines Ensembles von Entscheidungsbäumen konstruiert. Jede Reihe sammelt also die Endblätter für jede Stichprobe. Die Zeile ist ein Schuss-Binärvektor, für die Anzahl der Bäume. (Jeder XGBoost-Baum wird nach einem bestimmten Algorithmus generiert, aber das ist hier nicht relevant.)XXTT

Es gibt Spalten in , eine Spalte für jeden Endknoten. Es gibt keinen Ausdruck für die Gesamtzahl der Endknoten, da die Anzahl der Knoten zwischen den Bäumen variieren kann (und meiner Erfahrung nach normalerweise).nX

Jedem Blatt im Baum ist ein "Gewicht" zugeordnet. Dieses Gewicht wird in aufgezeichnet . Um mit konform zu sein , gibt es Elemente in .wXnw

Alternativ ist die logarithmische Wahrscheinlichkeit für eine Probe die Summe der Gewichte ihrer Endblätter. Die Wahrscheinlichkeit, dass die Stichprobe zur Klasse 1 gehört, ist die inverse Logit-Transformation der Summe.


Das ist sehr hilfreich, danke. Wie viele Elemente würde der Beta-Vektor enthalten? Wäre es gleich der Anzahl der gesamten Blattknoten aller Bäume? (Und es würde die gleiche Anzahl von Spalten in der X-Matrix geben, richtig?)
Vishal

Vielen Dank für die aktualisierte Antwort. Bedeutet dies, dass es für jede Stichprobe / Beobachtung eine eindeutige X Matrix sowie einen eindeutigen Satz von Betas gibt ( i)? Mit anderen Worten, für jede Stichprobe / Beobachtung, für die Sie die Wahrscheinlichkeit der Zugehörigkeit zur Klasse 1 berechnen möchten, müssten Sie die eindeutigen Werte der XMatrix und des Beta-Vektors bestimmen ?
Vishal

1
In jeder Zeile werden die Terminalblätter für eine Probe gespeichert. X
Sycorax sagt Reinstate Monica

@SycoraxsaysReinstateMonica Ihre Antwort ist sehr, sehr hilfreich für das Verständnis des GBM. Können Sie bitte erläutern, wie der erste Baum in GBM (Klassifikator) aufgebaut ist und wie die Kriterien für die Knotenaufteilung für den ersten Baum festgelegt werden? Ich bin mir nicht sicher, was wir für den ersten Baum vorhersagen (selbst wenn eine Konstante initialisiert wird, wie der Verlustgradient aus der Konstante berechnet wird) und wenn mse das Teilungskriterium ist, woraus besteht es (quadratische Differenz welcher Werte) ??)
29.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.