¿Qué es la regularización en inglés simple?

74

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

Comprendí la idea básica, que favoreces modelos con menos reglas. Lo que no entiendo es cómo pasas de un conjunto de reglas a un "puntaje de regularización" que puedes usar para ordenar los modelos de menor a mayor.

¿Puedes describir un método de regularización simple?

Me interesa el contexto del análisis de los sistemas estadísticos de comercio. Sería genial si pudiera describir si / cómo puedo aplicar la regularización para analizar los siguientes dos modelos predictivos:

Modelo 1 - precio subiendo cuando:

  • exp_moving_avg (precio, período = 50)> exp_moving_avg (precio, período = 200)

Modelo 2 - precio subiendo 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. Entonces, si conoce mejores modelos para explicarlo, hágalo.

Meh
fuente
77
Un ejemplo es la regresión de cresta, que es OLS con un límite en la suma de los coeficientes cuadrados. Esto introducirá un sesgo en el modelo, pero reducirá la varianza de los coeficientes, a veces sustancialmente. LASSO es otro método relacionado, pero impone una restricción L1 al tamaño de los coeficientes. Tiene la ventaja de dejar caer coeficientes. Esto es útil para situaciones de p >> n. Regularizar, en cierto modo, significa "reducir" el modelo para evitar un ajuste excesivo (y reducir la variación del coeficiente), que generalmente mejora el rendimiento predictivo del modelo.
HairyBeast
2
@HairyBeast Deberías poner tu bonito comentario como respuesta. Si es posible, intente agregar un ejemplo ilustrativo para que el OP pueda descubrir cómo se traduce en el problema en cuestión.
chl
1
@HairyBeast, entonces, ¿puedo decir que la regularización es solo un método para implementar la idea de un equilibrio de sesgo-varianza ?
aguacate
Este video me pareció muy útil, especialmente para visualizar las diferentes formas de regularización de Lp: youtube.com/watch?v=sO4ZirJh9ds
Anm
La regularización es para abordar el sobreajuste en el modelo que se aprende. Intenté explicar en inglés simple y visualmente. El siguiente es el enlace al artículo medium.com/@vamsi149/…
solver149

Respuestas:

57

En términos simples, la regularización es ajustar o seleccionar el nivel preferido de complejidad del modelo para que sus modelos sean mejores para predecir (generalizar). Si no hace esto, sus modelos pueden ser demasiado complejos y sobreajustados o demasiado simples y poco ajustados, de cualquier manera dando malas predicciones.

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

Para regularizar necesitas 2 cosas:

  1. Una forma de probar qué tan buenos son sus modelos para la predicción, por ejemplo, mediante validación cruzada o un conjunto de datos de validación (no puede usar el error de ajuste para esto).
  2. Un parámetro de ajuste que le permite cambiar la complejidad o suavidad del modelo, o una selección de modelos de diferente complejidad / suavidad.
Básicamente, ajusta el parámetro de complejidad (o cambia el modelo) y encuentra el valor que proporciona 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 general, por lo que después de la regularización finalmente tendrá que usar un conjunto de datos de validación adicional o realizar algún análisis estadístico adicional para obtener un error de predicción imparcial.

Una alternativa al uso de las pruebas de validación (cruzada) es usar los Bayesian Priors 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 las características del modelo.

Toby Kelsey
fuente
2
+1 de mi parte Me gusta que esta respuesta esté comenzando desde el principio y sea tan fácil de entender ...
Andrew
2
¿Se utiliza realmente la regularización para reducir la falta de equipamiento? En mi experiencia, la regularización se aplica en un modelo complejo / sensible para reducir la complejidad / sensibilidad, pero nunca en un modelo simple / insensible para aumentar la complejidad / sensibilidad.
Richard Hardy el
Esta respuesta ahora es bastante antigua, pero supongo que a lo que se refería Toby es que la regularización es una forma de principios para ajustar un modelo de complejidad apropiada dada la cantidad de datos; es una alternativa tanto para seleccionar a priori un modelo con muy pocos parámetros (o los incorrectos), como también para seleccionar un modelo que sea demasiado complejo y que se ajuste demasiado.
Bryan Krause
26

Suponga que realiza el aprendizaje a través de la minimización empírica de riesgos.

Más precisamente:

  • L(actual value, predicted value)
  • desea ajustar su modelo de tal manera que sus predicciones minimicen la función de pérdida media, calculada solo en los datos de entrenamiento (los únicos datos que tiene)

Model=argminL(actual,predicted(Model))

Pero si no tiene suficientes datos y hay una gran cantidad de variables en su modelo, es muy probable que encuentre un modelo que no solo explique patrones sino que también explique el ruido aleatorio en sus datos. Este efecto se llama sobreajuste y conduce a la degradación de la capacidad de generalización de su modelo.

Model=argminL(actual,predicted(Model))+λR(Model)

R(Model)RRR

Ra¯

bijey
fuente
12

En términos simples, la regularización se trata de beneficiar las soluciones que esperaría obtener. Como mencionas, por ejemplo, puedes beneficiar soluciones "simples", para alguna definición de simplicidad. Si su problema tiene reglas, una definición puede ser menos reglas. Pero esto depende del problema.

Estás haciendo la pregunta correcta, sin embargo. Por ejemplo, en Support Vector Machines, esta "simplicidad" proviene de romper lazos en la dirección del "margen máximo". Este margen es algo que puede definirse claramente en términos del problema. Hay una muy buena derivación geométrica en el artículo SVM en Wikipedia . Resulta que el término de regularización es, posiblemente al menos, la "salsa secreta" de las SVM.

¿Cómo se hace la regularización? En general, eso viene con el método que usa, si usa SVM está haciendo la regularización L2, si usa LASSO está haciendo la regularización L1 (vea lo que dice hairybeast). Sin embargo, si está desarrollando su propio método, necesita saber cómo distinguir las soluciones deseables de las no deseables, y tener una función que cuantifique esto. Al final, tendrá un término de costo y un término de regularización, y desea optimizar la suma de ambos.

carlosdc
fuente
1

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 uniforme. Esas técnicas ayudan a prevenir el sobreajuste.

C

Martin Thoma
fuente
0

En términos simples, la regularización es una técnica para evitar el sobreajuste al entrenar algoritmos de aprendizaje automático. Si tiene un algoritmo con suficientes parámetros libres, puede interpolar con gran detalle su muestra, pero los ejemplos que salen de la muestra podrían no seguir esta interpolación de detalles, ya que solo capturó ruido o irregularidades aleatorias en la muestra en lugar de la verdadera tendencia.

Se evita el sobreajuste limitando el valor absoluto de los parámetros en el modelo. Esto se puede hacer agregando un término a la función de costo que impone una penalización basada en la magnitud de los parámetros del modelo. Si la magnitud se mide en la norma L1, esto se llama "regularización L1" (y generalmente da como resultado modelos escasos), si se mide en la norma L2, esto se llama "regularización L2", y así sucesivamente.

sandip44
fuente