¿Cómo elegir el número de árboles en un modelo de regresión potenciado generalizado?

11

¿Existe una estrategia para elegir la cantidad de árboles en un GBM? Específicamente, el ntreesargumento en Rla gbmfunción de.

No veo por qué no debe establecer ntreesel valor razonable más alto. Me di cuenta de que una mayor cantidad de árboles reduce claramente la variabilidad de los resultados de múltiples GBM. No creo que una gran cantidad de árboles conduzca a un sobreajuste.

¿Alguna idea?

wcampbell
fuente

Respuestas:

3

Esto es GBM:

" No creo que ... " ha sido la peligrosa primera parte de muchas oraciones.

Lo suficientemente bueno no tiene sentido sin una medida de bondad, una rúbrica.

¿Cuáles son las medidas de bondad para cualquier otro método?

  • Diferencia entre modelo y datos (sse, ...)
  • Divergencia de error en un conjunto de retención (error de entrenamiento versus error de prueba)
  • Relación de recuento de parámetros a recuento de muestras (a la mayoría de las personas les gustan 5 muestras por parámetro o 30 muestras por parámetro)
  • Validación cruzada (métodos de conjunto sobre divergencia de pruebas de error)

Al igual que una red neuronal o spline, puede realizar una interpolación lineal por partes en los datos y obtener un modelo que no se puede generalizar. Debe renunciar a algunos de los "errores bajos" a cambio de aplicabilidad general: generalización.

Más enlaces:

Estudiante
fuente
2

Encontré algunas ideas sobre el problema: http://cran.r-project.org/web/packages/dismo/vignettes/brt.pdf

La gbm.stepfunción se puede usar para determinar la cantidad óptima de árboles. Todavía no estoy seguro de qué causa que la desviación del modelo aumente después de cierto número de árboles, ¡así que todavía estoy dispuesto a aceptar una respuesta que responda a esta parte de la pregunta!

wcampbell
fuente
2
El sobreajuste provoca el aumento. La mayoría de los buenos métodos hacen un conjunto de reserva y lo usan para probar el modelo, pero no para actualizar el modelo. Esto permite la detección del inicio del sobreajuste.
EngrStudent
0

Esta es la guía de trabajo para aumentar los árboles de regresión de Elith et al .: http://onlinelibrary.wiley.com/doi/10.1111/j.1365-2656.2008.01390.x/full ¡ Muy útil!

Al menos deberías usar 1000 árboles. Según tengo entendido, debe usar la combinación de tasa de aprendizaje, complejidad de árboles y número de árboles que logra el error predictivo mínimo. Los valores más pequeños de la tasa de aprendizaje conducen a un mayor riesgo de entrenamiento para el mismo número de iteraciones, mientras que cada iteración reduce el riesgo de entrenamiento. Si el número de árboles es lo suficientemente grande, el riesgo puede hacerse arbitrariamente pequeño (ver: Hastie et al., 2001, "Los elementos del aprendizaje estadístico, minería de datos, inferencia y predicción" ).

V.Vetter
fuente
Es cierto que Elith et al. Sugerir como regla general utilizar 1000 árboles. Sin embargo, esto se basa en un análisis detallado de la estabilidad predictiva para el conjunto de datos específico utilizado en el documento. Parece poco probable que el mismo número funcione para cualquier conjunto de datos posible. Tal vez podría ampliar su respuesta un poco dando algunos detalles sobre el análisis que realizaron, particularmente en el Apéndice S1.
DeltaIV
0

Como es común en algunos algoritmos de aprendizaje automático, Boosting está sujeto a una compensación de variación de sesgo con respecto al número de árboles. Hablando en términos generales, esta compensación le dice que: (i) los modelos débiles tienden a tener un alto sesgo y baja varianza: son demasiado rígidos para capturar la variabilidad en el conjunto de datos de entrenamiento, por lo que tampoco funcionará bien en el conjunto de prueba (prueba alta error) (ii) los modelos muy fuertes tienden a tener un sesgo bajo y una gran varianza: son demasiado flexibles y se ajustan demasiado al conjunto de entrenamiento, por lo que en el conjunto de prueba (ya que los puntos de datos son diferentes del conjunto de entrenamiento) tampoco funcionarán bien (error de prueba alto)

El concepto de impulsar árboles es comenzar con árboles poco profundos (modelos débiles) y seguir agregando más árboles poco profundos que intentan corregir las debilidades de los árboles anteriores. A medida que realiza este proceso, el error de prueba tiende a disminuir (porque el modelo general se vuelve más flexible / potente). Sin embargo, si agrega demasiados de esos árboles, comienza a sobreajustar los datos de entrenamiento y, por lo tanto, aumenta el error de prueba. La validación cruzada ayuda a encontrar el punto óptimo

Frederico Lopes
fuente