En el aprendizaje automático , la detención temprana es una forma de regularización que se utiliza para evitar el sobreajuste al entrenar un modelo con un método iterativo, como el descenso de gradiente . Dichos métodos actualizan el modelo para que se ajuste mejor a los datos de entrenamiento con cada iteración. Hasta cierto punto, esto mejora el rendimiento del modelo en datos fuera del conjunto de entrenamiento (por ejemplo, el conjunto de validación). Sin embargo, más allá de ese punto, mejorar el ajuste del modelo a los datos de entrenamiento se produce a expensas de un mayor error de generalización . Las reglas de detención temprana proporcionan una guía sobre cuántas iteraciones se pueden ejecutar antes de que el alumno comience a sobreajustarse. Las reglas de detención temprana se han empleado en muchos métodos de aprendizaje automático diferentes, con diferentes cantidades de fundamento teórico.
En esta sección se presentan algunos de los conceptos básicos de aprendizaje automático necesarios para describir los métodos de detención temprana.
Los algoritmos de aprendizaje automático entrenan un modelo basándose en un conjunto finito de datos de entrenamiento. Durante este entrenamiento, el modelo se evalúa en función de lo bien que predice las observaciones contenidas en el conjunto de entrenamiento. Sin embargo, en general, el objetivo de un esquema de aprendizaje automático es producir un modelo que generalice, es decir, que prediga observaciones no vistas previamente. El sobreajuste se produce cuando un modelo se ajusta bien a los datos del conjunto de entrenamiento, pero incurre en un error de generalización mayor .
La regularización, en el contexto del aprendizaje automático, se refiere al proceso de modificación de un algoritmo de aprendizaje para evitar el sobreajuste. Esto generalmente implica imponer algún tipo de restricción de suavidad en el modelo aprendido. [1] Esta suavidad se puede aplicar explícitamente, fijando el número de parámetros en el modelo o aumentando la función de costo como en la regularización de Tikhonov . La regularización de Tikhonov, junto con la regresión de componentes principales y muchos otros esquemas de regularización, se incluyen en el ámbito de la regularización espectral, regularización caracterizada por la aplicación de un filtro. La detención temprana también pertenece a esta clase de métodos.
Los métodos de descenso de gradiente son métodos de optimización iterativos de primer orden. Cada iteración actualiza una solución aproximada al problema de optimización dando un paso en la dirección del negativo del gradiente de la función objetivo. Al elegir el tamaño del paso de manera adecuada, se puede lograr que un método de este tipo converja a un mínimo local de la función objetivo. El descenso de gradiente se utiliza en el aprendizaje automático definiendo una función de pérdida que refleja el error del alumno en el conjunto de entrenamiento y luego minimizando esa función.
La detención temprana se puede utilizar para regularizar los problemas de regresión no paramétrica que se encuentran en el aprendizaje automático . Para un espacio de entrada dado, , un espacio de salida, , y muestras extraídas de una medida de probabilidad desconocida, , en , el objetivo de dichos problemas es aproximar una función de regresión , , dada por
donde es la distribución condicional en inducida por . [2] Una opción común para aproximar la función de regresión es usar funciones de un espacio de Hilbert de kernel de reproducción . [2] Estos espacios pueden ser de dimensión infinita, en los que pueden proporcionar soluciones que sobreajustan conjuntos de entrenamiento de tamaño arbitrario. Por lo tanto, la regularización es especialmente importante para estos métodos. Una forma de regularizar problemas de regresión no paramétrica es aplicar una regla de detención temprana a un procedimiento iterativo como el descenso de gradiente.
Las reglas de detención temprana propuestas para estos problemas se basan en el análisis de los límites superiores del error de generalización en función del número de iteraciones. Producen prescripciones para el número de iteraciones que se deben ejecutar y que se pueden calcular antes de iniciar el proceso de solución. [3] [4]
(Adaptado de Yao, Rosasco y Caponnetto, 2007 [3] )
Sea y Dado un conjunto de muestras
extraído independientemente de , minimiza la funcionalidad
donde, es un miembro del espacio de Hilbert del núcleo reproductor . Es decir, minimiza el riesgo esperado para una función de pérdida de mínimos cuadrados. Dado que depende de la medida de probabilidad desconocida , no se puede utilizar para el cálculo. En su lugar, considere el siguiente riesgo empírico
Sean y las iteraciones t -ésimas del descenso de gradiente aplicadas a los riesgos esperados y empíricos, respectivamente, donde ambas iteraciones se inicializan en el origen y ambas utilizan el tamaño de paso . Las forman la iteración de población , que converge a , pero no se puede utilizar en el cálculo, mientras que las forman la iteración de muestra que generalmente converge a una solución de sobreajuste.
Queremos controlar la diferencia entre el riesgo esperado de la iteración de la muestra y el riesgo mínimo esperado, es decir, el riesgo esperado de la función de regresión:
Esta diferencia se puede reescribir como la suma de dos términos: la diferencia en el riesgo esperado entre las iteraciones de la muestra y la población y entre la iteración de la población y la función de regresión:
Esta ecuación presenta un equilibrio entre sesgo y varianza , que luego se resuelve para obtener una regla de detención óptima que puede depender de la distribución de probabilidad desconocida. Esa regla tiene límites probabilísticos asociados en el error de generalización. Para el análisis que conduce a la regla de detención temprana y los límites, se remite al lector al artículo original. [3] En la práctica, se pueden utilizar métodos basados en datos, por ejemplo, la validación cruzada, para obtener una regla de detención adaptativa.
Boosting se refiere a una familia de algoritmos en los que un conjunto de aprendices débiles (aprendices que solo están ligeramente correlacionados con el proceso verdadero) se combinan para producir un aprendiz fuerte . Se ha demostrado, para varios algoritmos de boosting (incluido AdaBoost ), que la regularización mediante detención temprana puede proporcionar garantías de consistencia , es decir, que el resultado del algoritmo se acerca a la solución verdadera a medida que el número de muestras tiende al infinito. [5] [6] [7] [8]
Los métodos de refuerzo tienen vínculos estrechos con los métodos de descenso de gradiente descritos anteriormente y pueden considerarse como un método de refuerzo basado en la pérdida: L 2 Boost . [3]
Estas reglas de detención temprana funcionan dividiendo el conjunto de entrenamiento original en un nuevo conjunto de entrenamiento y un conjunto de validación . El error en el conjunto de validación se utiliza como un proxy para el error de generalización para determinar cuándo ha comenzado el sobreajuste. Estos métodos se emplean en el entrenamiento de muchos algoritmos iterativos de aprendizaje automático, incluidas las redes neuronales . Prechelt ofrece el siguiente resumen de una implementación ingenua de detención temprana basada en holdout de la siguiente manera: [9]
- Dividir los datos de entrenamiento en un conjunto de entrenamiento y un conjunto de validación, por ejemplo, en una proporción de 2 a 1.
- Entrene solo en el conjunto de entrenamiento y evalúe el error por ejemplo en el conjunto de validación de vez en cuando, por ejemplo, después de cada quinta época.
- Detenga el entrenamiento tan pronto como el error en el conjunto de validación sea mayor que el que tenía la última vez que se verificó.
- Utilice los pesos que tenía la red en el paso anterior como resultado de la ejecución de entrenamiento.
— Lutz Prechelt, Parada temprana, ¿pero cuándo?
La validación cruzada es una alternativa que se puede aplicar a escenarios que no son de series temporales. La validación cruzada implica dividir múltiples particiones de los datos en un conjunto de entrenamiento y un conjunto de validación, en lugar de una única partición en un conjunto de entrenamiento y un conjunto de validación. Incluso este procedimiento simple se complica en la práctica por el hecho de que el error de validación puede fluctuar durante el entrenamiento, lo que produce múltiples mínimos locales. Esta complicación ha llevado a la creación de muchas reglas ad hoc para decidir cuándo ha comenzado realmente el sobreajuste. [9]