Métricas y validación con Keras
En el ejercicio anterior entrenamos un modelo para predecir las letras del lenguaje de signos, pero no está claro hasta qué punto lo conseguimos. En este ejercicio, intentaremos mejorar la interpretabilidad de nuestros resultados. Como no utilizamos una división de validación, sólo observamos mejoras de rendimiento dentro del conjunto de entrenamiento; sin embargo, no está claro en qué medida se debieron al sobreajuste. Además, como no facilitamos una métrica, sólo observamos disminuciones en la función de pérdida, que no tienen una interpretación clara.
Ten en cuenta que keras
se ha importado para ti desde tensorflow
.
Este ejercicio forma parte del curso
Introducción a TensorFlow en Python
Instrucciones del ejercicio
- Configura la primera capa densa para que tenga 32 nodos, utilice una función de activación
sigmoid
y tenga una forma de entrada de (784,). - Utiliza el optimizador de propagación cuadrática media, una pérdida categórica de entropía cruzada y la métrica de precisión.
- Establece el número de épocas en 10 y utiliza el 10% del conjunto de datos para la validación.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
# Define sequential model
model = keras.Sequential()
# Define the first layer
model.add(keras.layers.Dense(____, ____, ____))
# Add activation function to classifier
model.add(keras.layers.Dense(4, activation='softmax'))
# Set the optimizer, loss function, and metrics
model.compile(optimizer='____', loss='____', metrics=['____'])
# Add the number of epochs and the validation split
model.fit(sign_language_features, sign_language_labels, epochs=____, validation_split=____)