LECCIÓN 11

Generalización y overfitting

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.

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:

3. La regla de oro: separa los datos

Nunca evalúas con los mismos datos con los que entrenaste. Se parten en tres:

ConjuntoPara qué sirve
Entrenamiento (train)Ajustar los pesos. La red lo ve y aprende de él.
Validación (validation)Elegir hiperparámetros (cuántas capas, learning rate...). 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)

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): penaliza los pesos grandes, forzando curvas más suaves.
  • Dropout: durante el entrenamiento, "apaga" neuronas al azar en cada paso, para que la red no dependa de ninguna en exceso.
  • 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. Resumen

Aprender no es memorizar: es generalizar. Mide siempre con datos que el modelo no vio (test). El error de train engaña; el de test es la verdad. Demasiada poca capacidad → underfitting; demasiada → overfitting; el equilibrio está en el fondo de la U. Con esto cierras el último hueco grande de los fundamentos: ya no solo sabes cómo aprende una red, sino cómo lograr que sirva.