3 votos

GBM: impacto de la función de pérdida

Estoy familiarizado con Random Forest y Adaboost y si entiendo bien la ventaja de GBM en estos algoritmos es que podemos utilizar diferentes funciones perdidas.

¿Es correcto decir:

  1. Utilizando square loss significa construir árboles sobre el residuo bruto del árbol anterior.

  2. Utilizando absolute loss significa sustituir los residuos por sus signos, es decir, - 1 para los residuos negativos y 1 para los positivos, y construir el siguiente árbol a partir de estos residuos transformados. Esto reduce el impacto de los valores atípicos

Si estas afirmaciones son correctas ¿no cree que es engañoso utilizar el término square loss para describir algo que sólo utiliza los residuos brutos? Por ejemplo, en la regresión OLS, cuadrado significa lo que esperamos, es decir, que los residuos son realmente cuadrados.

6voto

eldering Puntos 3814

Utilizar la pérdida cuadrada significa construir árboles sobre el residuo bruto del árbol anterior.

Es justo, pero dada su última declaración

¿no cree que es engañoso utilizar el término pérdida cuadrada para describir algo que sólo utiliza los residuos brutos?

Me temo que estás pasando por alto un punto importante sobre el aumento del gradiente. En el refuerzo de gradiente, los árboles (o cualquier otro aprendiz débil) no se ajustan a la función de pérdida (la función que se está minimizando), sino al gradiente de la función de pérdida con respecto a la predicción. (*).

Eso es difícil de digerir, así que aquí está cómo funciona en el caso de error al cuadrado. Aquí la función de pérdida para un único punto de datos es

$$ L(y, \hat y) = (y - \hat y)^2 $$

En $\hat y$ es lo que yo llamo la predicción. Si la tratamos como una variable formal y la diferenciamos, obtenemos

$$ \nabla L (y, \hat y) = -2(y - \hat y) $$

Es este a la que se ajustan los árboles, introducimos los valores apropiados de $y$ y $\hat y$ en $\nabla L$ y el resultado es nuestra respuesta de trabajo para una ronda de refuerzo. En la iteración de refuerzo inicial inicializamos $\hat y$ a una constante (aquí la media de la respuesta), y en iteraciones posteriores a la predicción de las rondas anteriores de boosting.

Utilizar la pérdida absoluta significa sustituir los residuos por sus signos, es decir, -1 para los residuos negativos y 1 para los positivos, y construir el siguiente árbol a partir de estos residuos transformados.

Esto es correcto en su mayor parte, pero conviene interpretarlo a la luz de lo anterior. Para la pérdida absoluta estamos minimizando la función de pérdida de valor absoluto

$$ L(y, \hat y) = \left| y - \hat y \right| $$

para que los árboles sean aptos para

$$ \nabla L (y, \hat y) = -1 \ \text{if} \ (y - \hat y) < 0 $$ $$ \nabla L (y, \hat y) = 1 \ \text{if} \ (y - \hat y) \geq 0 $$

Dado que la magnitud de las actualizaciones está controlada por el gradiente en cada etapa del boosting, se puede ver que en el caso del error cuadrático, gradientes mayores (residuales) dan actualizaciones mayores, pero en el caso absoluto, la escala de actualización es fija.

(*) Estos árboles se utilizan entonces para definir esencialmente una dirección en la que moverse cuando se minimiza la función de pérdida, ala gradient descent.

¿Por qué es habitual mencionar la función de pérdida y no directamente el gradiente asociado para evitar esta confusión cuando describimos un GBM?

Porque la parte del gradiente es un detalle de implementación. Es importante, pero sigue siendo una parte interna del algoritmo que no necesita ser expuesta como parte de una interfaz.

La función de pérdida es qué se está minimizando mientras que el gradiente es cómo se minimiza . Lo primero es mucho más importante, hay que comunicarlo a todos los implicados en un modelo, incluso al responsable del departamento no técnico que todavía no está convencido de que $(x + y)^2 \neq x^2 + y^2$ .

Pero, al fin y al cabo, es una cuestión de convenciones. Tendemos a denominar los modelos de acuerdo con la función de pérdida que se minimiza (error absoluto, error cuadrático), o una distribución asociada (el modelo poisson minimiza la función de pérdida de desviación poisson). Me gustaría pensar que hay buenas razones para hacerlo así, pero incluso si no estás de acuerdo, una buena razón para utilizar los nombres tradicionales es que la gente te entenderá mejor así.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X