Explicaciones intuitivas de las diferencias entre Gradient Boosting Trees (GBM) y Adaboost

48

Estoy tratando de entender las diferencias entre GBM y Adaboost.

Esto es lo que he entendido hasta ahora:

  • Hay dos algoritmos de refuerzo, que aprenden de los errores del modelo anterior y finalmente hacen una suma ponderada de los modelos.
  • GBM y Adaboost son bastante similares, excepto por sus funciones de pérdida.

Pero aún así es difícil para mí captar una idea de las diferencias entre ellos. ¿Alguien puede darme explicaciones intuitivas?

Hee Kyung Yoon
fuente

Respuestas:

34

Encontré que esta introducción puede proporcionar algunas explicaciones intuitivas.

  • En Gradient Boosting, las 'deficiencias' (de los alumnos débiles existentes) se identifican por gradientes .
  • En Adaboost, las "deficiencias" se identifican mediante puntos de datos de alto peso .

En mi opinión, la pérdida exponencial de Adaboost da más pesos para las muestras peor ajustadas. De todos modos, Adaboost es considerado como un caso especial de aumento de gradiente en términos de función de pérdida, como se muestra en la historia de aumento de gradiente proporcionada en la introducción.

  1. Inventar Adaboost, el primer algoritmo de refuerzo exitoso [Freund et al., 1996, Freund y Schapire, 1997]
  2. Formule Adaboost como pendiente descendente con una función de pérdida especial [Breiman et al., 1998, Breiman, 1999]
  3. Generalice Adaboost a Gradient Boosting para manejar una variedad de funciones de pérdida [Friedman et al., 2000, Friedman, 2001]
Randel
fuente
11

Una explicación intuitiva del algoritmo AdaBoost.

Permítanme construir sobre la excelente respuesta de @ Randel con una ilustración del siguiente punto


  • En Adaboost, las "deficiencias" se identifican mediante puntos de datos de gran peso.

Resumen de AdaBoost

solmetro(X) metro=1,2,...,METRO

sol(X)=firmar(α1sol1(X)+α2sol2(X)+...αMETROsolMETRO(X))=firmar(metro=1METROαmetrosolmetro(X))
  • La predicción final es una combinación de las predicciones de todos los clasificadores mediante un voto mayoritario ponderado.

  • αmetrosolmetro(X)

  • w1,w2,...,wnortemetro
  • metro=1wyo=1/ /norte

AdaBoost en un ejemplo de juguete

METRO=10

ingrese la descripción de la imagen aquí

Visualizar la secuencia de alumnos débiles y los pesos de muestra.

metro=1,2 ...,6 6

ingrese la descripción de la imagen aquí

Primera iteración:

  • El límite de decisión es muy simple (lineal) ya que estos son aprendices wea
  • Todos los puntos son del mismo tamaño, como se esperaba
  • 6 puntos azules están en la región roja y están mal clasificados

Segunda iteración:

  • El límite de decisión lineal ha cambiado
  • Los puntos azules previamente mal clasificados ahora son más grandes (mayor muestra_peso) y han influido en el límite de decisión
  • 9 puntos azules ahora están mal clasificados

Resultado final después de 10 iteraciones.

αmetro

([1.041, 0.875, 0.837, 0.781, 1.04, 0.938 ...

Como se esperaba, la primera iteración tiene el coeficiente más grande, ya que es la que tiene menos clasificaciones erróneas.

Próximos pasos

Una explicación intuitiva del aumento de gradiente - para completar

Fuentes y lecturas adicionales:

Xavier Bourret Sicotte
fuente