LoslegenKostenlos loslegen

Programmieren, wie sich Änderungen der Gewichte auf die Genauigkeit auswirken

Nun kannst du in einem echten Netzwerk Gewichte verändern und beobachten, wie sich das auf die Modellgenauigkeit auswirkt!

Schau dir folgendes neuronales Netzwerk an: Ch2Ex4

Dessen Gewichte wurden als weights_0 vorab geladen. Deine Aufgabe in dieser Übung ist es, ein einziges Gewicht in weights_0 zu aktualisieren, um weights_1 zu erzeugen, das eine perfekte Vorhersage liefert (bei der der vorhergesagte Wert gleich target_actual ist: 3).

Nutze bei Bedarf Stift und Papier, um mit verschiedenen Kombinationen zu experimentieren. Du verwendest die Funktion predict_with_network(), die ein Datenarray als erstes Argument und Gewichte als zweites Argument entgegennimmt.

Diese Übung ist Teil des Kurses

Einführung in Deep Learning mit Python

Kurs anzeigen

Anleitung zur Übung

  • Erstelle ein Dictionary mit Gewichten namens weights_1, in dem du 1 Gewicht aus weights_0 änderst (Du musst weights_0 nur 1-mal bearbeiten, um die perfekte Vorhersage zu erzeugen).
  • Erhalte Vorhersagen mit den neuen Gewichten, indem du die Funktion predict_with_network() mit input_data und weights_1 verwendest.
  • Berechne den Fehler (error) für die neuen Gewichte, indem du target_actual von model_output_1 abziehst.
  • Klicke auf 'Antworten', um zu sehen, wie die Fehler im Vergleich abschneiden!

Interaktive Übung

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

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