¿Cuándo se utilizarían los bosques aleatorios sobre las máquinas potenciadas por gradiente (GBM)?

Hay dos razones principales por las que usaría bosques aleatorios sobre árboles de decisión potenciados por gradiente, y ambos están bastante relacionados:

  1. RF son mucho más fáciles de sintonizar que GBM
  2. RF son más difíciles de sobreajustar que GBM

Relacionado con (1), RF básicamente solo tiene un hiperparámetro para establecer: el número de características para seleccionar aleatoriamente en cada nodo. Sin embargo, existe una regla general para usar la raíz cuadrada del número de características totales que funciona bastante bien en la mayoría de los casos [1]. Por otro lado, los GBM tienen varios hiperparámetros que incluyen la cantidad de árboles, la profundidad (o la cantidad de hojas) y la contracción (o tasa de aprendizaje).

Y, con respecto a (2), si bien no es cierto que la RF no se sobreajuste (a diferencia de lo que muchos creen que las afirmaciones fuertes de Breiman [2]), es cierto que son más robustos para sobreajustar y requieren menos ajuste para evitarlo

En cierto sentido, RF es un conjunto de árbol que es más “plug and play” que GBM. Sin embargo, generalmente es cierto que un GBM bien ajustado puede superar a un RF.

Además, como mencionó Tianqi Chen, RF ha sido tradicionalmente más fácil de establecer paralelismos. Sin embargo, esa ya no es una buena razón, dado que también hay formas eficientes de hacerlo con GBM.

Notas al pie

[1] Página en archives-ouvertes.fr

[2] Bosques aleatorios – descripción de la clasificación

Prácticamente, en casi todos los casos, si tiene que elegir un método. Los árboles potenciados (GBM) generalmente se prefieren a RF si ajusta el parámetro con cuidado.

La razón principal es en términos de objetivo de capacitación, Boosted Trees (GBM) intenta agregar nuevos árboles que complementen los ya construidos. Esto normalmente le brinda una mayor precisión con menos árboles.

Dicho esto, las ideas de submuestreo y embolsado en RF son importantes. Se pueden incorporar fácilmente en el entrenamiento de árboles impulsado. De hecho, esto ayudará al rendimiento por lo general.

Hay una razón histórica tal que RF es más fácil de paralelizar. Esto también se puede hacer para árboles potenciados, aunque menos trivial. Los árboles potenciados se pueden distribuir y muy rápido. Lo hicimos en dmlc / xgboost y funciona bastante bien.

Una última ventaja de los árboles impulsados ​​es sobre el modelado, porque los árboles impulsados ​​se derivan de la optimización de una función objetivo, básicamente se puede usar para resolver casi todos los objetivos en los que se puede escribir el gradiente. Esto incluye cosas como clasificación, regresión de veneno, que RF es más difícil de lograr. Tenemos un tutorial que describe esta perspectiva Introducción a los árboles potenciados

Diferentes problemas de aprendizaje automático tienen características diferentes. Los algoritmos mejorados en particular son sensibles al sobreajuste si los datos son ruidosos; el aumento exhibe una mayor varianza (en el sentido del equilibrio de sesgo-varianza discutido aquí: http://en.wikipedia.org/wiki/Sup …), pero cuando funciona, funciona bien.

Los bosques aleatorios, por otro lado, muestran una varianza muy baja, porque los conjuntos no están construidos sobre los residuos como lo hacen las Máquinas potenciadas por gradiente.

En resumen: debe probar ambos en su dominio problemático; a veces los bosques aleatorios coincidirán mejor con los sesgos de los datos y, a veces, GBM.

Hay una diferencia fundamental en el rendimiento entre los dos que puede obligarlo a elegir Bosques aleatorios en lugar de Máquinas potenciadas por gradiente (GBM ). Es decir, los bosques aleatorios se pueden implementar fácilmente de forma distribuida debido al hecho de que pueden ejecutarse en paralelo , mientras que las máquinas potenciadas por gradiente solo ejecutan prueba tras prueba. Por lo tanto, si está limitado por el tamaño de los datos o la cantidad de pruebas que desea probar, es posible que deba elegir bosques aleatorios.

Alerta de opinión personal:

Por otro lado, preferiría las máquinas potenciadas por gradiente sobre el bosque aleatorio si no estuviera limitado por el tamaño. La idea del aprendizaje reforzado hace clic conmigo, es como cuando te estás preparando para un examen, después de una prueba de preparación, definitivamente pasarías un tiempo revisando los errores que cometiste, en lugar de apresurarte a la siguiente prueba de preparación.

Dicho esto, muy a menudo estamos limitados por el tamaño y es más fácil ejecutar RF con 2000 árboles que GBM con 2000 ensayos.

Hay dos diferencias, una es algorítmica y otra práctica.

La diferencia algorítmica es; Los bosques aleatorios están entrenados con muestras aleatorias de datos (incluso más casos aleatorizados disponibles, como la aleatorización de características) y confía en la aleatorización para tener un mejor rendimiento de generalización fuera del conjunto de trenes.
En el otro espectro, el algoritmo Gradient Boosted Trees adicionalmente intenta encontrar una combinación lineal óptima de árboles (suponga que el modelo final es la suma ponderada de las predicciones de árboles individuales) en relación con los datos de trenes dados. Esta afinación adicional podría considerarse como la diferencia. Tenga en cuenta que también hay muchas variaciones de esos algoritmos.

En el lado práctico; Debido a esta etapa de ajuste, los árboles potenciados por gradiente son más susceptibles a la fluctuación de datos. Esta etapa final hace que sea más probable que GBT se sobreajuste, por lo tanto, si los casos de prueba tienden a ser tan detallados en comparación con los casos de entrenamiento, este algoritmo comienza a faltar. Por el contrario, los bosques aleatorios son mejores para forzar el sobreajuste, aunque faltan al revés.

Entonces, la mejor opción depende del caso que tenga como siempre.

Además de las excelentes respuestas sobre cómo Boosting puede exprimir más, LABEL NOISE (es decir, ‘etiquetas erróneas’ en el entrenamiento) es otro factor que hace que la RF supere a los GBM.

  1. Label Noise es MÁS COMÚN en la vida real de lo que uno puede pensar
  1. Fuente de etiquetas ruidosas al azar: por ejemplo, cuando se modela la ‘intención del cliente’ en base a una encuesta, diferencia pequeña / subjetiva entre 2 clases en la clasificación de varias clases
  2. Fuente de ruido asimétrico: por ejemplo, fraude. No se detectan todos los fraudes. Además, no podemos darnos el lujo de esperar muchos años para finalmente observarlo, al construir un modelo. Por lo tanto, y = 0 puede ser ‘no fraude’ o ‘no sabemos’. (También llamado PU Learning)
  • Label Noise rompe la confianza en la EVALUACIÓN OFFLINE
    1. dado que el conjunto de datos de validación también tiene etiquetas ruidosas.
    2. ¡Esto es como evaluar a los mejores estudiantes en la escuela en base a un examen con respuestas incorrectas!
  • Las diferentes funciones de pérdida y los algoritmos de ML tienen una ROBUSTEZ diferente al ruido de la etiqueta.
    1. Impulsar el diseño puede hacer que GBM sea particularmente susceptible a aprender “erróneamente” demasiado de etiquetas ruidosas (en árboles posteriores). La falla severa de Adaboost (otro tipo de Boosting algo) para etiquetar ruido está bien establecida
    2. Con la adición de la regularización al objetivo + parada temprana basada en un conjunto de datos de validación bastante grande, este riesgo se reduce un poco.
    3. Pero (a diferencia de xgboost), las implementaciones de GBM de datos distribuidos más escalables no parecen tener una regularización adecuada al momento de la escritura

    Referencias

    Clasificación en presencia de ruido de etiqueta: una encuesta

    https://arxiv.org/pdf/1109.5231.pdf

    Algunos que vienen a la mente:
    1) datos grandes (sobreajuste menos probable con RF)
    2) predictores correlacionados (malo para impulsar)
    3) calcular el tiempo (puede paralelizar RF)
    4) datos desequilibrados (puede estratificar el muestreo en RF)

    Tengo experiencia trabajando con los dos algos y GBM es mucho más rápido en un gran conjunto de datos (en R, randomForest se ejecutó durante 45 minutos con 1k árboles y GBM se ejecutó durante 6 minutos con 2k árboles y 3 repeticiones en 16k filas y 140 variables). en un problema de predicción específico, el GBM fue más estable y preciso en los datos reales que RF.