Memorizar frente a entender de verdad: el sobreajuste
Imagina a un amigo que, la noche antes del examen, memorizó todas las respuestas del cuadernillo. Si salen las mismas preguntas, las acierta todas. Pero en cuanto aparece una pregunta nueva con los números algo cambiados, se viene abajo. Solo memorizó; nunca entendió el principio. El aprendizaje automático tiene la misma trampa. Si un modelo memoriza entero el conjunto de entrenamiento, saca un cien en lo que vio pero falla en problemas nuevos. A esto lo llamamos sobreajuste. Entonces, ¿cómo medimos la habilidad real?
Memorízalo entero y la nota de entrenamiento es perfecta
Aquí hay unos puntos dispersos.
La tarea del modelo es hallar una curva suave
que explique estos puntos.
Pero podríamos volvernos ambiciosos
y doblar la curva arriba y abajo
para que pase por cada punto.
Entonces todos los puntos de entrenamiento quedan sobre la curva.
La nota de entrenamiento es un cien redondo.
Parece perfecto, pero en realidad solo memorizó.
Toca el boton para encender una curva ondulada que memoriza los puntos enteros. Pasa por cada punto, asi la precision de entrenamiento llega al cien por cien.
La curva acerto cada punto exactamente.
La nota de entrenamiento llego a 100.
Sienta genial, pero no debemos parar aqui.
Esta curva esta cerca de haber
memorizado sin mas donde estan los puntos.
No capto el patron real
que fluye entre los puntos dispersos.
Por que memorizar es un problema
se ve en cuanto le lanzamos una pregunta nueva.
Cuando llegan datos nuevos, se desmorona
La prueba real de una curva memorizada
es un punto nuevo que nunca ha visto.
El punto nuevo vino del mismo patron
que los puntos de entrenamiento.
Asi que una curva suave deberia
acertar tambien, mas o menos, el punto nuevo.
Pero la curva memorizada
se mece con violencia entre los puntos,
y cerca de un punto nuevo apunta a una altura absurda.
Cien en lo que vio, cero en lo nuevo.
Toca un hueco vacio para soltar un punto nuevo. La curva memorizada lo falla por mucho, revelando lo debil que es con datos que nunca vio.
En el punto nuevo la curva fallo por mucho.
Tan perfecta en los puntos de entrenamiento,
y sin embargo indefensa ante un punto que nunca vio.
Esto es lo que es de verdad el sobreajuste.
Es igual que el amigo que memorizo
la hoja de respuestas y se viene abajo
cuando cambian los numeros.
Asi que lo que de verdad queremos saber
no es la nota de entrenamiento sino la nota en datos no vistos.
Dividir en entrenamiento, validacion y prueba
Para medir la habilidad con datos no vistos
debemos esconder algunos datos de antemano.
Asi que dividimos lo que tenemos en tres.
Los datos de entrenamiento son de los que aprende el modelo,
y los de validacion nos dejan comprobar
a medio camino si todo va bien.
Los datos de prueba no los tocamos
hasta el final, mirados una sola vez.
Solo asi podemos calificar de un modo
que imita problemas de verdad nuevos.
Toca los puntos para repartirlos en entrenamiento, validacion y prueba. Cuando las tres casillas se llenan de forma pareja, ya puedes evaluar con los datos de prueba no vistos.
Dividimos los datos en tres grupos.
La clave es no mostrar nunca
los datos de prueba durante el aprendizaje.
Si resuelves las preguntas del examen de antemano,
ya no es un examen.
Aprende con entrenamiento,
orienta a medio camino con validacion,
y califica la nota real con prueba al final.
Esa nota es la habilidad verdadera del modelo.
Ni demasiado simple ni demasiado complejo, justo
Ahora comparemos tres tipos de modelo.
Un modelo demasiado simple
intenta conformarse con una recta
y no logra seguir la curva que trazan los puntos.
Eso es subajuste, haber aprendido muy poco.
Un modelo demasiado complejo
memoriza los puntos y por eso es debil con datos nuevos.
El modelo justo del medio
capta con suavidad el patron que recorre el conjunto,
en vez de cada punto suelto.
Toca los tres modelos por turno para comparar. El subajustado es demasiado recto, el sobreajustado ondula por memorizar, y solo el justo va bien tambien con datos nuevos.
La diferencia entre los tres se vio de un vistazo.
Demasiado simple y pierde el patron,
demasiado complejo y memoriza y se tambalea.
Solo el modelo justo
lo hizo bien por igual en entrenamiento
y en datos no vistos.
Aprender bien no es empujar
la nota hasta 100,
sino ir bien de forma estable con datos que no ha visto.
Resumamos
Reunido en una linea, es esto.
Una curva ondulada que memorizo cada punto
saca 100 solo en entrenamiento y es debil con puntos nuevos.
Eso es el sobreajuste.
Entender de verdad es captar el patron que recorre el conjunto.
Por eso dividimos los datos en entrenamiento, validacion y prueba
y medimos la habilidad con datos que no ha visto.
Ni demasiado simple ni demasiado complejo,
el punto justo generaliza mejor.
Toca los puntos clave en orden para repasar. (memorizar entero y solo el entrenamiento es 100 -> falla con datos nuevos -> dividir en entrenamiento/validacion/prueba -> medir la habilidad real con datos no vistos)
Ahora sabes la diferencia entre memorizar y entender de verdad.
Una nota de entrenamiento alta no es lo que lo hace bueno.
Lo que importa es no tambalearse
ni ante datos nuevos que nunca ha visto.
Por eso dividimos los datos
y calificamos con honestidad sobre datos que no vio.
Captar patrones en vez de memorizar,
esta sola cosa es la actitud mas importante
para construir una maquina lista.