Evite el sobreajuste en la regresión: alternativas a la regularización.

19

La regularización en regresión (lineal, logística ...) es la forma más popular de reducir el sobreajuste.

Cuando el objetivo es la precisión de la predicción (no explicar), ¿hay alguna buena alternativa a la regularización, especialmente adecuada para grandes conjuntos de datos (mi / billones de observaciones y millones de características)?

Benoit Sanchez
fuente
3
"Grandes conjuntos de datos" pueden significar muchas observaciones, muchas variables o ambas, y la respuesta puede depender del número de observaciones y variables.
Pere
¿Por qué no usar la regularización de la norma? Para redes neuronales, hay abandono
seanv507
44
La ventaja de la regularización es que es computacionalmente barato. Los métodos de conjunto como el embolsado y el refuerzo (etc.) combinados con los métodos de validación cruzada para el diagnóstico del modelo son una buena alternativa, pero será una solución mucho más costosa.
Digio
1
Esto podría ser de interés: stats.stackexchange.com/a/161592/40604
Dan
1
Para agregar al comentario de Digio: la regularización es barata en comparación con el embolsado / refuerzo, pero sigue siendo costosa en comparación con la alternativa de "no regularización" (ver, por ejemplo, esta publicación de Ben Recht sobre cómo la regularización dificulta el aprendizaje profundo ). Si tiene una gran cantidad de muestras, ninguna regularización puede funcionar bien por un precio mucho más bajo. El modelo todavía puede generalizarse bien como @ hxd1001 señala )
Berk U.

Respuestas:

11

Dos puntos importantes que no están directamente relacionados con su pregunta:

  • Primero, incluso el objetivo es la precisión en lugar de la interpretación, la regularización sigue siendo necesaria en muchos casos, ya que garantizará la "alta precisión" en el conjunto de datos de pruebas / producción reales, no en los datos utilizados para el modelado.

  • En segundo lugar, si hay miles de millones de filas y millones de columnas, es posible que no se necesite regularización. Esto se debe a que los datos son enormes y muchos modelos computacionales tienen "potencia limitada", es decir, es casi imposible sobreajustar. Es por eso que alguna red neuronal profunda tiene miles de millones de parámetros.


Ahora, sobre tu pregunta. Como lo mencionaron Ben y Andrey, hay algunas opciones como alternativas a la regularización. Me gustaría agregar más ejemplos.

  • Utilice un modelo más simple (por ejemplo, reduzca el número de unidades ocultas en la red neuronal. Use un núcleo polinomial de orden inferior en SVM. Reduzca el número de gaussianos en una mezcla de gaussianos, etc.)

  • Pare temprano en la optimización. (Por ejemplo, reduzca la época en el entrenamiento de redes neuronales, reduzca el número de iteraciones en la optimización (CG, BFGS, etc.)

  • Promedio en muchos modelos (por ejemplo, bosque aleatorio, etc.)

Haitao Du
fuente
Muchas gracias. La segunda opción (parar temprano) es lo que estamos intentando actualmente con SGD. Funciona bastante bien Queremos compararlo con la regularización pronto. ¿Conoces algún artículo que mencione este método?
Benoit Sanchez
1
Hay una pista de una relación geométrica entre la detención temprana con el descenso de gradiente y la regularización. Por ejemplo, la regresión de cresta en su forma primaria solicita los parámetros que minimizan la función de pérdida que se encuentra dentro de una elipse sólida centrada en el origen, con el tamaño de la elipse en función de la fuerza de regularización. Los parámetros de la cresta se encuentran en la superficie de la elipse si son diferentes a la solución no regularizada. Si realiza un ascenso desde el origen y luego se detiene temprano, estará en el límite de una de estas elipses ...
Matthew Drury
Debido a que siguió los gradientes, siguió el camino hacia el mínimo verdadero, por lo que terminará aproximadamente en la solución de cresta la mayor parte del tiempo. No estoy seguro de cuán riguroso puede hacer este tren de pensamiento, pero puede haber una relación.
Matthew Drury
@BenoitSanchez Este documento puede ser relevante. Los autores abordan un problema diferente (sobreajuste en la computación de vectores propios), pero la estrategia para enfrentar el sobreajuste es la misma (es decir, regularización implícita al reducir la computación). La estrategia es resolver un problema más barato que produce una solución aproximada (que, creo, es lo mismo que detenerse temprano en la optimización).
Berk U.
@BenoitSanchez Recomiendo esto. Las conferencias de Lorenzo están disponibles en youtube, pero esta página también tiene enlaces a algunos documentos mit.edu/~9.520/fall17/Classes/early_stopping.html
David Kozak
14

Dos alternativas a la regularización:

  1. Tener muchas, muchas observaciones
  2. Usa un modelo más simple

Geoff Hinton (co-inventor de la propagación posterior) una vez contó una historia de ingenieros que le contaron (parafraseando): "Geoff, no necesitamos abandonar nuestras redes profundas porque tenemos demasiados datos". Y su respuesta fue: "Bueno, entonces usted debe construir redes aún más profundas, hasta que se ajuste por exceso, y luego usar la deserción". Un buen consejo aparte, aparentemente puede evitar la regularización incluso con redes profundas, siempre que haya suficientes datos.

Con un número fijo de observaciones, también puede optar por un modelo más simple. Probablemente no necesite regularización para estimar una intersección, una pendiente y una varianza de error en una regresión lineal simple.

Ben Ogorek
fuente
3

Algunas posibilidades adicionales para evitar el sobreajuste

  • Reducción de dimensionalidad

    metrol<<metro

  • Selección de características (también reducción de dimensionalidad)

    Puede realizar una ronda de selección de características (por ejemplo, usando LASSO) para obtener un espacio de características de menor dimensión. Algo como la selección de características con LASSO puede ser útil si algún subconjunto de características grande pero desconocido es irrelevante.

  • Utilice algoritmos menos propensos al sobreajuste, como el bosque aleatorio. (Dependiendo de la configuración, el número de características, etc., estos pueden ser más costosos computacionalmente que los mínimos cuadrados ordinarios).

    Algunas de las otras respuestas también han mencionado las ventajas de las técnicas / algoritmos de refuerzo y embolsado.

  • Métodos bayesianos

    Agregar un previo en el vector de coeficientes y reducir el sobreajuste. Esto está conceptualmente relacionado con la regularización: por ejemplo. La regresión de cresta es un caso especial de estimación máxima a posteriori.

Matthew Gunn
fuente
2

Si usa un modelo con un solucionador, donde puede definir el número de iteraciones / épocas, puede rastrear el error de validación y aplicar la detención temprana: detenga el algoritmo, cuando el error de validación comience a aumentar.

Andrey Lukyanenko
fuente
1
Esta pregunta clara se refiere a modelos de regresión (lineal, logístico).
Matthew Drury
2
Técnicamente hablando, la regresión lineal y logística son redes neuronales muy simples.
Andrey Lukyanenko
2
No creo que eso cambie mi creencia de que esto no responde a la pregunta que se me hizo. Si lo modificara para decir "si ajusta la regresión con alguna forma de descenso de gradiente, y aplicó la detención temprana", sería mejor.
Matthew Drury
Incluso sklearn tiene una serie de modelos que admiten parámetros que limitan el número de iteraciones. Podría usarse para rastrear la precisión. Pero supongo que tienes razón en que la redacción no es exactamente correcta.
Andrey Lukyanenko
1

Dos pensamientos:

  1. Secundo la estrategia de "usar un modelo más simple" propuesta por Ben Ogorek .

    Trabajo en modelos de clasificación lineal realmente escasos con coeficientes enteros pequeños (por ejemplo, máximo 5 variables con coeficientes enteros entre -5 y 5). Los modelos se generalizan bien en términos de precisión y métricas de rendimiento más complicadas (por ejemplo, calibración).

    norte/ /re

  2. Si puede especificar restricciones adicionales para su modelo (por ejemplo, restricciones de monotonicidad, información adicional), esto también puede ayudar con la generalización al reducir el espacio de hipótesis (consulte, por ejemplo, este documento ).

    Esto debe hacerse con cuidado (por ejemplo, es probable que desee comparar su modelo con una línea de base sin restricciones y diseñar su proceso de capacitación de manera que se asegure de que no está restringiendo las restricciones).

Berk U.
fuente