39 votos

¿Es el sobreajuste "mejor" que el infraajuste?

He comprendido los conceptos principales de la sobreadaptación y la inadaptación, aunque algunas de las razones por las que se producen no me resulten tan claras.

Pero lo que me pregunto es: ¿no es "mejor" el sobreajuste que el infraajuste?

Si comparamos lo bien que lo hace el modelo en cada conjunto de datos, obtendríamos algo así:

Sobreajuste: Entrenamiento: bueno vs. Prueba: malo

El desajuste: Entrenamiento: malo vs. malo Prueba: mala

Si echamos un vistazo a los resultados de cada escenario en los datos de entrenamiento y de prueba, parece que para el escenario de sobreajuste, el modelo funciona al menos bien en los datos de entrenamiento.

El texto en negrita es mi intuición de que, cuando el modelo lo hace mal en los datos de entrenamiento, también lo hará en los datos de prueba, que en general me parecen peores.

66voto

John Richardson Puntos 1197

Es probable que el sobreajuste sea peor que el infraajuste. La razón es que no hay un límite máximo real para la degradación del rendimiento de la generalización que puede resultar del sobreajuste, mientras que sí lo hay para el infraajuste.

Consideremos un modelo de regresión no lineal, como una red neuronal o un modelo polinómico. Supongamos que hemos estandarizado la variable de respuesta. Una solución de máximo infraajuste podría ignorar por completo el conjunto de entrenamiento y tener una salida constante independientemente de las variables de entrada. En este caso, el error cuadrático medio esperado en los datos de prueba será aproximadamente la varianza de la variable de respuesta en el conjunto de entrenamiento.

Consideremos ahora un modelo sobreajustado que interpola exactamente los datos de entrenamiento. Para ello, puede requerir grandes desviaciones de la verdadera media condicional del proceso de generación de datos entre los puntos del conjunto de entrenamiento, por ejemplo, el pico espurio en torno a x = -5. Si los tres primeros puntos de entrenamiento estuvieran más juntos en el eje x, el pico sería probablemente aún mayor. Como resultado, el error de prueba para esos puntos puede ser arbitrariamente grande y, por tanto, el MSE esperado en los datos de prueba también puede ser arbitrariamente grande.

source

Fuente: https://en.wikipedia.org/wiki/Overfitting (en realidad se trata de un modelo polinómico en este caso, pero véase a continuación un ejemplo de MLP)

Edición: Como sugiere @Accumulation, aquí hay un ejemplo en el que el grado de sobreajuste es mucho mayor (10 puntos de datos seleccionados aleatoriamente de un modelo lineal con ruido gaussiano, ajustado por un polinomio de 10º orden ajustado al máximo grado). Afortunadamente, el generador de números aleatorios dio algunos puntos que no estaban muy bien espaciados la primera vez.

enter image description here

Conviene distinguir entre "sobreajuste" y "sobreparametrización". La sobreparametrización significa que se ha utilizado una clase de modelo más flexible de lo necesario para representar la estructura subyacente de los datos, lo que normalmente implica un mayor número de parámetros. La "sobreadaptación" significa que se han optimizado los parámetros de un modelo de forma que se obtiene un mejor "ajuste" a la muestra de entrenamiento (es decir, un mejor valor del criterio de entrenamiento), pero en detrimento del rendimiento de la generalización. Se puede tener un modelo sobreparametrizado que no se ajuste demasiado a los datos. Desgraciadamente, los dos términos se utilizan a menudo indistintamente, tal vez porque en épocas anteriores el único control real del sobreajuste se conseguía limitando el número de parámetros del modelo (por ejemplo, la selección de características para los modelos de regresión lineal). Sin embargo, la regularización (por ejemplo, la regresión de cresta) desvincula la sobreparametrización de la sobreadaptación, pero nuestro uso de la terminología no se ha adaptado de forma fiable a ese cambio (¡aunque la regresión de cresta es casi tan antigua como yo!).

Este es un ejemplo generado con un MLP (sobreparametrizado)

enter image description here

41voto

Aksakal Puntos 11351

A grandes rasgos, el sobreajuste consiste en ajustar el modelo al ruido, mientras que el infraajuste consiste en no ajustar el modelo a la señal. En tu predicción con overfitting reproducirás el ruido, el underfitting mostrará la media, en el mejor de los casos. Es como elegir entre la diarrea y el estreñimiento. Yo probablemente elegiría lo segundo, así que me decantaría por el underfitting, es decir, por la media.

17voto

Nixit Patel Puntos 34

La cuestión de qué es bueno y qué es malo depende del problema, de la pregunta y de las circunstancias.

Algunas reflexiones: La prueba más impresionante de cómo no se rechaza tanto el infraajuste es el uso universal de la regresión lineal simple. Los problemas de las ciencias sociales, las ciencias de la vida, la psicología, etc. casi nunca son lineales y, si son curvos, casi nunca lo son siguiendo un término cuadrático. No obstante, algunas investigaciones excelentes en estos campos dependen en gran medida de la idea de que se puede trazar una línea recta como representación de cualquier relación.

Una línea recta no es propensa al sobreajuste, es muy propensa al infraajuste. Pero eso puede darle credibilidad. "Hay una conexión porque puedo dibujar una línea recta razonable" es mucho más convincente que "Hay una conexión porque puedo dibujar splines" - porque casi siempre se puede sobreajustar con splines.

La gente incluso juzga el resultado de una regresión lineal por la R² dentro de la muestra sin ninguna forma de validación cruzada - ¿creería usted que una red neuronal de tamaño arbitrario sin validación cruzada o conjunto de pruebas se acerca a una regresión OLS con p pequeña y R² grande?

9voto

Dukeling Puntos 151

El "mejor" es el que rinde más en el conjunto de pruebas.

Cuando se ejecuta en producción, (idealmente) va a ser similar al conjunto de pruebas. No van a ser datos que hayas visto antes, así que el rendimiento del conjunto de entrenamiento no importa tanto.

Aunque si son más o menos iguales, el infraajuste suele ser mejor.

  • El infraajuste significa que se han aprendido aproximaciones simples de patrones que realmente existen tanto en los datos de entrenamiento como en los de prueba (y en los datos de producción, con suerte). Pero un exceso de ajuste significa que has aprendido algunos patrones que sólo existen en los datos de entrenamiento y no en los datos de prueba (y presumiblemente tampoco en los datos de producción). Eso podría hacer que tu modelo se comportara de forma menos consistente.
  • El modelo más simple debe ser el que no se ajusta, y si tienes dos modelos que funcionan igual, eliges el más simple. No se quiere una complejidad innecesaria, que aumenta la probabilidad de comportamientos inesperados y también puede consumir más recursos.
  • Un modelo más sencillo también puede ser más interpretable, lo que puede ayudar a demostrar que el funcionamiento del modelo tiene sentido y a comprender mejor los datos para orientar las decisiones empresariales en un contexto más amplio. Aunque la interpretabilidad es mucho más que un ajuste excesivo o insuficiente. Si eso es importante para ti, afectará al tipo de modelo que utilices y a varias partes de cómo lo entrenes.

8voto

David Puntos 41

Me ha gustado la pregunta y el concepto clave para responderla es Compensación de sesgo-varianza . Tanto el modelo infraajustado como el sobreajustado tienen algún caso de uso válido.

Por ejemplo, mi respuesta aquí

¿Un modelo sobreajustado es necesariamente inútil?

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