Comment l'augmentation du gradient calcule-t-elle les estimations de probabilité?


12

J'ai essayé de comprendre le renforcement du gradient en lisant divers blogs et sites Web et en essayant de trouver ma réponse en parcourant par exemple le code source XGBoost. Cependant, je n'arrive pas à trouver une explication compréhensible de la façon dont les algorithmes de renforcement de gradient produisent des estimations de probabilité. Alors, comment calculent-ils les probabilités?


3
Cela pose essentiellement la même question et y répond, au cas où une explication différente vous serait utile: stats.stackexchange.com/questions/204154/…
Matthew Drury

Réponses:


14

XGBoost pour la classification est un modèle qui combine les principes des arbres de décision et de la régression logistique.

La fonction de régression logistique calcule des probabilités linéaires sur l'échelle logit:

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

Contrairement à la régression logistique, les «caractéristiques» X sont construits comme les nœuds terminaux d'un ensemble d'arbres de décision - donc chaque ligne de Xrecueille les feuilles terminales pour chaque échantillon; la rangée est unTvectoriel binaire à haute résolution, pour Tle nombre d'arbres. (Chaque arbre XGBoost est généré selon un algorithme particulier, mais ce n'est pas pertinent ici.)

Il y a n colonnes dans X, une colonne pour chaque nœud terminal. Il n'y a pas d'expression pour le nombre total de nœuds terminaux, car le nombre de nœuds peut varier entre les arbres (et le fait généralement, selon mon expérience).

Chaque feuille de l'arbre a un «poids» associé. Ce poids est enregistré dansw. Pour être conforme àX, il y a n éléments dans w.

Ou, comme indiqué autrement, les log-odds pour un échantillon sont la somme des poids de ses feuilles terminales. La probabilité que l'échantillon appartienne à la classe 1 est la transformation logit inverse de la somme.


C'est très utile, merci. Combien d'éléments le vecteur bêta contiendrait-il? Serait-il égal au nombre total de nœuds foliaires sur tous les arbres? (Et il y aurait un nombre égal de colonnes dans la matrice X, n'est-ce pas?)
Vishal

Merci pour la réponse mise à jour. Est-ce à dire qu'il existe une matrice unique X ainsi qu'un ensemble unique de bêtas pour chaque échantillon / observation ( i)? En d'autres termes, pour chaque échantillon / observation pour lequel vous souhaitez calculer la probabilité d'appartenance à la classe 1, vous devez déterminer les valeurs uniques de la Xmatrice et du vecteur bêta?
Vishal

1
Chaque rangée de Xstocke les feuilles du terminal pour un échantillon.
Sycorax dit Réintégrer Monica le

@SycoraxsaysReinstateMonica Votre réponse est très très utile pour comprendre le GBM. Pouvez-vous également expliquer comment le premier arbre dans GBM (classificateur) est construit et comment les critères de division des nœuds pour le premier arbre sont décidés. Je ne suis pas sûr de ce que nous prévoyons pour le premier arbre (même en supposant qu'une constante est initialisée, comment le gradient de perte est calculé à partir de la constante) et si mse est le critère de fractionnement, de quoi est-il composé (différence au carré de quelles valeurs ??)
tjt
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.