Programmeren: hoe gewichtsveranderingen de nauwkeurigheid beïnvloeden
Nu ga je gewichten aanpassen in een echt netwerk en zien hoe ze de nauwkeurigheid van het model beïnvloeden!
Bekijk het volgende neurale netwerk:

De gewichten zijn vooraf geladen als weights_0. Jouw taak in deze oefening is om één gewicht in weights_0 te updaten om weights_1 te maken, waarmee je een perfecte voorspelling krijgt (waarbij de voorspelde waarde gelijk is aan target_actual: 3).
Gebruik pen en papier als dat helpt om met verschillende combinaties te experimenteren. Je gebruikt de functie predict_with_network(), die een array met data als eerste argument neemt en gewichten als tweede argument.
Deze oefening maakt deel uit van de cursus
Introductie tot Deep Learning in Python
Oefeninstructies
- Maak een woordenboek met gewichten genaamd
weights_1waarin je 1 gewicht uitweights_0hebt aangepast (Je hoeft maar 1 wijziging inweights_0te doen om de perfecte voorspelling te krijgen). - Verkrijg voorspellingen met de nieuwe gewichten met de functie
predict_with_network()metinput_dataenweights_1. - Bereken de fout voor de nieuwe gewichten door
target_actualaf te trekken vanmodel_output_1. - Klik op 'Antwoord verzenden' om te zien hoe de fouten zich verhouden!
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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)