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
<Kurs>Einführung in TensorFlow mit Python</Kurs>Übungsanweisungen
- 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 praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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)