El salto de "sé cómo una red calcula" a "sé construir una que sirva". El objetivo real no es acertar con los datos de entrenamiento, sino con datos que la red nunca vio.
Recuerda de las lecciones anteriores: aprendiste a entrenar una red de punta a punta — forward, pérdida, backprop, actualización. La red XOR aprendió a predecir correctamente. Pero hasta ahora medías el éxito con los mismos datos con los que entrenabas. Hoy verás por qué eso es trampa.
1. Por qué XOR no nos sirve aquí
Durante todo el curso entrenamos XOR con 4 ejemplos. Pero esos 4 ejemplos son todo
el universo posible de XOR: no existen entradas "nuevas" que la red no haya visto. Memorizar los 4
casos es resolver el problema.
En el mundo real es al revés: tienes un puñado de ejemplos y quieres que la red
funcione con millones que nunca verá durante el entrenamiento. A eso se le llama
generalizar, y es el verdadero reto del aprendizaje automático. Para estudiarlo
cambiamos de ejemplo: ahora ajustaremos una curva con datos ruidosos.
2. Memorizar ≠ aprender
Imagina que tienes unos puntos que vienen de una curva real (una onda) pero con ruido
(errores de medición). Tu red debe descubrir la tendencia, no perseguir cada punto:
Underfitting (subajuste): el modelo es demasiado simple y ni siquiera captura la tendencia. Falla en train y en test.
Buen ajuste: captura la forma general e ignora el ruido. Funciona bien con datos nuevos.
Overfitting (sobreajuste): el modelo es tan flexible que pasa por todos los puntos de entrenamiento, ruido incluido. Acierta perfecto en train… y falla en datos nuevos.
3. La regla de oro: separa los datos
Nunca evalúas con los mismos datos con los que entrenaste. Se parten en tres:
Conjunto
Para qué sirve
Entrenamiento (train)
Ajustar los pesos. La red lo ve y aprende de él.
Validación (validation)
Elegir hiperparámetros (las decisiones de diseño que tú tomas: cuántas capas, learning rate, dropout…). La red NO entrena con él.
Prueba (test)
La medida final, honesta. Datos que el modelo nunca tocó.
🔑 Si mides el éxito con los datos de entrenamiento, te engañas: un modelo que memoriza saca
10/10 en train y suspende en la realidad. El error de test es el que importa.
🎮 Demo: mueve la complejidad y observa el overfitting
Mismos puntos (11 de entrenamiento y 9 de
prueba), sacados de una onda sin(x) con ruido.
El deslizador controla la complejidad del modelo (qué tan "flexible" es la curva).
Observa: subir la complejidad siempre baja el error de train… pero el de test forma una U.
1
● entrenamiento● prueba- - onda real— modelo
error según la complejidad
— train— test
4. La curva en U (lo más importante que llevarte)
Lo que viene puede sonar raro al principio: ¿cómo puede ser que un modelo más complejo funcione peor? La clave es que memoriza los errores de medición del entrenamiento. El error de entrenamiento siempre baja cuando aumentas la complejidad — un modelo más flexible siempre puede acercarse más a los puntos que ya conoce. Pero el error de test baja y luego SUBE: forma una U. El punto más bajo de esa U es la complejidad ideal. Pasarte
de ahí es overfitting: mejoras en lo que ya sabes y empeoras en lo que importa.
5. Cómo combatir el overfitting
Más datos: la cura más efectiva. Con más ejemplos, memorizar el ruido deja de funcionar.
Modelo más simple: menos capas/neuronas = menos capacidad de memorizar.
Regularización L2 (weight decay): añade al error una cantidad proporcional al tamaño de los pesos — así la red prefiere pesos pequeños (curvas suaves) porque pesos grandes cuestan más.
Dropout: durante el entrenamiento, "apaga" neuronas al azar en cada paso, para que la red no dependa de ninguna en exceso. Como estudiar en equipo: si siempre preguntas al mismo compañero, dependes de él. Dropout obliga a cada miembro a aprender por su cuenta.
Early stopping: deja de entrenar cuando el error de validación empieza a subir (justo en el fondo de la U).
Todas comparten la misma idea: limitar cuánto puede el modelo amoldarse al ruido,
obligándolo a quedarse con la tendencia general.
6. Lo que aprendiste
Lo que aprendiste hoy: aprender no es memorizar — es generalizar. El error de train siempre baja con más complejidad, pero el de test forma una U: primero baja y luego sube (overfitting). Mide siempre con datos que el modelo no vio. Para reducir el overfitting: más datos, modelo más simple, regularización L2, dropout, o early stopping. Con esto cierras el último concepto fundamental: ya no solo sabes cómo aprende una red, sino cómo lograr que sirva de verdad.