He estado tratando de entender el aumento de gradiente leyendo varios blogs, sitios web y tratando de encontrar mi respuesta mirando, por ejemplo, el código fuente de XGBoost. Sin embargo, parece que no puedo encontrar una explicación comprensible de cómo los algoritmos de aumento de gradiente producen estimaciones de probabilidad. Entonces, ¿cómo calculan las probabilidades?
12
Respuestas:
XGBoost para clasificación es un modelo que combina los principios de los árboles de decisión y la regresión logística.
La función de regresión logística calcula las probabilidades que son lineales en la escala logit:
A diferencia de la regresión logística, las "características" enX se construyen como los nodos terminales de un conjunto de árboles de decisión, por lo que cada fila de X recoge las hojas terminales para cada muestra; la fila es unT vector binario de disparo, para T El número de árboles. (Cada árbol XGBoost se genera de acuerdo con un algoritmo particular, pero eso no es relevante aquí).
Existenn columnas en X , una columna para cada nodo terminal. No existe una expresión para el número total de nodos terminales, porque el número de nodos puede variar entre los árboles (y, por lo general, lo hace, en mi experiencia).
Cada hoja del árbol tiene un "peso" asociado. Ese peso se registra enw . Ser conforme conX , existen n elementos en w .
O, como alternativa, las probabilidades de registro para una muestra es la suma de los pesos de sus hojas terminales. La probabilidad de que la muestra pertenezca a la clase 1 es la transformación de logit inverso de la suma.
fuente
X
, así como un conjunto único de betas para cada muestra / observación (i
)? En otras palabras, para cada muestra / observación para la que desea calcular la probabilidad de pertenecer a la clase 1, ¿necesitaría determinar los valores únicos de laX
matriz y el vector beta?