Entrenar un modelo lineal
En este ejercicio, continuaremos donde terminó el ejercicio anterior. El intercepto y la pendiente, intercept
y slope
, se han definido e inicializado. Además, se ha definido una función, loss_function(intercept, slope)
, que calcula la pérdida utilizando los datos y las variables del modelo.
Ahora definirás una operación de optimización como opt
. A continuación, entrenarás un modelo lineal univariante minimizando la pérdida para encontrar los valores óptimos de intercept
y slope
. Ten en cuenta que la operación opt
intentará acercarse al óptimo con cada paso, pero necesitará muchos pasos para encontrarlo. Por tanto, debes ejecutar repetidamente la operación.
Este ejercicio forma parte del curso
Introducción a TensorFlow en Python
Instrucciones de ejercicio
- Inicializa un optimizador Adam como
opt
con una tasa de aprendizaje de 0,5. - Aplica el método
.minimize()
al optimizador. - Pasa
loss_function()
con los argumentos adecuados como una función lambda a.minimize()
. - Introduce la lista de variables que hay que actualizar en
var_list
.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
# 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)