LoslegenKostenlos loslegen

Mehrere Aktualisierungen der Gewichte vornehmen

Jetzt machst du mehrere Aktualisierungen, um die Gewichtung deines Modells deutlich zu verbessern und zu sehen, wie sich die Vorhersagen mit jeder Aktualisierung verbessern.

Damit dein Code übersichtlich bleibt, gibt's eine vorinstallierte Funktion „ get_slope() “, die „ input_data “, „ target “ und „ weights “ als Argumente nimmt. Es gibt auch eine Funktion „ get_mse() “, die die gleichen Argumente verwendet. Die Dateien „ input_data “, „ target “ und „ weights “ sind schon drauf.

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

Wir haben auch „ matplotlib.pyplot “ vorinstalliert, und der Fehlerverlauf wird angezeigt, sobald du die Gradientenabstiegsschritte durchgeführt hast.

Diese Übung ist Teil des Kurses

Einführung in Deep Learning mit Python

Kurs anzeigen

Anleitung zur Übung

  • Mit einer „ for “-Schleife werden die Gewichte immer wieder aktualisiert:

    • Berechne die Steigung mit der Funktion „ get_slope() “.

    • Aktualisiere die Gewichte mit einer Lernrate von 0.01.

    • Berechne den mittleren quadratischen Fehler (mse) mit den aktualisierten Gewichten mithilfe der Funktion get_mse().

    • Füge mse an mse_hist an.

  • Klick auf „Antwort senden“, um „ mse_hist “ anzuzeigen. Welchen Trend siehst du?

Interaktive Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

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