Entrena un modelo lineal
En este ejercicio, retomaremos donde terminó el anterior. El intercepto y la pendiente, intercept y slope, ya se han definido e inicializado. Además, se ha definido una función, loss_function(intercept, slope), que calcula la pérdida usando los datos y las variables del modelo.
Ahora vas a definir 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 en cada paso, pero necesitará muchos pasos para encontrarlo. Por lo tanto, debes ejecutar la operación repetidamente.
Este ejercicio forma parte del curso
Introducción a TensorFlow en Python
Instrucciones del ejercicio
- Inicializa un optimizador Adam como
optcon una tasa de aprendizaje de 0.5. - Aplica el método
.minimize()al optimizador. - Pasa
loss_function()con los argumentos correspondientes como una función lambda a.minimize(). - Proporciona la lista de variables que se deben actualizar en
var_list.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el 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)