Trenowanie modelu liniowego
W tym ćwiczeniu kontynuujemy pracę rozpoczętą w poprzednim kroku. Wyrazy wolny i współczynnik kierunkowy, intercept i slope, zostały już zdefiniowane i zainicjalizowane. Zdefiniowana została również funkcja loss_function(intercept, slope), która oblicza stratę na podstawie danych i zmiennych modelu.
Teraz zdefiniujesz operację optymalizacji jako opt, a następnie wytrenujemy jednowymiarowy model liniowy, minimalizując stratę w celu znalezienia optymalnych wartości intercept i slope. Zwróć uwagę, że operacja opt z każdym krokiem zbliża się do optimum, ale potrzebuje wielu kroków, żeby je osiągnąć. Dlatego musisz wykonywać tę operację wielokrotnie.
To ćwiczenie jest częścią kursu
Wprowadzenie do TensorFlow w Pythonie
Instrukcje do ćwiczenia
- Zainicjalizuj optymalizator Adam jako
optze współczynnikiem uczenia równym 0,5. - Zastosuj metodę
.minimize()do optymalizatora. - Przekaż
loss_function()z odpowiednimi argumentami jako funkcję lambda do.minimize(). - Podaj listę zmiennych do zaktualizowania w argumencie
var_list.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)