Detección de sobreajuste
En este ejercicio, trabajaremos con un subconjunto pequeño de ejemplos del conjunto de datos original de letras en lenguaje de signos. Una muestra pequeña, junto con un modelo con muchos parámetros, suele provocar sobreajuste. Esto significa que tu modelo simplemente memorizará la clase de cada ejemplo, en lugar de identificar características que se generalicen a muchos ejemplos.
Detectarás el sobreajuste comprobando si la pérdida en la muestra de validación es sustancialmente mayor que la pérdida en la muestra de entrenamiento y si aumenta con más entrenamiento. Con una muestra pequeña y una tasa de aprendizaje alta, al modelo le costará converger a un óptimo. Establecerás una tasa de aprendizaje baja para el optimizador, lo que facilitará identificar el sobreajuste.
Ten en cuenta que keras se ha importado desde tensorflow.
Este ejercicio forma parte del curso
Introducción a TensorFlow en Python
Instrucciones del ejercicio
- Define un modelo secuencial en
kerasllamadomodel. - Añade una primera capa densa con 1024 nodos, activación
reluy una forma de entrada de (784,). - Establece la tasa de aprendizaje en 0.001.
- Configura la operación
fit()para iterar 50 veces sobre la muestra completa y usar el 50% de la muestra con fines de validación.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el 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=____)