¿Cómo saber que el modelo ha comenzado a sobreajustar?


12

Espero que los siguientes extractos proporcionen una idea de cuál será mi pregunta. Estos son de http://neuralnetworksanddeeplearning.com/chap3.html

El aprendizaje luego se ralentiza gradualmente. Finalmente, alrededor de la época 280, la precisión de la clasificación prácticamente deja de mejorar. Las épocas posteriores simplemente ven pequeñas fluctuaciones estocásticas cercanas al valor de la precisión en la época 280. Compare esto con el gráfico anterior, donde el costo asociado a los datos de entrenamiento continúa disminuyendo suavemente. Si solo observamos ese costo, parece que nuestro modelo todavía está "mejorando". Pero los resultados de la precisión de la prueba muestran que la mejora es una ilusión. Al igual que el modelo que no le gustó a Fermi, lo que nuestra red aprende después de la época 280 ya no se generaliza a los datos de prueba. Y entonces no es útil aprender. Decimos que la red está sobreajustada o sobreentrenada más allá de la época 280.

Estamos entrenando una red neuronal y el costo (en datos de entrenamiento) está disminuyendo hasta la época 400, pero la precisión de la clasificación se está volviendo estática (salvo algunas fluctuaciones estocásticas) después de la época 280, por lo que concluimos que el modelo se está ajustando demasiado a los datos de entrenamiento posteriores a la época 280.

Podemos ver que el costo de los datos de la prueba mejora hasta alrededor de la época 15, pero después de eso en realidad comienza a empeorar, a pesar de que el costo de los datos de capacitación continúa mejorando. Esta es otra señal de que nuestro modelo está sobreajustado. Sin embargo, plantea un enigma, ¿cuál es si deberíamos considerar la época 15 o la época 280 como el punto en el que el sobreajuste está llegando a dominar el aprendizaje? Desde un punto de vista práctico, lo que realmente nos importa es mejorar la precisión de la clasificación en los datos de la prueba, mientras que el costo de los datos de la prueba no es más que un proxy para la precisión de la clasificación. Por lo tanto, tiene más sentido considerar la época 280 como el punto más allá del cual el sobreajuste domina el aprendizaje en nuestra red neuronal.

A diferencia de la precisión de la clasificación en los datos de la prueba en comparación con el costo de capacitación anteriormente, ahora estamos colocando el costo en los datos de la prueba contra el costo de la capacitación.

Luego, el libro continúa explicando por qué 280 es la época correcta donde comenzó el sobreajuste. Eso es con lo que tengo un problema. No puedo entender esto.

Le estamos pidiendo al modelo que minimice el costo y, por lo tanto, el costo es la métrica que utiliza como una medida de su propia fuerza para clasificar correctamente. Si consideramos que 280 es la época correcta en la que ha comenzado el sobreajuste, ¿no hemos creado de alguna manera un modelo sesgado que, aunque es un mejor clasificador en los datos de prueba en particular, no obstante, está tomando decisiones con poca confianza y, por lo tanto, es más propenso a desviarse? de los resultados que se muestran en los datos de prueba?


El modelo no conoce el conjunto de prueba . Se presenta como un proxy para datos invisibles. Por lo tanto, si proviene de una distribución representativa, puede usarla para determinar cuándo se produce un sobreajuste. Si lo desea, puede crear otro conjunto de espera y ver si se cumple esta suposición.
Emre

¿Qué quiere decir con "tomar decisiones con poca confianza"?
Grasshopper

@Grasshopper digamos que el modelo está tratando de predecir una de las 4 clases {A, B, C, D}. Las etiquetas de datos de prueba (en orden) son (A, B, C, D). Ahora, en un caso, el modelo arroja probabilidades como (voy a etiquetar las predicciones) ((0.28, 0.24, 0.24, 0.24) (A), (0.24,0.28,0.24,0.24) (B), (0.24,0.24, 0.28,0.24) (C), (0.24,0.24,0.24,0.28) (D)) y en otro el modelo arroja ((1,0,0,0) (A), (0,1,0,0) (B), (0.24,0.26,0.25,0.25) (B), (0,0,0,1) (D)). Lo que quiero decir con baja confianza es la primera instancia. tenga en cuenta que la precisión de la clasificación es del 100% en primera instancia y, sin embargo, el costo es mayor
Nitin Siwach

@Grasshopper En pocas palabras. La primera instancia del modelo se crea después de 280 épocas (consulte la pregunta formulada) y la segunda instancia del modelo se crea después de 15 épocas. Ahora el libro continúa sugiriendo la época 280 como aquella donde comenzó el sobreajuste. Me resulta difícil tragar eso. Cualquier ayuda o pensamiento que pueda proporcionar son muy apreciados.
Nitin Siwach

Respuestas:


6

Digamos que queremos predecir si un estudiante conseguirá una entrevista de trabajo basada en su currículum.

Ahora, supongamos que entrenamos un modelo a partir de un conjunto de datos de 10,000 currículums y sus resultados.

A continuación, probamos el modelo en el conjunto de datos original y predice resultados con un 99% de precisión ... ¡guau!

Pero ahora vienen las malas noticias.

Cuando ejecutamos el modelo en un nuevo conjunto de datos ("no visto") de currículums, solo obtenemos un 50% de precisión ... ¡uh-oh!

Nuestro modelo no se generaliza bien desde nuestros datos de entrenamiento a datos no vistos.

Esto se conoce como sobreajuste, y es un problema común en el aprendizaje automático y la ciencia de datos.

Overfitting V / s Underfitting

Podemos entender mejor el sobreajuste si observamos el problema opuesto, el ajuste insuficiente.

El ajuste insuficiente ocurre cuando un modelo es demasiado simple, informado por muy pocas características o demasiado regularizado, lo que lo hace inflexible al aprender del conjunto de datos.

Los aprendices simples tienden a tener menos varianza en sus predicciones pero más sesgo hacia resultados incorrectos (ver: El equilibrio entre sesgo y varianza).

Por otro lado, los estudiantes complejos tienden a tener más variación en sus predicciones.

Tanto el sesgo como la varianza son formas de error de predicción en el aprendizaje automático.

Típicamente, podemos reducir el error por sesgo, pero podríamos aumentar el error por la varianza como resultado, o viceversa.

Esta compensación entre demasiado simple (alto sesgo) versus demasiado complejo (alta varianza) es un concepto clave en estadística y aprendizaje automático, y uno que afecta a todos los algoritmos de aprendizaje supervisado.


2

Algo que aprendí de la manera más difícil es trazar las curvas de aprendizaje, lo sé, no es tan divertido como escribir el código de aprendizaje automático per se, pero es fundamental comprender visualmente lo que está sucediendo.

Una definición general es que el ajuste excesivo ocurre cuando la precisión de su tren continúa mejorando mientras que su precisión de validación deja de mejorar (o incluso comienza a empeorar).

La solución más simple para evitar el ajuste excesivo es detenerse temprano (detener el entrenamiento tan pronto como las cosas se vean mal), por supuesto, ser la solución más simple tiene un costo: no es la mejor solución. La regularización y el abandono son buenas herramientas para luchar por el ajuste, pero eso es un asunto diferente :)

Espero eso ayude


2

Como dice la fuente que está citando, "el costo de los datos de prueba no es más que un proxy para la precisión de la clasificación". Puede preguntar, ¿por qué deberíamos usar un proxy, por qué no usar la precisión directamente? La respuesta es que debe minimizar la función de costo con respecto a los pesos y sesgos. Por lo tanto, tiene que ser una función diferenciable de los pesos y sesgos. La precisión no es una función diferenciable y, por lo tanto, no se puede utilizar directamente. Pero dado que, en última instancia, le importa la precisión, como usted mismo ilustró anteriormente (... tenga en cuenta que la precisión de la clasificación es del 100% en primera instancia y, sin embargo, el costo es más alto ...), determina el sobreajuste en función de la precisión de la prueba conjunto.


0

Para comprender qué significa el sobreajuste y cómo afecta la precisión del modelo, debe comprender el equilibrio entre sesgo y varianza.

El ajuste insuficiente y el sobreajuste son dos problemas diferentes que están directamente relacionados con los problemas de varianza sesgada. Siempre es importante comprender la relación entre tres factores diferentes y cómo estos factores están conectados a los problemas de sesgo-varianza (sobreajuste-falta de ajuste):

1- el tamaño del modelo. Número de parámetros

2- la cantidad de datos disponibles para el entrenamiento. Número de muestras de entrenamiento.

3- el número de iteraciones. iteraciones de entrenamiento.

Hacer una conexión directa entre cualquiera de estos factores con problemas de sobreajuste o falta de ajuste sin mirar a los demás siempre llevará a conclusiones erróneas.

Debido a que comprender estos factores y vincular el tema mediante el uso de ecuaciones matemáticas para evitar problemas de sobreajuste y subadaptación es una tarea difícil, más aún depende de la tarea, las personas usan métodos simples para descubrir y evitar el sobreajuste. La manera fácil es dividir los datos en tres partes diferentes: capacitación, validación y pruebas. Las pruebas no deben ser tocadas. Use el conjunto de entrenamiento para entrenar la red y el conjunto de validación para probar la red después de cada iteración o varias iteraciones. Teóricamente, verá que el error en el conjunto de validación disminuye gradualmente para las primeras N iteraciones y luego será estable durante muy pocas iteraciones y luego comenzará a aumentar. Cuando el error comienza a aumentar, su red comienza a sobreajustar los datos de entrenamiento y se debe detener el proceso de entrenamiento.

Nota: el valor N está muy relacionado con los tres factores que enumeré anteriormente. Siempre es una buena práctica tener un conjunto de entrenamiento de demostración y probar con diferentes modelos, datos de entrenamiento. Verá que cuanto más grande es el modelo, menos datos de entrenamiento más pequeño es el N. Cuanto más pequeño es el modelo, más datos de entrenamiento más grande es el N. Nota: tenga cuidado al usar modelos pequeños de tener un problema de falta de ajuste.


Usted ha dicho "Teóricamente, verá que el error en el conjunto de validación disminuye gradualmente para las primeras N iteraciones y luego será estable durante muy pocas iteraciones y luego comenzará a aumentar". ¿Qué quieres decir con error aquí? Ese es exactamente el problema que he planteado en la pregunta. La respuesta es 15 si tomo el costo como la medida del error y 280 si tomo la precisión de la clasificación como la medida del error
Nitin Siwach

tenga en cuenta la corrección en el comentario anterior: la respuesta a cuando se inició el sobreajuste es la época 15 si tomo el costo como la medida del error y la época 280 si tomo la precisión de la clasificación como la medida del error
Nitin Siwach

El error en el conjunto de validación
Bashar Haddad

y la medida de ese error es? (100 - Precisión de clasificación) o costo. Entiendo que el error en el conjunto de validación significa en relación con la precisión de la clasificación. Pero eso es exactamente lo que estoy preguntando. ¿Por qué no el costo? Consulte los comentarios que hice en respuesta a Grasshopper sobre la pregunta original
Nitin Siwach,
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.