Antrenează un model liniar
În acest exercițiu, vom continua de unde am rămas în exercițiul anterior. Interceptul și panta, intercept și slope, au fost deja definite și inițializate. De asemenea, a fost definită o funcție, loss_function(intercept, slope), care calculează pierderea folosind datele și variabilele modelului.
Vei defini acum o operație de optimizare numită opt. Apoi vei antrena un model liniar univariat minimizând pierderea pentru a găsi valorile optime ale lui intercept și slope. Reține că operația opt va încerca să se apropie de optim la fiecare pas, însă va necesita mulți pași pentru a-l găsi. Prin urmare, trebuie să execuți operația în mod repetat.
Acest exercițiu face parte din cursul
Introducere în TensorFlow în Python
Instrucțiuni pentru exercițiu
- Inițializează un optimizer Adam ca
opt, cu o rată de învățare de 0,5. - Aplică metoda
.minimize()pe optimizer. - Transmite
loss_function()cu argumentele corespunzătoare ca funcție lambda către.minimize(). - Furnizează lista variabilelor care trebuie actualizate în
var_list.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)