LoslegenKostenlos loslegen

Mehrfache Aktualisierungen der Gewichte

Nun wirst du mehrere Aktualisierungsschritte durchführen, um deine Modellgewichte deutlich zu verbessern und zu sehen, wie sich die Vorhersagen mit jedem Update verbessern.

Um den Code übersichtlich zu halten, gibt es eine vorab geladene Funktion get_slope(), die input_data, target und weights als Argumente entgegennimmt. Es gibt auch die Funktion get_mse(), die dieselben Argumente verwendet. input_data, target und weights wurden bereits vorab geladen.

Dieses Netzwerk hat keine versteckten Schichten und geht direkt von der Eingabe (mit drei Knoten) zu einem Ausgabeknoten. Beachte, dass weights ein einzelnes Array ist.

Außerdem wurde matplotlib.pyplot vorab geladen, und der Fehlerverlauf wird geplottet, nachdem du deine Gradient-Descent-Schritte ausgeführt hast.

Diese Übung ist Teil des Kurses

Einführung in Deep Learning mit Python

Kurs anzeigen

Anleitung zur Übung

  • Verwende eine for-Schleife, um die Gewichte iterativ zu aktualisieren:
    • Berechne die Steigung mit der Funktion get_slope().
    • Aktualisiere die Gewichte mit einer Lernrate von 0.01.
    • Berechne die mittlere quadratische Abweichung (mse) mit den aktualisierten Gewichten mithilfe der Funktion get_mse().
    • Hänge mse an mse_hist an.
  • Klicke auf "Antworten", um mse_hist zu visualisieren. Welchen Trend erkennst du?

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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 bearbeiten und ausführen