ComenzarEmpieza gratis

Cambiar parámetros de optimización

Es hora de ensuciarte las manos con la optimización. Ahora probarás a optimizar un modelo con una tasa de aprendizaje muy baja, otra muy alta y una "en su punto". Querrás revisar los resultados tras ejecutar este ejercicio, recordando que un valor bajo de la función de pérdida es bueno.

Para estos ejercicios, hemos precargado los predictores y los valores objetivo de tus modelos de clasificación anteriores (prediciendo quién sobreviviría en el Titanic). Querrás que la optimización empiece desde cero cada vez que cambies la tasa de aprendizaje, para poder comparar de forma justa cómo se comporta cada una en tus resultados. Por eso hemos creado una función get_new_model() que genera un modelo sin optimizar para que lo optimices.

Este ejercicio forma parte del curso

Introducción al Deep Learning en Python

Ver curso

Instrucciones del ejercicio

  • Importa SGD de tensorflow.keras.optimizers.
  • Crea una lista de tasas de aprendizaje para probar llamada lr_to_test. Las tasas deben ser .000001, 0.01 y 1.
  • Usando un bucle for para iterar sobre lr_to_test:
    • Usa la función get_new_model() para construir un modelo nuevo y sin optimizar.
    • Crea un optimizador llamado my_optimizer usando el constructor SGD() con el argumento con nombre lr=lr.
    • Compila tu modelo. Establece el parámetro optimizer como el objeto SGD que creaste arriba y, como este es un problema de clasificación, usa 'categorical_crossentropy' para el parámetro loss.
    • Ajusta tu modelo usando predictors y target.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Import the SGD optimizer
____

# Create list of learning rates: lr_to_test
lr_to_test = ____

# Loop over learning rates
for lr in lr_to_test:
    print('\n\nTesting model with learning rate: %f\n'%lr )
    
    # Build new model to test, unaffected by previous models
    model = ____
    
    # Create SGD optimizer with specified learning rate: my_optimizer
    my_optimizer = ____
    
    # Compile the model
    ____
    
    # Fit the model
    ____
Editar y ejecutar código