Ein lineares Modell trainieren
In dieser Übung machen wir dort weiter, wo die vorige aufgehört hat. Der Achsenabschnitt und die Steigung, intercept und slope, sind definiert und initialisiert. Außerdem ist eine Funktion loss_function(intercept, slope) definiert, die den Loss auf Basis der Daten und Modellvariablen berechnet.
Du definierst jetzt eine Optimierungsoperation als opt. Anschließend trainierst du ein univariates lineares Modell, indem du den Loss minimierst, um die optimalen Werte für intercept und slope zu finden. Beachte: Die Operation opt nähert sich mit jedem Schritt dem Optimum an, benötigt dafür aber viele Schritte. Du musst die Operation daher wiederholt ausführen.
Diese Übung ist Teil des Kurses
Einführung in TensorFlow mit Python
Anleitung zur Übung
- Initialisiere einen Adam-Optimizer als
optmit einer Lernrate von 0,5. - Wende die Methode
.minimize()auf den Optimizer an. - Übergebe
loss_function()mit den passenden Argumenten als Lambda-Funktion an.minimize(). - Gib die Liste der zu aktualisierenden Variablen über
var_listan.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Initialize an Adam optimizer
opt = keras.optimizers.____(0.5)
for j in range(100):
# Apply minimize, pass the loss function, and supply the variables
opt.____(lambda: ____(____, ____), var_list=[____, ____])
# Print every 10th value of the loss
if j % 10 == 0:
print(loss_function(intercept, slope).numpy())
# Plot data and regression line
plot_results(intercept, slope)