开始使用免费开始使用

调整优化参数

现在是亲自上手做优化的时候了。您将尝试用一个非常低的学习率、一个非常高的学习率,以及一个"刚刚好"的学习率来优化模型。运行练习后请查看结果,并记住:损失函数的值越低越好。

在这些练习中,我们已经为您预加载了先前分类模型(预测谁能在泰坦尼克号上幸存)的自变量和目标值。每次更改学习率时,都需要从头开始优化,以便公平比较不同学习率的效果。因此我们提供了一个函数 get_new_model(),用于创建一个尚未优化、可供您开始优化的模型。

本练习是课程的一部分

Python 深度学习入门

查看课程

练习说明

  • tensorflow.keras.optimizers 导入 SGD
  • 创建一个名为 lr_to_test 的列表,存放要尝试的学习率。其取值应为 .0000010.011
  • 使用 for 循环遍历 lr_to_test
    • 使用 get_new_model() 函数构建一个全新的、未优化的模型。
    • 使用 SGD() 构造函数并传入关键字参数 lr=lr,创建一个名为 my_optimizer 的优化器。
    • 编译模型。将 optimizer 参数设置为上面创建的 SGD 对象;由于这是分类问题,将 loss 参数设为 'categorical_crossentropy'
    • 使用 predictorstarget 训练模型。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Import the SGD optimizer
____

# Create list of learning rates: lr_to_test
lr_to_test = ____

# Loop over learning rates
for lr in lr_to_test:
    print('\n\nTesting model with learning rate: %f\n'%lr )
    
    # Build new model to test, unaffected by previous models
    model = ____
    
    # Create SGD optimizer with specified learning rate: my_optimizer
    my_optimizer = ____
    
    # Compile the model
    ____
    
    # Fit the model
    ____
编辑并运行代码