ComenzarEmpieza gratis

Detección de sobreajuste

En este ejercicio, trabajaremos con un pequeño subconjunto de ejemplos del conjunto de datos original de letras del lenguaje de signos. Una muestra pequeña, unida a un modelo muy parametrizado, conducirá generalmente a un ajuste excesivo. Esto significa que tu modelo se limitará a memorizar la clase de cada ejemplo, en lugar de identificar características que generalicen a muchos ejemplos.

Detectarás el sobreajuste comprobando si la pérdida de la muestra de validación es sustancialmente mayor que la pérdida de la muestra de entrenamiento y si aumenta con el entrenamiento. Con una muestra pequeña y una tasa de aprendizaje alta, el modelo tendrá dificultades para converger en un óptimo. Establecerás una tasa de aprendizaje baja para el optimizador, lo que facilitará la identificación del sobreajuste.

Observa que keras se ha importado de tensorflow.

Este ejercicio forma parte del curso

Introducción a TensorFlow en Python

Ver curso

Instrucciones de ejercicio

  • Define un modelo secuencial en keras llamado model.
  • Añade una primera capa densa con 1024 nodos, una activación relu y una forma de entrada de (784,).
  • Ajusta el ritmo de aprendizaje a 0,001.
  • Configura la operación fit() para que itere sobre la muestra completa 50 veces y utilice el 50% de la muestra con fines de validación.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# Define sequential model
____

# Define the first layer
____

# Add activation function to classifier
model.add(keras.layers.Dense(4, activation='softmax'))

# Finish the model compilation
model.compile(optimizer=keras.optimizers.Adam(lr=____), 
              loss='categorical_crossentropy', metrics=['accuracy'])

# Complete the model fit operation
model.fit(sign_language_features, sign_language_labels, epochs=____, validation_split=____)
Editar y ejecutar código