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
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çãoget_mse()
.Anexe
mse
amse_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()