ComenzarEmpieza gratis

Interrupción temprana: Optimización de la optimización

Ahora que sabes cómo supervisar el rendimiento de tu modelo durante la optimización, puedes utilizar la detención anticipada para detener la optimización cuando ya no sea útil. Dado que la optimización se detiene automáticamente cuando no es útil, también puedes establecer un valor alto para epochs en tu llamada a .fit(), tal y como muestra Dan en el vídeo.

El modelo que optimizarás se ha especificado como model. Como antes, los datos están precargados como predictors y target.

Este ejercicio forma parte del curso

Introducción al aprendizaje profundo en Python

Ver curso

Instrucciones del ejercicio

  • Importa EarlyStopping desde tensorflow.keras.callbacks.
  • Compila el modelo, utilizando una vez más 'adam' como optimizer, 'categorical_crossentropy' como función de pérdida y metrics=['accuracy'] para ver la precisión en cada época.
  • Crea un objeto EarlyStopping llamado early_stopping_monitor. Detén la optimización cuando la pérdida de validación no haya mejorado durante dos épocas especificando el parámetro « patience » de « EarlyStopping() » como « 2 ».
  • Ajusta el modelo utilizando predictors y target. Especifica el número de epochs que se van a 30 y utiliza una división de validación de 0.3. Además, pasa [early_stopping_monitor] al parámetro callbacks.

Ejercicio interactivo práctico

Prueba este ejercicio completando el código de muestra.

# Import EarlyStopping
____

# Save the number of columns in predictors: n_cols
n_cols = predictors.shape[1]
input_shape = (n_cols,)

# Specify the model
model = Sequential()
model.add(Dense(100, activation='relu', input_shape = input_shape))
model.add(Dense(100, activation='relu'))
model.add(Dense(2, activation='softmax'))

# Compile the model
____

# Define early_stopping_monitor
early_stopping_monitor = ____

# Fit the model
____
Editar y ejecutar código