Codificação de como as alterações de peso afetam a precisão

Agora você poderá alterar os pesos em uma rede real e ver como eles afetam a precisão do modelo!

Dê uma olhada na rede neural a seguir: Ch2Ex4

Seus pesos foram pré-carregados como weights_0. Sua tarefa neste exercício é atualizar um único peso em weights_0 para criar weights_1, que fornece uma previsão perfeita (na qual o valor previsto é igual a target_actual: 3).

Use caneta e papel, se necessário, para experimentar diferentes combinações. Você usará a função predict_with_network(), que recebe uma matriz de dados como primeiro argumento e pesos como segundo argumento.

Este exercício faz parte do curso

Introdução à aprendizagem profunda em Python

Ver Curso

Instruções de exercício

  • Crie um dicionário de pesos chamado weights_1 em que você alterou 1 peso de weights_0 (você só precisa fazer 1 edição em weights_0 para gerar a previsão perfeita).
  • Obtenha previsões com os novos pesos usando a função predict_with_network() com input_data e weights_1.
  • Calcule o erro para os novos pesos subtraindo target_actual de model_output_1.
  • Clique em "Enviar resposta" para ver como os erros se comparam!

Exercício interativo prático

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

# The data point you will make a prediction for
input_data = np.array([0, 3])

# Sample weights
weights_0 = {'node_0': [2, 1],
             'node_1': [1, 2],
             'output': [1, 1]
            }

# The actual target value, used to calculate the error
target_actual = 3

# Make prediction using original weights
model_output_0 = predict_with_network(input_data, weights_0)

# Calculate error: error_0
error_0 = model_output_0 - target_actual

# Create weights that cause the network to make perfect prediction (3): weights_1
weights_1 = {'node_0': [____, ____],
             'node_1': [____, ____],
             'output': [____, ____]
            }

# Make prediction using new weights: model_output_1
model_output_1 = ____

# Calculate error: error_1
error_1 = ____ - ____

# Print error_0 and error_1
print(error_0)
print(error_1)