Regularización

La regularización es un proceso que cambia la respuesta del resultado para que sea "más simple". A menudo se utiliza para obtener resultados en problemas mal planteados o para evitar el sobreajuste .

En el aprendizaje automático, el término de datos corresponde a los datos de entrenamiento y la regularización es la elección del modelo o modificaciones al algoritmo. Siempre se pretende reducir el error de generalización, es decir, la puntuación de error con el modelo entrenado en el conjunto de evaluación y no los datos de entrenamiento.

Uno de los primeros usos de la regularización es la regularización de Tikhonov , relacionada con el método de mínimos cuadrados.

La regularización, en el contexto del aprendizaje automático, se refiere al proceso de modificar 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 puede imponerse 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, caen bajo el paraguas de la regularización espectral, regularización caracterizada por la aplicación de un filtro. La detención anticipada también pertenece a esta clase de métodos.

La regularización es una forma de evitar el sobreajuste al penalizar los coeficientes de regresión de alto valor. En términos simples, reduce los parámetros y reduce (simplifica) el modelo. Es probable que este modelo más simplificado y parsimonioso funcione mejor en las predicciones. La regularización agrega penalizaciones a los modelos más complejos y luego ordena los modelos potenciales de menor a mayor sobreajuste; El modelo con la puntuación más baja de "sobreajuste" suele ser la mejor opción para el poder predictivo.


¿Por qué es necesaria la regularización?

La regularización es necesaria porque los métodos de regresión de mínimos cuadrados , en los que se minimiza la suma residual de los cuadrados , pueden ser inestables. Esto es especialmente cierto si hay multicolinealidad en el modelo. Sin embargo, la mera práctica del ajuste de modelos conlleva un gran escollo: cualquier conjunto de datos puede ajustarse a un modelo, incluso si ese modelo es ridículamente complejo.

Por ejemplo, tome un conjunto de datos simple de dos puntos. El modelo más simple es una línea recta a través de los dos puntos, o un polinomio de primer grado . Sin embargo, un número infinito de otros modelos también podrían ajustarse a polinomios de segundo y tercer grado, y así sucesivamente.


Early stopping

En el aprendizaje automático , la parada anticipada es una forma de regularización que se utiliza para evitar el sobreajuste cuando se entrena a un alumno con un método iterativo, como el descenso de gradiente . Dichos métodos actualizan al alumno para que se ajuste mejor a los datos de entrenamiento con cada iteración. Hasta cierto punto, esto mejora el rendimiento del alumno en datos fuera del conjunto de entrenamiento. Sin embargo, más allá de ese punto, mejorar el ajuste del alumno a los datos de entrenamiento se produce a expensas de un mayor error de generalización .. Las reglas de detención temprana brindan orientación 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 diferentes de aprendizaje automático, con cantidades variables de base teórica.


Dropout 

La dilución y el abandono (Dropout) son técnicas de regularización para reducir el sobreajuste en las redes neuronales artificiales al evitar coadaptaciones complejas en los datos de entrenamiento . Son una forma eficiente de realizar promedios de modelos con redes neuronales. [2] La dilución se refiere a la reducción de los pesos, mientras que el abandono se refiere a "caer" u omitir aleatoriamente unidades (tanto ocultas como visibles) durante el proceso de entrenamiento de una red neuronal.  Ambos desencadenan el mismo tipo de regularización.

La dilución generalmente se divide en dilución débil y dilución fuerte . La dilución débil describe el proceso en el que la fracción finita de conexiones eliminadas es pequeña y la dilución fuerte se refiere a cuando esta fracción es grande. No hay una distinción clara sobre dónde está el límite entre dilución fuerte y débil y, a menudo, la distinción depende del precedente de un caso de uso específico y tiene implicaciones sobre cómo encontrar soluciones exactas.

A veces se utiliza la dilución para añadir ruido de amortiguación a las entradas. En ese caso, la dilución débil se refiere a agregar una pequeña cantidad de ruido de amortiguación, mientras que la dilución fuerte se refiere a agregar una mayor cantidad de ruido de amortiguación. Ambos pueden reescribirse como variantes de dilución por peso.

Estas técnicas también se denominan a veces poda aleatoria de ponderaciones, pero normalmente se trata de una operación unidireccional no recurrente. La red se poda y luego se mantiene si es una mejora con respecto al modelo anterior. Tanto la dilución como la eliminación se refieren a un proceso iterativo. La poda de pesos generalmente no implica que la red continúe aprendiendo, mientras que en la dilución/desconexión, la red continúa aprendiendo después de aplicar la técnica.


Términos de penalización (Penalties)

La regularización funciona sesgando los datos hacia valores particulares (como valores pequeños cercanos a cero). El sesgo se logra agregando un parámetro de ajuste para fomentar esos valores:

  1. La regularización L1 añade una penalización L1 igual al valor absoluto de la magnitud de los coeficientes. En otras palabras, limita el tamaño de los coeficientes. L1 puede generar modelos dispersos (es decir, modelos con pocos coeficientes); Algunos coeficientes pueden convertirse en cero y eliminarse. La regresión de Lasso utiliza este método.
  2. La regularización L2 añade una penalización L2 igual al cuadrado de la magnitud de los coeficientes. L2 no producirá modelos dispersos y todos los coeficientes se reducen por el mismo factor (no se elimina ninguno). La regresión de cresta y las SVM utilizan este método.
  3. Las redes elásticas combinan los métodos L1 y L2, pero agregan un hiperparámetro (consulte este artículo de Zou y Hastie) .


Data augmentation

El aumento de datos es una técnica de aprendizaje automático que se utiliza para reducir el sobreajuste cuando se entrena un modelo de aprendizaje automático, entrenando modelos en varias copias ligeramente modificadas de datos existentes.

Cuando las redes neuronales convolucionales crecieron a mediados de la década de 1990, a menudo no había suficientes datos disponibles para entrenarlas, especialmente considerando que una parte del conjunto de datos general debería reservarse para pruebas posteriores. Se propuso perturbar los datos existentes con transformaciones afines para crear nuevos ejemplos con las mismas etiquetas, que se complementaron con las llamadas distorsiones elásticas en 2003,  y la técnica fue ampliamente utilizada a partir de la década de 2010.


Adversarial training

La crítica de las redes profundas como vulnerables a los ejemplos adversarios es algo equivocada, porque a diferencia de los modelos lineales superficiales, las redes profundas son al menos capaces de representar funciones que resisten perturbación adversaria. El teorema del aproximador universal (Hornik et al., 1989) garantiza que una red neuronal con al menos una capa oculta puede representar cualquier función en un grado arbitrario de precisión siempre que se permita que su capa oculta tenga suficientes unidades. Los modelos lineales poco profundos son no puede volverse constante cerca de los puntos de entrenamiento mientras asigna diferentes salidas a diferentes puntos de entrenamiento

Por supuesto, el teorema del aproximador universal no dice nada sobre si un algoritmo de entrenamiento podrá descubrir una función con todas las propiedades deseadas. Obviamente, estándar el entrenamiento supervisado no especifica que la función elegida sea resistente a los ejemplos adversarios. Esto debe codificarse en el procedimiento de entrenamiento de alguna manera.