Prepararsi al training in batch
Prima di poter addestrare un modello lineare in batch, dobbiamo prima definire le variabili, una funzione di perdita e un'operazione di ottimizzazione. In questo esercizio, ci prepareremo ad addestrare un modello che predirà price_batch, un batch di prezzi delle case, usando size_batch, un batch di superfici dei lotti in piedi quadrati. A differenza della lezione precedente, lo faremo caricando i batch di dati con pandas, convertendoli in array numpy e usandoli poi per minimizzare la funzione di perdita passo dopo passo.
Variable(), keras(), e float32 sono già stati importati per te. Nota che non devi impostare valori di default per gli argomenti né del modello né della funzione di perdita, perché genereremo i dati in batch durante il processo di training.
Questo esercizio fa parte del corso
Introduzione a TensorFlow in Python
Istruzioni dell'esercizio
- Definisci
interceptcon un valore iniziale di 10.0 e un tipo di dato a 32 bit in virgola mobile. - Definisci il modello in modo che restituisca i valori predetti usando
intercept,slopeefeatures. - Definisci una funzione chiamata
loss_function()che accettiintercept,slope,targetsefeaturescome argomenti, in quest'ordine. Non impostare valori di default per gli argomenti. - Definisci la funzione di perdita come errore quadratico medio usando
targetsepredictions.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Define the intercept and slope
intercept = ___
slope = Variable(0.5, float32)
# Define the model
def linear_regression(intercept, slope, features):
# Define the predicted values
return ____
# Define the loss function
def ____:
# Define the predicted values
predictions = linear_regression(____, ____, features)
# Define the MSE loss
return keras.losses.____(____, ____)