19 votos

¿Cómo puede una tasa de aprendizaje menor perjudicar el rendimiento de un gbm?

Siempre me he adherido a la opinión popular de que disminuir la tasa de aprendizaje en un modelo de árbol con gradiente reforzado (gbm) no perjudica el rendimiento del modelo fuera de la muestra. Hoy, no estoy tan seguro.

Estoy ajustando modelos (minimizando la suma de errores al cuadrado) a la conjunto de datos de vivienda de boston . A continuación, se muestra un gráfico del error en función del número de árboles en un conjunto de datos de prueba con un 20% de retención

Error by Number of Trees with different learning rates

Es difícil ver lo que sucede al final, así que aquí hay una versión ampliada en los extremos

Zoomed in version

Parece que en este ejemplo, la tasa de aprendizaje de $0.01$ es el mejor, con los índices de aprendizaje más pequeños realizando peor en los datos de retención.

¿Cuál es la mejor manera de explicarlo?

¿Es esto un artefacto del pequeño tamaño del conjunto de datos de Boston? Estoy mucho más familiarizado con situaciones en las que tengo cientos de miles o millones de puntos de datos.

¿Debería empezar a ajustar la tasa de aprendizaje con una búsqueda de cuadrícula (o algún otro meta-algoritmo)?

11voto

Pitto Puntos 958

Sí, tienes razón, una tasa de aprendizaje más baja debería encontrar un óptimo mejor que una tasa de aprendizaje más alta. Pero deberías ajustar los hiperparámetros utilizando la búsqueda en cuadrícula para encontrar la mejor combinación de tasa de aprendizaje junto con los otros hiperparámetros.

El algoritmo GBM utiliza múltiples hiperparámetros además de la tasa de aprendizaje (contracción), estos son:

  1. Número de árboles
  2. Profundidad de la interacción
  3. Observación mínima en un nodo
  4. Fracción de bolsa (fracción de observaciones seleccionadas al azar)

La búsqueda en la cuadrícula debe comprobar todo esto para determinar el conjunto de parámetros más óptimo.

Por ejemplo, en algunos conjuntos de datos que he ajustado con GBM, he observado que la precisión varía mucho a medida que se modifica cada hiperparámetro. No he ejecutado GBM en su conjunto de datos de muestra, pero me referiré a un ejercicio de ajuste similar para otro conjunto de datos. Consulte este gráfico sobre un problema de clasificación con clases muy desequilibradas.

Impact of varying shrinkage (learning rate) on Kappa metric

Aunque la precisión es mayor para una tasa de aprendizaje más baja, por ejemplo, para una profundidad de árbol máxima de 16, la métrica Kappa es de 0,425 a una tasa de aprendizaje de 0,2, que es mejor que 0,415 a una tasa de aprendizaje de 0,35.

Pero cuando se observa la tasa de aprendizaje a 0,25 frente a 0,26, hay un aumento brusco pero pequeño de Kappa para la profundidad máxima del árbol de 14, 15 y 16; mientras que sigue disminuyendo para la profundidad del árbol de 12 y 13.

Por lo tanto, le sugiero que pruebe la búsqueda en la red.

Además, como ha mencionado, esta situación también podría haberse visto agravada por el menor tamaño de la muestra del conjunto de datos.

8voto

andy Puntos 1

Sandeep S. Sandhu ha dado una gran respuesta. En cuanto a tu caso, creo que tu modelo aún no ha convergido para esas pequeñas tasas de aprendizaje. En mi experiencia, cuando se utiliza una tasa de aprendizaje tan pequeña como 0,001 en un árbol de refuerzo de gradiente, se necesitan unas 100.000 etapas de refuerzo (o árboles) para alcanzar el mínimo. Por lo tanto, si se aumentan las rondas de refuerzo a diez veces más, se debería ver que la tasa de aprendizaje más pequeña funciona mejor que la grande.

También puede consultar el sitio web de Laurae++ para obtener una gran descripción de cada uno de los parámetros de Lightgbm/XGBoost ( https://sites.google.com/view/lauraepp/parameters y haga clic en la "Tasa de aprendizaje").

Esta es la cita más importante sobre el ritmo de aprendizaje:

Creencias

Una vez fijado el ritmo de aprendizaje, no lo cambie.
No es una buena práctica considerar la tasa de aprendizaje como un hiperparámetro a afinar.
La tasa de aprendizaje debe ajustarse en función de la velocidad de entrenamiento y el rendimiento.
No deje que un optimizador lo afine. Uno debe no esperar ver una tasa de aprendizaje de sobreajuste de 0,0202048.

Detalles

Se supone que cada iteración proporciona una mejora de la pérdida de entrenamiento.
Esta mejora se multiplica con la tasa de aprendizaje para realizar actualizaciones más pequeñas.
Las actualizaciones más pequeñas permiten sobreajustar más lento los datos, pero requiere más iteraciones para el entrenamiento.
Para ejemplo, hacer 5 iteraciones a una tasa de aprendizaje de 0,1 aproximadamente requeriría hacer 5000 iteraciones con una tasa de aprendizaje de 0,001, lo que podría ser odioso para grandes conjuntos de datos. Normalmente, utilizamos una tasa de aprendizaje de aprendizaje de 0,05 o menos para el entrenamiento, mientras que una tasa de aprendizaje de 0,10 o mayor se utiliza para ajustar los hiperparámetros.

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