Fazer várias atualizações de pesos

Agora você fará várias atualizações para que possa melhorar drasticamente os pesos do modelo e ver como as previsões melhoram a cada atualização.

Para manter seu código limpo, há uma função get_slope() pré-carregada que recebe input_data, target e weights como argumentos. Há também uma função get_mse() que recebe os mesmos argumentos. Os sites input_data, target e weights foram pré-carregados.

Essa rede não tem nenhuma camada oculta e vai diretamente da entrada (com 3 nós) para um nó de saída. Observe que weights é uma matriz única.

Também pré-carregamos o site matplotlib.pyplot, e o histórico de erros será plotado depois que você tiver executado as etapas de descida do gradiente.

Este exercício faz parte do curso

Introdução à aprendizagem profunda em Python

Ver Curso

Instruções de exercício

  • Usando um loop for para atualizar iterativamente os pesos:

    • Calcule a inclinação usando a função get_slope().

    • Atualize os pesos usando uma taxa de aprendizado de 0.01.

    • Calcule o erro quadrático médio (mse) com os pesos atualizados usando a função get_mse().

    • Anexe mse a mse_hist.

  • Clique em 'Submit Answer' para visualizar mse_hist. Que tendência você percebe?

Exercício interativo prático

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

n_updates = 20
mse_hist = []

# Iterate over the number of updates
for i in range(n_updates):
    # Calculate the slope: slope
    slope = ____(____, ____, ____)
    
    # Update the weights: weights
    weights = ____ - ____ * ____
    
    # Calculate mse with new weights: mse
    mse = ____(____, ____, ____)
    
    # Append the mse to mse_hist
    ____

# Plot the mse history
plt.plot(mse_hist)
plt.xlabel('Iterations')
plt.ylabel('Mean Squared Error')
plt.show()