Impulso: ¿por qué la tasa de aprendizaje se llama parámetro de regularización?

19

El parámetro de velocidad de aprendizaje ( ) en Gradient Boosting reduce la contribución de cada nuevo modelo base, típicamente un árbol poco profundo, que se agrega en la serie. Se demostró que aumenta drásticamente la precisión del conjunto de pruebas, lo cual es comprensible ya que con pasos más pequeños, el mínimo de la función de pérdida se puede lograr con mayor precisión. ν[0,1]

No entiendo por qué la tasa de aprendizaje se considera un parámetro de regularización . Citando los elementos del aprendizaje estadístico , sección 10.12.1, p.364:

Controlar el número de árboles no es la única estrategia de regularización posible. Al igual que con la regresión de crestas y las redes neuronales, también se pueden emplear técnicas de contracción. Los valores más pequeños de resultado (más encogimiento) en mayor riesgo de formación para el mismo número de iteraciones M . Por lo tanto, ν y M controlan el riesgo de predicción en los datos de entrenamiento.νMνM

La regularización significa "forma de evitar el sobreajuste", por lo que está claro que el número de iteraciones es crucial a ese respecto (una M que es demasiado alta conduce a un sobreajuste). Pero:MM

Los valores más pequeños de resultado (más encogimiento) en mayor riesgo de formación para el mismo número de iteraciones M .νM

solo significa que con bajas tasas de aprendizaje, se necesitan más iteraciones para lograr la misma precisión en el conjunto de entrenamiento. Entonces, ¿cómo se relaciona eso con el sobreajuste?

romuald_84
fuente

Respuestas:

23

Suponga que está tratando de minimizar la función objetivo a través del número de iteraciones. Y el valor actual es . En un conjunto de datos dado, no hay "errores irreducibles" y puede minimizar la pérdida a 0.0 para sus datos de entrenamiento. Ahora tienes dos formas de hacerlo.100.00.0

  • La primera es una "gran tasa de aprendizaje" y pocas iteraciones. Suponga que puede reducir la pérdida en en cada iteración, luego, en 10 iteraciones, puede reducir la pérdida a 0.0 .10.0100.0

  • La segunda forma sería "tasa de aprendizaje lenta" pero más iteraciones. Suponga que puede reducir la pérdida en en cada iteración y necesita 100 iteraciones para tener una pérdida de 0.0 en sus datos de entrenamiento.1.0100

Ahora piense en esto: ¿son iguales los dos enfoques? y si no, ¿cuál es mejor en el contexto de optimización y el contexto de aprendizaje automático ?

En la literatura de optimización , los dos enfoques son los mismos. Como ambos convergen en una solución óptima . Por otro lado, en el aprendizaje automático , no son iguales. Porque en la mayoría de los casos no hacemos que la pérdida en el entrenamiento se establezca en lo que causará un ajuste excesivo.0

Podemos pensar en el primer enfoque como una "búsqueda de cuadrícula de nivel grueso", y el segundo enfoque como una "búsqueda de cuadrícula de nivel fino". El segundo enfoque generalmente funciona mejor, pero necesita más potencia computacional para más iteraciones.

Para evitar un ajuste excesivo, podemos hacer diferentes cosas, la primera forma sería restringir el número de iteraciones, supongamos que estamos usando el primer enfoque, limitamos el número de iteraciones a 5. Al final, la pérdida de datos de entrenamiento es . (Por cierto, esto sería muy extraño desde el punto de vista de la optimización , lo que significa que podemos mejorar nuestra solución en el futuro / no está convergente, pero elegimos no hacerlo. En la optimización, generalmente agregamos explícitamente restricciones o términos de penalización a la función objetivo, pero generalmente no limita el número de iteraciones).50

0.15000.0

Esta es la razón por la cual la tasa de aprendizaje pequeña es casi igual a "más regularizaciones".

Aquí hay un ejemplo del uso de diferentes tasas de aprendizaje en un uso de datos experimentales xgboost. Por favor, consulte los siguientes dos enlaces para ver qué significa etao qué n_iterationssignifica.

Parámetros para Tree Booster

Control excesivo de XGBoost

50

Ejemplo de cambio de tasa de aprendizaje ETA en el modelo XGBoost

PD. La evidencia de un ajuste insuficiente es que tanto el conjunto de entrenamiento como el de prueba tienen un gran error, y la curva de error para el entrenamiento y la prueba están cerca uno del otro. La señal de sobreajuste es que el error del conjunto de entrenamiento es muy bajo y el conjunto de prueba es muy alto, dos curvas están muy lejos una de la otra.

Haitao Du
fuente
¿Quiere decir que con una tasa de aprendizaje baja, se le permite iterar más (refinar su búsqueda más) que con una tasa de aprendizaje alta, por la misma pérdida? Creo que tengo la intuición que estás tratando de transmitir, pero las explicaciones más rigurosas y / o un ejemplo ilustrativo no harían daño.
Antoine
gracias. ¿Podrías actualizar tus enlaces? No funcionan para mí
Antoine
Usar una tasa de aprendizaje mayor siempre es mejor siempre que no aumente el error de entrenamiento en las iteraciones posteriores. La regularización a la que se refiere (sesgo frente a varianza) está relacionada con el error de capacitación / validación y no con la tasa de aprendizaje. Ya sea que esté utilizando una tasa de aprendizaje grande o pequeña, si alcanza un error de entrenamiento de 0.0, entonces está sobreajustado. Si está utilizando una tasa de aprendizaje mayor, entonces debe detener su optimización antes para evitar el sobreajuste. Puede usar un conjunto de validación para ver si su error de validación aumenta en qué momento detiene el entrenamiento.
Curioso
o podría estar perdiendo algo :)
Curioso
This is why small learning rate is sort of equal to "more regularizations". Según este documento, cuanto mayor es la tasa de aprendizaje, mayor es la regularización: Superconvergencia: Entrenamiento muy rápido de redes neuronales usando grandes tasas de aprendizaje
Antoine
2

Con el método de Newton, actualiza sus parámetros restando el gradiente de la pérdida dividido por la curvatura de la pérdida. En la optimización de descenso de gradiente, actualiza sus parámetros restando el gradiente de las pérdidas por la tasa de aprendizaje. En otras palabras, el recíproco de la tasa de aprendizaje se usa en lugar de la curvatura de pérdida real.

Definamos la pérdida del problema como la pérdida que define qué es un buen modelo versus uno malo. Es la verdadera pérdida. Definamos la pérdida optimizada como lo que realmente se minimiza con sus reglas de actualización.

Por definición, un parámetro de regularización es cualquier término que se encuentra en la pérdida optimizada, pero no la pérdida del problema. Dado que la tasa de aprendizaje está actuando como un término cuadrático adicional en la pérdida optimizada, pero no tiene nada que ver con la pérdida del problema, es un parámetro de regularización.

Otros ejemplos de regularización que justifican esta perspectiva son:

  • Pérdida de peso, que es como un término adicional en la pérdida optimizada que penaliza grandes pesos,
  • términos que penalizan modelos complicados, y
  • términos que penalizan las correlaciones entre características.
Neil G
fuente
- No entiendo In other words, the reciprocal of the learning rate is used in place of the real loss curvature. - No soy un experto en el campo y es la primera vez que veo la definición: a regularization parameter is any term that is in the optimized loss, but not the problem loss. Yo tampoco lo entiendo. ¿Podría por favor proporcionar una referencia relevante? Gracias de antemano
Antoine
@Antoine No puedo proporcionar una referencia. Es solo mi experiencia que intenté justificar usando otros tres ejemplos. En cuanto a la tasa de aprendizaje sentado en lugar de la curvatura de pérdida inversa, puede ver que si escribe el método de Newton y las reglas de actualización de descenso de gradiente de lado a lado.
Neil G