IOKELU
Nivel: Inteligencia Artificial – Avanzado (Guía 13)

Regularización Avanzada

La regularización es esencial para evitar el overfitting en redes neuronales profundas. En esta guía aprenderás las técnicas avanzadas más utilizadas en la industria: Dropout, L1/L2, Early Stopping y Data Augmentation.

Tabla de contenidos

  • Qué es la regularización
  • Dropout
  • Regularización L1 y L2
  • Early Stopping
  • Data Augmentation
  • Ejemplo con Keras
  • Ejercicios

1. Qué es la regularización

La regularización reduce la complejidad del modelo para evitar que memorice los datos y mejorar su capacidad de generalización.

2. Dropout

Dropout desactiva aleatoriamente neuronas durante el entrenamiento.


layers.Dropout(0.5)
    

3. Regularización L1 y L2

L1 y L2 penalizan pesos grandes para evitar modelos demasiado complejos.


layers.Dense(64, kernel_regularizer=tf.keras.regularizers.L2(0.01))
    

4. Early Stopping

Early Stopping detiene el entrenamiento cuando el modelo deja de mejorar.


callback = tf.keras.callbacks.EarlyStopping(
    monitor='val_loss',
    patience=5,
    restore_best_weights=True
)
    

5. Data Augmentation

Data Augmentation genera variaciones de los datos para mejorar la generalización.


data = tf.keras.preprocessing.image.ImageDataGenerator(
    rotation_range=20,
    zoom_range=0.2,
    horizontal_flip=True
)
    

6. Ejemplo con Keras


model = tf.keras.Sequential([
    layers.Dense(128, activation='relu'),
    layers.Dropout(0.5),
    layers.Dense(64, activation='relu',
        kernel_regularizer=tf.keras.regularizers.L2(0.01)),
    layers.Dense(10, activation='softmax')
])

model.compile(optimizer='adam', loss='categorical_crossentropy')

model.fit(
    X_train, y_train,
    epochs=30,
    validation_split=0.2,
    callbacks=[callback]
)
    

7. Ejercicios


Siguiente guía

Arquitecturas Avanzadas →