ComeçarComece de graça

Alterando parâmetros de otimização

Hora de colocar a mão na massa com otimização. Agora você vai testar a otimização de um modelo com uma taxa de aprendizado muito baixa, uma muito alta e uma “na medida certa”. Depois de executar este exercício, observe os resultados, lembrando que valores baixos para a função de perda são desejáveis.

Para estes exercícios, já carregamos os preditores e os valores-alvo dos seus modelos de classificação anteriores (prevendo quem sobreviveria no Titanic). Você vai querer que a otimização comece do zero sempre que mudar a taxa de aprendizado, para comparar de forma justa como cada taxa se saiu nos resultados. Por isso, criamos a função get_new_model() que cria um modelo não otimizado para você otimizar.

Este exercício faz parte do curso

Introdução a Deep Learning em Python

Ver curso

Instruções do exercício

  • Importe SGD de tensorflow.keras.optimizers.
  • Crie uma lista de taxas de aprendizado para testar chamada lr_to_test. As taxas de aprendizado devem ser .000001, 0.01 e 1.
  • Usando um loop for para iterar sobre lr_to_test:
    • Use a função get_new_model() para construir um novo modelo não otimizado.
    • Crie um otimizador chamado my_optimizer usando o construtor SGD() com o argumento nomeado lr=lr.
    • Compile seu modelo. Defina o parâmetro optimizer como o objeto SGD criado acima e, como este é um problema de classificação, use 'categorical_crossentropy' para o parâmetro loss.
    • Treine seu modelo usando predictors e target.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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 e executar o código