82 votos

¿Qué es la regularización en términos sencillos?

A diferencia de otros artículos, encontré el wikipedia entrada para este tema ilegible para una persona no matemática (como yo).

Entendí la idea básica, que favoreces los modelos con menos reglas. Lo que no entiendo es cómo se pasa de un conjunto de reglas a una "puntuación de regularización" que se puede utilizar para ordenar los modelos de menor a mayor ajuste.

¿Puede describir un método sencillo de regularización?

Estoy interesado en el contexto del análisis de los sistemas estadísticos de negociación. Sería estupendo si pudieras describir si/cómo puedo aplicar la regularización para analizar los siguientes dos modelos predictivos:

Modelo 1: el precio sube cuando:

  • exp_moving_avg(precio, periodo=50) > exp_moving_avg(precio, periodo=200)

Modelo 2: el precio sube cuando:

  • precio[n] < precio[n-1] 10 veces seguidas
  • exp_moving_avg(precio, periodo=200) subiendo

Pero estoy más interesado en tener una idea de cómo se hace la regularización. Así que si conoces mejores modelos para explicarlo por favor hazlo.

65voto

Ehtyar Puntos 724

En términos sencillos, la regularización consiste en ajustar o seleccionar el nivel preferido de complejidad del modelo para que sus modelos sean mejores para predecir (generalizar). Si no se hace esto, los modelos pueden ser demasiado complejos y sobreajustados o demasiado sencillos y subajustados, lo que da lugar a malas predicciones.

Si se ajusta un modelo complejo por mínimos cuadrados a un pequeño conjunto de datos de entrenamiento, probablemente se producirá un sobreajuste, que es la situación más habitual. La complejidad óptima del modelo depende del tipo de proceso que se esté modelando y de la calidad de los datos, por lo que no existe un modelo a priori. correcto complejidad de un modelo.

Para regularizar se necesitan 2 cosas:

  1. Una forma de probar la calidad de sus modelos en la predicción, por ejemplo, utilizando la validación cruzada o un conjunto de datos de validación (no se puede utilizar el error de ajuste para esto).
  2. Un parámetro de ajuste que permite cambiar la complejidad o suavidad del modelo, o una selección de modelos de diferente complejidad/suavidad.

Básicamente, se ajusta el parámetro de complejidad (o se cambia el modelo) y se encuentra el valor que da las mejores predicciones del modelo.

Tenga en cuenta que el error de regularización optimizado no será una estimación precisa del error de predicción global, por lo que después de la regularización tendrá que utilizar finalmente un conjunto de datos de validación adicional o realizar algún análisis estadístico adicional para obtener un error de predicción insesgado.

Una alternativa al uso de pruebas de validación (cruzada) es el uso de Priores Bayesianos u otros métodos para penalizar la complejidad o la falta de suavidad, pero estos requieren más sofisticación estadística y conocimiento del problema y de las características del modelo.

27voto

Chris Porter Puntos 838

Supongamos que se realiza el aprendizaje mediante la minimización empírica del riesgo.

Más concretamente:

  • tienes tu función de pérdida no negativa $L(\text{actual value},\text{ predicted value})$ que caracterizan lo mal que están sus predicciones
  • quieres ajustar tu modelo de tal manera que sus predicciones minimicen la media de la función de pérdida, calculada sólo sobre los datos de entrenamiento (los únicos datos que tienes)

Entonces el objetivo del proceso de aprendizaje es encontrar $\text{Model} = \text{argmin} \sum L(\text{actual}, \text{predicted}(\text{Model}))$ (este método se denomina minimización empírica del riesgo).

Pero si no tienes suficientes datos y hay una gran cantidad de variables en tu modelo, es muy probable que encuentres un modelo que no sólo explique los patrones, sino también el ruido aleatorio de tus datos. Este efecto se llama sobreajuste y conduce a la degradación de la capacidad de generalización de su modelo.

Para evitar el sobreajuste se introduce un término de regularización en la función objetivo: $\text{Model} = \text{argmin} \sum L(\text{actual}, \text{predicted}(\text{Model})) + \lambda R(\text{Model})$

Normalmente, este término $R(\text{Model})$ impone una penalización especial a los modelos complejos. Por ejemplo, en modelos con coeficientes grandes (regularización L2, $R$ =suma de los cuadrados de los coeficientes) o con muchos coeficientes distintos de cero (regularización L1, $R$ =suma de los valores absolutos de los coeficientes). Si estamos entrenando el árbol de decisión, $R$ puede ser su profundidad.

Otro punto de vista es que $R$ introduce nuestro conocimiento previo sobre una forma del mejor modelo ("no tiene coeficientes demasiado grandes", "es casi ortogonal a $\bar a$ ")

12voto

Dan Appleyard Puntos 223

En términos sencillos, la regularización consiste en beneficiar las soluciones que se esperan obtener. Como menciona, por ejemplo, puede beneficiar a las soluciones "simples", para alguna definición de simplicidad. Si tu problema tiene reglas, una definición puede ser menos reglas. Pero esto depende del problema.

Sin embargo, estás haciendo la pregunta correcta. Por ejemplo, en las máquinas de vectores de apoyo esta "simplicidad" proviene de romper los empates en la dirección del "margen máximo". Este margen es algo que se puede definir claramente en función del problema. Hay una muy buena derivación geométrica en el Artículo de SVM en Wikipedia . Resulta que el término de regularización es, al menos, la "salsa secreta" de las SVM.

¿Cómo se hace la regularización? En general eso viene con el método que usas, si usas SVMs estás haciendo regularización L2, si estás usando LASSO estás haciendo una regularización L1 (ver lo que dice hairybeast). Sin embargo, si estás desarrollando tu propio método, necesitas saber cómo distinguir las soluciones deseables de las no deseables, y tener una función que cuantifique esto. Al final tendrás un término de coste y un término de regularización, y querrás optimizar la suma de ambos.

1voto

Chris Boesing Puntos 2477

Las técnicas de regularización son técnicas aplicadas a los modelos de aprendizaje automático que hacen que el límite de decisión/modelo ajustado sea más suave. Estas técnicas ayudan a evitar el sobreajuste.

Ejemplos: L1, L2, Dropout, Weight Decay en redes neuronales. Parámetro $C$ en las SVM.

0voto

sandip44 Puntos 1

En términos sencillos, la regularización es una técnica para evitar el sobreajuste al entrenar algoritmos de aprendizaje automático. Si tienes un algoritmo con suficientes parámetros libres puedes interpolar con gran detalle tu muestra, pero los ejemplos que vienen fuera de la muestra podrían no seguir esta interpolación de detalle ya que sólo capturó ruido o irregularidades aleatorias en la muestra en lugar de la verdadera tendencia.

El sobreajuste se evita limitando el valor absoluto de los parámetros del modelo, lo que puede hacerse añadiendo un término a la función de costes que imponga una penalización basada en la magnitud de los parámetros del modelo. Si la magnitud se mide en la norma L1, esto se denomina "regularización L1" (y suele dar lugar a modelos dispersos), si se mide en norma L2 se denomina "regularización L2", y así sucesivamente.

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