开始使用免费开始使用

过拟合检测

在本练习中,我们将使用原始手语字母数据集中的一个小子集。小样本再配合参数众多的模型,通常会导致过拟合。也就是说,模型会记住每个样本所属的类别,而不是学习能泛化到更多样本的特征。

您将通过以下方式检测过拟合:检查验证集的损失是否明显高于训练集的损失,以及在继续训练时是否进一步上升。当样本很小且学习率较高时,模型往往难以收敛到最优解。您将为优化器设置较低的学习率,以便更容易识别过拟合。

注意,keras 已从 tensorflow 导入。

本练习是课程的一部分

Python 中的 TensorFlow 入门

查看课程

练习说明

  • keras 中定义一个名为 model 的顺序模型。
  • 添加第一层全连接层,包含 1024 个节点,relu 激活函数,输入形状为 (784,)。
  • 将学习率设置为 0.001。
  • fit() 操作设置为对完整样本迭代 50 次,并使用 50% 的样本用于验证。

交互式实操练习

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

# Define sequential model
____

# Define the first layer
____

# Add activation function to classifier
model.add(keras.layers.Dense(4, activation='softmax'))

# Finish the model compilation
model.compile(optimizer=keras.optimizers.Adam(lr=____), 
              loss='categorical_crossentropy', metrics=['accuracy'])

# Complete the model fit operation
model.fit(sign_language_features, sign_language_labels, epochs=____, validation_split=____)
编辑并运行代码