20 votos

Evitar el sobreajuste en la regresión: alternativas a la regularización

La regularización en la 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 la explicación), ¿hay alguna buena alternativa a la regularización, especialmente adecuada para grandes conjuntos de datos (mi/millones de observaciones y millones de características)?

3 votos

"Grandes conjuntos de datos" puede significar muchas observaciones, muchas variables o ambas cosas, y la respuesta puede depender del número de observaciones y variables.

0 votos

¿Por qué no utilizar la regularización de normas? En el caso de las redes neuronales, hay un abandono

4 votos

La ventaja de la regularización es que es computacionalmente barata. Los métodos de ensamblaje, como el bagging y el boosting (etc.), combinados con 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.

15voto

Ben Ogorek Puntos 1040

Dos alternativas a la regularización:

  1. Tengo muchas, muchas observaciones
  2. Utilizar un modelo más sencillo

Geoff Hinton (coinventor de la retropropagación) contó una vez la historia de unos ingenieros que le dijeron (parafraseando en gran medida): "Geoff, no necesitamos la caída en nuestras redes profundas porque tenemos muchos datos". Y su respuesta fue: "Bueno, entonces deberíais construir redes aún más profundas, hasta que son sobreajuste, y luego utilizar el abandono". Dejando a un lado los buenos consejos, aparentemente se puede evitar la regularización incluso con redes profundas, siempre y cuando haya suficientes datos.

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

12voto

David Puntos 41

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

  • En primer lugar, aunque el objetivo sea la precisión en lugar de la interpretación, la regularización sigue siendo necesaria en muchos casos, ya que asegurará la "alta precisión" en el conjunto de datos de prueba / producción reales, no en los datos utilizados para el modelado.

  • En segundo lugar, si hay mil millones de filas y millones de columnas, es posible que no se necesite ninguna regularización. Esto se debe a que los datos son enormes, y muchos modelos computacionales tienen una "potencia limitada", es decir, es casi imposible sobreajustar. Por eso algunas redes neuronales profundas tienen miles de millones de parámetros.


Ahora, sobre su pregunta. Como mencionan Ben y Andrey, hay algunas opciones como alternativas a la regularización. Me gustaría añadir más ejemplos.

  • Utilizar un modelo más sencillo (por ejemplo, reducir el número de unidades ocultas en la red neuronal). Utilizar un kernel polinómico de orden inferior en la SVM. Reducir el número de gaussianos en la mezcla de gaussianos, etc.)

  • Deténgase al principio de la optimización. (Por ejemplo, reducir la época en el entrenamiento de la red neuronal, reducir el número de iteraciones en la optimización (CG, BFGS, etc.)

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

6voto

Martin Robins Puntos 1893

Algunas posibilidades adicionales para evitar el sobreajuste

  • Reducción de la dimensionalidad

    Se puede utilizar un algoritmo como el análisis de componentes principales (PCA) para obtener un subespacio de características de menor dimensión. La idea de PCA es que la variación de su $m$ espacio dimensional de características puede aproximarse bien mediante un $l << m$ subespacio dimensional.

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

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

  • Utilizar 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 boosting y bagging.

  • Métodos bayesianos

    La adición de una prioridad en el vector de coeficientes puede reducir el exceso de ajuste. 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.

3voto

ebryn Puntos 4037

Dos pensamientos:

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

    Trabajo en modelos de clasificación lineal muy dispersos con coeficientes enteros pequeños (por ejemplo, un máximo de 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 difíciles (por ejemplo, la calibración).

    Este método en este documento se escalará a tamaños de muestra grandes para la regresión logística, y puede extenderse para ajustar otros clasificadores lineales con funciones de pérdida convexas. No manejará los casos con muchas características (a menos que $n/d$ es lo suficientemente grande, en cuyo caso los datos son separables y el problema de clasificación resulta fácil).

  2. Si puede especificar restricciones adicionales para su modelo (por ejemplo, restricciones de monotonicidad, información lateral), esto también puede ayudar a la generalización reduciendo el espacio de hipótesis (véase por ejemplo este documento ).

    Esto debe hacerse con cuidado (por ejemplo, probablemente querrá comparar su modelo con una línea de base sin restricciones, y diseñar su proceso de entrenamiento de manera que se asegure de que no está escogiendo restricciones).

2voto

dgrogan Puntos 71

Si se utiliza un modelo con un solucionador, en el que se puede definir el número de iteraciones/epocos, se puede realizar un seguimiento del error de validación y aplicar una parada temprana: detener el algoritmo, cuando el error de validación comienza a aumentar.

1 votos

Esta pregunta se refiere claramente a los modelos de regresión (lineal, logística).

2 votos

Técnicamente hablando, la regresión lineal y la logística son redes neuronales muy simples.

2 votos

No creo que eso cambie mi opinión de que esto no responde a la pregunta tal y como se ha planteado. Si lo modificas para decir "si ajustas la regresión con alguna forma de descenso de gradiente, y aplicas una parada temprana" sería mejor.

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