Addestra un modello lineare
In questo esercizio riprendiamo da dove avevi lasciato nel precedente. L’intercetta e il coefficiente angolare, intercept e slope, sono stati definiti e inizializzati. Inoltre è stata definita una funzione, loss_function(intercept, slope), che calcola la loss usando i dati e le variabili del modello.
Ora definirai un’operazione di ottimizzazione come opt. Allenerai poi un modello lineare univariato minimizzando la loss per trovare i valori ottimali di intercept e slope. Nota che l’operazione opt proverà ad avvicinarsi all’ottimo a ogni passo, ma richiederà molti passi per trovarlo. Per questo, devi eseguire l’operazione ripetutamente.
Questo esercizio fa parte del corso
Introduzione a TensorFlow in Python
Istruzioni dell'esercizio
- Inizializza un ottimizzatore Adam come
optcon learning rate pari a 0,5. - Applica il metodo
.minimize()all’ottimizzatore. - Passa
loss_function()con gli argomenti appropriati come funzione lambda a.minimize(). - Fornisci l’elenco delle variabili da aggiornare in
var_list.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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)