¿Por qué el exceso de adaptación es malo en el aprendizaje automático?


49

La lógica a menudo establece que al sobreajustar un modelo, su capacidad de generalizar es limitada, aunque esto solo puede significar que el sobreajuste impide que un modelo mejore después de una cierta complejidad. ¿El sobreajuste hace que los modelos empeoren independientemente de la complejidad de los datos y, de ser así, por qué es este el caso?


Relacionado: Seguimiento de la pregunta anterior, "¿ Cuándo se equipa un modelo de manera insuficiente? "


1
¿Su pregunta es realmente si hay un caso en el que es imposible sobreajustar?
Sean Owen

@SeanOwen: No, ¿cómo sería imposible sobreajustar?
errores

De acuerdo, solo comprobando cuando preguntó si el sobreajuste hizo que los modelos empeoraran independientemente de los datos
Sean Owen

1
El sobreajuste es malo por definición. Si no fuera así, no sería demasiado adecuado.
Gala

1
No quise citarlo sobre "agregar complejidad del modelo", solo estaba resaltando la frase. De todos modos, supongo que mi problema es básicamente el mismo que @GaLa, que es que sobreajustar significa ajustarse demasiado. Parece que nos está pidiendo que confirmemos una tautología. Entonces, tendería a pensar que realmente querías hacer una pregunta diferente. Por ejemplo, ¿la creciente complejidad del modelo hace que los modelos empeoren? O, ¿cómo se relaciona la complejidad de los datos con la tendencia de un modelo a sobreajustar?
Nathan Gould

Respuestas:


44

El sobreajuste es empíricamente malo. Supongamos que tiene un conjunto de datos que divide en dos, prueba y capacitación. Un modelo sobreajustado es uno que funciona mucho peor en el conjunto de datos de prueba que en el conjunto de datos de entrenamiento. A menudo se observa que modelos como ese también en general obtienen peores resultados en conjuntos de datos de prueba adicionales (nuevos) que los modelos que no están sobreajustados.

Una forma de entender eso intuitivamente es que un modelo puede usar algunas partes relevantes de los datos (señal) y algunas partes irrelevantes (ruido). Un modelo sobreajustado utiliza más ruido, lo que aumenta su rendimiento en el caso de ruido conocido (datos de entrenamiento) y disminuye su rendimiento en el caso de ruido nuevo (datos de prueba). La diferencia en el rendimiento entre los datos de entrenamiento y prueba indica cuánto ruido recoge el modelo; y recoger el ruido se traduce directamente en un peor rendimiento en los datos de prueba (incluidos los datos futuros).

Resumen: el sobreajuste es malo por definición, esto no tiene mucho que ver con la complejidad o la capacidad de generalizar, sino que tiene que ver con confundir el ruido con la señal.

PD En la parte de la "capacidad de generalizar" de la pregunta, es muy posible tener un modelo que tiene una capacidad inherentemente limitada de generalizar debido a la estructura del modelo (por ejemplo, SVM lineal, ...) pero aún es propenso a sobreajuste En cierto sentido, el sobreajuste es solo una forma en que la generalización puede fallar.


17

En pocas palabras, sobreajustar significa tener en cuenta demasiada información de sus datos y / o conocimientos previos, y utilizarla en un modelo. Para hacerlo más sencillo, considere el siguiente ejemplo: algunos científicos lo contratan para proporcionarles un modelo para predecir el crecimiento de algún tipo de planta. Los científicos le han brindado información recopilada de su trabajo con tales plantas durante todo un año, y le brindarán continuamente información sobre el desarrollo futuro de su plantación.

Entonces, ejecuta los datos recibidos y construye un modelo a partir de ellos. Ahora suponga que, en su modelo, consideró tantas características como sea posible para descubrir siempre el comportamiento exacto de las plantas que vio en el conjunto de datos inicial. Ahora, a medida que la producción continúa, siempre tendrá en cuenta esas características y producirá resultados muy precisos . Sin embargo, si la plantación finalmente sufre algún cambio estacional, los resultados que recibirá pueden ajustarse a su modelo de tal manera que sus predicciones comenzarán a fallar (ya sea diciendo que el crecimiento se ralentizará, mientras que en realidad se acelerará, o lo contrario).

Además de no ser capaz de detectar variaciones tan pequeñas y, por lo general, de clasificar incorrectamente sus entradas, el grano fino del modelo, es decir, la gran cantidad de variables, puede hacer que el procesamiento sea demasiado costoso. Ahora, imagine que sus datos ya son complejos. El ajuste excesivo de su modelo a los datos no solo hará que la clasificación / evaluación sea muy compleja, sino que probablemente hará que confunda la predicción con la menor variación que pueda tener en la entrada.

Editar : Esto también podría ser útil, tal vez agregando dinámica a la explicación anterior: D


14

En términos generales, el sobreajuste generalmente ocurre cuando la relación

ingrese la descripción de la imagen aquí

es muy alto.

Piense en el ajuste excesivo como una situación en la que su modelo aprende los datos de entrenamiento de memoria en lugar de aprender las imágenes generales que evitan que pueda generalizarse a los datos de prueba: esto sucede cuando el modelo es demasiado complejo con respecto al tamaño de los datos de entrenamiento, es decir, cuando el tamaño de los datos de entrenamiento es demasiado pequeño en comparación con la complejidad del modelo.

Ejemplos:

  • Si los datos están en dos dimensiones, tiene 10000 puntos en el conjunto de entrenamiento y el modelo es una línea, es probable que bajo -FIT.
  • Si los datos están en dos dimensiones, que tiene 10 puntos en el conjunto de entrenamiento y el modelo es polinomio de 100 grados, es probable que más de -FIT.

ingrese la descripción de la imagen aquí

Desde un punto de vista teórico, la cantidad de datos que necesita para entrenar adecuadamente su modelo es una pregunta crucial pero aún no ha sido respondida en el aprendizaje automático. Uno de esos enfoques para responder esta pregunta es la dimensión VC . Otro es el equilibrio de sesgo-varianza .

Desde un punto de vista empírico, las personas típicamente grafican el error de entrenamiento y el error de prueba en el mismo diagrama y se aseguran de no reducir el error de entrenamiento a expensas del error de prueba:

ingrese la descripción de la imagen aquí

Aconsejaría ver el curso Coursera 'Machine Learning , sección "10: Consejos para aplicar Machine Learning".

(PD: vaya aquí para solicitar soporte de TeX en este SE).



5

Eso se debe a que algo se llama dilema sesgo-varianza . El modelo sobreajustado significa que tendremos un límite de decisión más complejo si le damos más variación al modelo. La cuestión es que no solo los modelos demasiado simples, sino también los modelos complejos, pueden tener resultados no clasificados en datos no vistos. En consecuencia, el modelo sobreajustado no es bueno como el modelo mal ajustado. Es por eso que el sobreajuste es malo y necesitamos ajustar el modelo en algún punto intermedio.


+1 Gracias, como resultado de su respuesta, publiqué un seguimiento de la pregunta anterior, "¿ Cuándo se equipa un modelo? "
equivoca el

4

Lo que me hizo comprender el problema del sobreajuste fue imaginarme cuál sería el modelo más sobreajustado posible. Esencialmente, sería una simple tabla de consulta.

Le dice al modelo qué atributos tiene cada dato y simplemente lo recuerda y no hace nada más con él. Si le proporciona un dato que se ha visto antes, lo busca y simplemente regurgita lo que le dijo anteriormente. Si le proporciona datos que no ha visto antes, el resultado es impredecible o aleatorio. Pero el objetivo del aprendizaje automático no es decirte lo que sucedió, es entender los patrones y usar esos patrones para predecir lo que está sucediendo.

Así que piensa en un árbol de decisión. Si sigue haciendo crecer su árbol de decisión cada vez más grande, eventualmente terminará con un árbol en el que cada nodo hoja se basa exactamente en un punto de datos. Acabas de encontrar una manera de crear una tabla de búsqueda.

Para generalizar sus resultados para descubrir qué podría suceder en el futuro, debe crear un modelo que generalice lo que está sucediendo en su conjunto de capacitación. Los modelos sobreajustados hacen un gran trabajo al describir los datos que ya tiene, pero los modelos descriptivos no son necesariamente modelos predictivos.

El teorema de No Free Lunch dice que ningún modelo puede superar a cualquier otro modelo en el conjunto de todas las instancias posibles . Si desea predecir lo que vendrá después en la secuencia de números "2, 4, 16, 32", no puede construir un modelo más preciso que otro si no supone que hay un patrón subyacente. Un modelo que está sobreajustado no está realmente evaluando los patrones, sino simplemente modelando lo que sabe que es posible y ofreciéndole las observaciones. Obtiene poder predictivo al suponer que hay alguna función subyacente y que si puede determinar cuál es esa función, puede predecir el resultado de los eventos. Pero si realmente no hay un patrón, entonces no tienes suerte y todo lo que puedes esperar es una tabla de búsqueda para decirte lo que sabes que es posible.


1

Está confundiendo erróneamente dos entidades diferentes: (1) variación de sesgo y (2) complejidad del modelo.

ϕ^ϕn

|ϕϕ^|eϕ as neϕ

ϕϕ^ϕϕ={metro,C}

mi[El |y-METRO(ϕ^)El |]miMETRO como nortemiMETRO

Resumen: Sí, tanto el sesgo muestral como la complejidad del modelo contribuyen a la "calidad" del modelo aprendido, pero no se afectan directamente entre sí. Si tiene datos sesgados, independientemente de tener el número correcto de parámetros y un entrenamiento infinito, el modelo aprendido final tendría un error. Del mismo modo, si tuviera menos del número requerido de parámetros, entonces, independientemente del muestreo perfectamente imparcial y el entrenamiento infinito, el modelo final aprendido tendría un error.


0

Ha habido muchas buenas explicaciones sobre el sobreajuste. Aquí están mis pensamientos. El sobreajuste ocurre cuando su varianza es demasiado alta y el sesgo es demasiado bajo.

Digamos que tienes datos de entrenamiento contigo, que divides en N partes. Ahora, si entrena un modelo en cada uno de los conjuntos de datos, tendrá N modelos. Ahora encuentre el modelo medio y luego use la fórmula de varianza para calcular cuánto varía cada modelo de la media. Para modelos sobreajustados, esta variación será realmente alta. Esto se debe a que cada modelo tendría parámetros estimados que son muy específicos para el pequeño conjunto de datos que le proporcionamos. Del mismo modo, si toma el modelo medio y luego encuentra cuánto es diferente del modelo original que habría dado la mejor precisión, no sería muy diferente en absoluto. Esto significa poco sesgo.

Para saber si su modelo se ha sobreajustado o no, puede construir las parcelas mencionadas en las publicaciones anteriores.

Finalmente, para evitar el sobreajuste, puede regularizar el modelo o usar la validación cruzada.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.