训练线性模型
在本练习中,我们将从上一个练习结束的地方继续。截距和斜率 intercept 与 slope 已经定义并完成初始化。此外,已定义了函数 loss_function(intercept, slope),它会使用数据和模型变量来计算损失。
现在,您将把优化操作定义为 opt。接着通过最小化损失来训练一元线性模型,从而找到 intercept 和 slope 的最优值。请注意,opt 操作每一步都会向最优解逼近,但通常需要很多步才能收敛。因此,您必须反复执行该操作。
本练习是课程的一部分
Python 中的 TensorFlow 入门
练习说明
- 将学习率设为 0.5,初始化一个 Adam 优化器为
opt。 - 对优化器应用
.minimize()方法。 - 将带有合适参数的
loss_function()作为 lambda 函数传递给.minimize()。 - 在
var_list中提供需要更新的变量列表。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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)