¿Cómo calcula el aumento de gradiente las estimaciones de probabilidad?


12

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?


3
Esto esencialmente pregunta y responde la misma pregunta, en caso de que una explicación diferente le sea útil: stats.stackexchange.com/questions/204154/…
Matthew Drury

Respuestas:


14

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:

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

A diferencia de la regresión logística, las "características" en X se construyen como los nodos terminales de un conjunto de árboles de decisión, por lo que cada fila de Xrecoge las hojas terminales para cada muestra; la fila es unTvector binario de disparo, para TEl número de árboles. (Cada árbol XGBoost se genera de acuerdo con un algoritmo particular, pero eso no es relevante aquí).

Existen n 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.


Esto es muy útil, gracias. ¿Cuántos elementos contendría el vector beta? ¿Sería igual al número total de nodos de hoja en todos los árboles? (Y habría un número igual de columnas en la matriz X, ¿correcto?)
Vishal

Gracias por la respuesta actualizada. ¿Significa esto que hay una matriz única 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 la Xmatriz y el vector beta?
Vishal

1
Cada fila de Xalmacena las hojas del terminal para una muestra.
Sycorax dice Reinstate Monica el

@SycoraxsaysReinstateMonica Su respuesta es muy útil para comprender el GBM. Además, ¿puede explicar cómo se construye el primer árbol en GBM (clasificador) y cómo se decide el criterio de división de nodos para el primer árbol? No estoy seguro de lo que estamos prediciendo para el primer árbol (incluso suponiendo que se inicialice una constante, cómo se calcula el gradiente de pérdida a partir de la constante) y si mse es el criterio de división, de qué está compuesto (diferencia al cuadrado de qué valores ??)
tjt
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.