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?
11
Antworten:
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:
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.)X X T T
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).n X
Jedem Blatt im Baum ist ein "Gewicht" zugeordnet. Dieses Gewicht wird in aufgezeichnet . Um mit konform zu sein , gibt es Elemente in .w X n w
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.
quelle
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 derX
Matrix und des Beta-Vektors bestimmen ?