Fazendo múltiplas atualizações nos pesos
Agora você vai fazer várias atualizações para melhorar bastante os pesos do seu 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. input_data, target e weights já foram pré-carregados.
Essa rede não tem camadas ocultas: ela vai diretamente da entrada (com 3 nós) para um nó de saída. Observe que weights é um único array.
Também pré-carregamos matplotlib.pyplot, e o histórico de erro será plotado depois que você concluir os passos de gradiente descendente.
Este exercício faz parte do curso
Introdução a Deep Learning em Python
Instruções do exercício
- Usando um loop
forpara atualizar os pesos iterativamente:- 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(). - Adicione
mseamse_hist.
- Calcule a inclinação usando a função
- Clique em "Enviar Resposta" para visualizar
mse_hist. Que tendência você observa?
Exercício interativo prático
Experimente este exercício completando 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()