Aan de slagGa gratis aan de slag

Meerdere updates op gewichten toepassen

Je gaat nu meerdere updates doen zodat je de modelgewichten flink kunt verbeteren en kunt zien hoe de voorspellingen met elke update beter worden.

Om je code overzichtelijk te houden, is er een vooraf geladen functie get_slope() die input_data, target en weights als argumenten neemt. Er is ook een functie get_mse() die dezelfde argumenten gebruikt. De input_data, target en weights zijn al voor je geladen.

Dit netwerk heeft geen verborgen lagen en gaat rechtstreeks van de input (met 3 nodes) naar één outputnode. Let op: weights is één enkele array.

We hebben ook matplotlib.pyplot vooraf geladen, en de foutgeschiedenis wordt geplot nadat je je gradient-descent-stappen hebt uitgevoerd.

Deze oefening maakt deel uit van de cursus

Introductie tot Deep Learning in Python

Cursus bekijken

Oefeninstructies

  • Gebruik een for-lus om de gewichten iteratief bij te werken:
    • Bereken de helling met de functie get_slope().
    • Werk de gewichten bij met een leersnelheid van 0.01.
    • Bereken de mean squared error (mse) met de bijgewerkte gewichten met behulp van de functie get_mse().
    • Voeg mse toe aan mse_hist.
  • Klik op "Antwoord verzenden" om mse_hist te visualiseren. Welke trend valt je op?

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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()
Code bewerken en uitvoeren