¿Cómo está aumentando el gradiente como el descenso del gradiente?

9

Estoy leyendo la útil entrada de Wikipedia sobre el aumento de gradiente ( https://en.wikipedia.org/wiki/Gradient_boosting ), y trato de entender cómo / por qué podemos aproximar los residuos por el paso de descenso más pronunciado (también llamado pseudo-gradiente ) ¿Alguien puede darme la intuición de cómo el descenso más empinado está relacionado / similar a los residuos? Ayuda muy apreciada!

ingrese la descripción de la imagen aquí

Wouter
fuente

Respuestas:

11

Supongamos que estamos en la siguiente situación. Tenemos algunos datos , donde cada puede ser un número o un vector, y nos gustaría determinar una función que se aproxime a la relación , en el sentido de que los mínimos cuadrados error:{xi,yi}xiff(xi)yi

12i(yif(xi))2

es pequeño.

Ahora, entra la pregunta de qué nos gustaría que fuera el dominio de . Una opción degenerada para el dominio son solo los puntos en nuestros datos de entrenamiento. En este caso, podemos definir , cubriendo todo el dominio deseado, y terminar con él. Una forma aproximada de llegar a esta respuesta es haciendo un descenso de gradiente con este espacio discreto como dominio. Esto requiere un poco de cambio en el punto de vista. Veamos la pérdida como una función del punto verdadero y la predicción (por el momento, no es una función, sino solo el valor de la predicción)ff(xi)=yy ff

L(f;y)=12(yf)2

y luego tomar el gradiente con respecto a la predicción

fL(f;y)=fy

Entonces la actualización de gradiente, comenzando desde un valor inicial de esy0

y1=y0f(y0,y)=y0(y0y)=y

Así que recuperamos nuestra predicción perfecta en un paso de gradiente con esta configuración, ¡lo cual es bueno!

El defecto aquí es, por supuesto, que queremos que se defina en mucho más que solo nuestros puntos de datos de entrenamiento. Para hacer esto, debemos hacer algunas concesiones, ya que no podemos evaluar la función de pérdida, o su gradiente, en ningún punto que no sea nuestro conjunto de datos de entrenamiento. f

La gran idea es débilmente aproximada . L

Startcon una suposición inicial en , casi siempre una función constante simple , esto se define en todas partes. Ahora genere un nuevo conjunto de datos de trabajo evaluando el gradiente de la función de pérdida en los datos de entrenamiento, utilizando la suposición inicial para :ff(x)=f0f

W={xi,f0y}

Now approximate L encajando débil aprende a . Decimos que obtenemos la aproximación . Hemos obtenido una extensión de los datos en todo el dominio en forma de , aunque hemos perdido precisión en los puntos de entrenamiento, ya que nos adaptamos a un pequeño alumno.WFLWF(X)

Finally, use en lugar de en la actualización de gradiente de en todo el dominio:FLf0

f1(x)=f0(x)F(x)

Salimos de , una nueva aproximación de , un poco mejor que . Comienza de nuevo con e itera hasta que estés satisfecho.f1ff0f1

Con suerte, verá que lo realmente importante es aproximar el gradiente de la pérdida. En el caso de la minimización de mínimos cuadrados, esto toma la forma de residuos en bruto, pero en casos más sofisticados no. Sin embargo, la maquinaria todavía se aplica. Mientras se pueda construir un algoritmo para calcular la pérdida y el gradiente de pérdida en los datos de entrenamiento, podemos usar este algoritmo para aproximar una función que minimice esa pérdida.

Matthew Drury
fuente
Yah, creo que está bien. Lo único a tener en cuenta es que si, por ejemplo, desea aumentar para minimizar la pérdida binomial entonces el gradiente que expandimos ya no es relacionado con los residuos de forma natural.
iyilog(pi)+(1yi)log(1pi)
Matthew Drury
Gracias Matthew Una cosa que estoy tratando de entender. En la literatura a menudo se afirma que la actualización del modelo es F (m + 1) = F (m) + , donde h (m) es el alumno débil. Si estoy pensando en un modelo basado en un árbol, ¿significa que tanto para la regresión como para la clasificación, en realidad prácticamente actualizamos nuestra predicción para un punto de datos dado mediante la simple adición de los resultados de los dos modelos? ¿eso también funciona si estamos tratando de clasificar binariamente esto? ¿o no debería interpretarse el signo + tan literalmente? αmh(m)
Wouter
El signo más es bastante literal. Pero para un alumno débil basado en un árbol, las predicciones del modelo deben interpretarse como el promedio ponderado en la hoja, incluso en el caso en que el árbol se ajuste a los datos binomiales. Sin embargo, tenga en cuenta que, al aumentar, generalmente no nos ajustamos a los datos binomiales, nos ajustamos al gradiente de la probabilidad evaluada en las predicciones de la etapa anterior, que no será valorada en . 0,1
Matthew Drury
1
@MatthewDrury Creo que en muchas publicaciones, no somos actualizaciones directas con , sino con , donde de 0 a 1 es una tasa de aprendizaje. f1f0F(x)f0αF(x)α
Haitao Du
@ hxd1011 Sí, eso es absolutamente correcto y crucial para utilizar el aumento de gradiente con éxito.
Matthew Drury