Aan de slagGa gratis aan de slag

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: Ch2Ex4

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

Cursus bekijken

Oefeninstructies

  • Maak een woordenboek met gewichten genaamd weights_1 waarin je 1 gewicht uit weights_0 hebt aangepast (Je hoeft maar 1 wijziging in weights_0 te doen om de perfecte voorspelling te krijgen).
  • Verkrijg voorspellingen met de nieuwe gewichten met de functie predict_with_network() met input_data en weights_1.
  • Bereken de fout voor de nieuwe gewichten door target_actual af te trekken van model_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)
Code bewerken en uitvoeren