Gradient Boosting Tree vs Random Forest

110

El impulso del árbol de gradiente propuesto por Friedman utiliza árboles de decisión como aprendices básicos. Me pregunto si deberíamos hacer que el árbol de decisión base sea lo más complejo posible (completamente desarrollado) o más simple. ¿Hay alguna explicación para la elección?

Random Forest es otro método de conjunto que utiliza árboles de decisión como aprendices básicos. Según mi comprensión, generalmente usamos los árboles de decisión casi completamente desarrollados en cada iteración. Estoy en lo cierto?

FihopZz
fuente
1
Puede encontrar otra muy buena referencia para árboles potenciados aquí: xgboost.readthedocs.io/en/latest/model.html
Naghmeh
@Naghmeh - Enlace muerto; parece haberse movido a xgboost.readthedocs.io/en/latest/tutorials/model.html
mlibby el

Respuestas:

149

error = bias + variance

  • El impulso se basa en estudiantes débiles (alto sesgo, baja varianza). En términos de árboles de decisión, los alumnos débiles son árboles poco profundos, a veces incluso tan pequeños como tocones de decisión (árboles con dos hojas). El aumento reduce el error principalmente al reducir el sesgo (y también en cierta medida la varianza, al agregar la salida de muchos modelos).
  • Por otro lado, Random Forest usa, como dijiste , árboles de decisión completamente desarrollados (bajo sesgo, alta varianza). Aborda la tarea de reducción de errores de la manera opuesta: reduciendo la varianza. Los árboles no están correlacionados para maximizar la disminución de la varianza, pero el algoritmo no puede reducir el sesgo (que es ligeramente mayor que el sesgo de un árbol individual en el bosque). De ahí la necesidad de árboles grandes y no podados, de modo que el sesgo sea inicialmente lo más bajo posible.

Tenga en cuenta que, a diferencia de Boosting (que es secuencial), RF cultiva árboles en paralelo . El término iterativeque usó es, por lo tanto, inapropiado.

Antoine
fuente
1
"Los árboles no están correlacionados para maximizar la disminución de la varianza, pero el algoritmo no puede reducir el sesgo (que es ligeramente mayor que el sesgo de un árbol individual en el bosque)", la parte aproximadamente "ligeramente más alta que el sesgo de un individuo árbol en el bosque "parece incorrecto. Ver web.stanford.edu/~hastie/Papers/ESLII.pdf sección 15.4.2: "Al igual que en el ensacado, el sesgo de un bosque aleatorio es el mismo que el de cualquiera de los árboles individuales muestreados". ¿Quizás te refieres a "un poco más alto que el sesgo de un solo árbol adulto que se ajusta a los datos originales"?
Adrian
1
@gung Creo que hay una pregunta clave sin respuesta en OP, que es: ¿por qué no usar un árbol completamente desarrollado en el primer paso de GBM? ¿Por qué usar una secuencia de aprendiz débil es mejor que un solo árbol completamente desarrollado? Tengo curiosidad sobre eso
ftxx
55

Esta pregunta se aborda en esta muy buena publicación. Por favor échale un vistazo y las referencias allí. http://fastml.com/what-is-better-gradient-boosted-trees-or-random-forest/

Observe en el artículo que habla sobre la calibración y enlaces a otra (agradable) publicación de blog al respecto. Aún así, encuentro que el documento Obteniendo las probabilidades calibradas del refuerzo le da una mejor comprensión de lo que es la calibración en el contexto de los clasificadores potenciados, y cuáles son los métodos estándar para realizarla.

Y finalmente falta un aspecto (un poco más teórico). Tanto RF como GBM son métodos de conjunto, lo que significa que crea un clasificador a partir de una gran cantidad de clasificadores más pequeños. Ahora la diferencia fundamental radica en el método utilizado:

  1. RF utiliza árboles de decisión, que son muy propensos al sobreajuste. Para lograr una mayor precisión, RF decide crear una gran cantidad de ellos en función del embolsado . La idea básica es volver a muestrear los datos una y otra vez y para cada muestra entrenar un nuevo clasificador. Los diferentes clasificadores sobreponen los datos de una manera diferente, y al votar esas diferencias se promedian.
  2. GBM es un método de refuerzo, que se basa en clasificadores débiles . La idea es agregar un clasificador a la vez, de modo que el siguiente clasificador esté entrenado para mejorar el conjunto ya entrenado. Observe que para RF en cada iteración, el clasificador se entrena independientemente del resto.
jpmuc
fuente
3
¿Sería una conclusión justa de su respuesta que RF excede más que GBM?
8forty
44
@ 8forty No sacaría esa conclusión: mientras que un solo árbol en RF se sobreajustará más que un solo árbol en GBM (porque estos son mucho más pequeños), en RF, este sobreajuste se promediará cuando se empleen muchos árboles, mientras que en GBM cuantos más árboles agregue, mayor será el riesgo de sobreajuste. En resumen, como N (número de árboles utilizados) llega al infinito, espero que RF se sobreajuste mucho menos que GBM
Ant