Keras 中的度量与验证
在上一个练习中,您训练了一个用于预测手语字母的模型,但目前还不清楚效果如何。本练习将提升结果的可解释性。由于之前没有使用验证集划分,我们只看到了训练集上的性能提升;然而,这其中有多少是过拟合所致并不明确。此外,由于未指定度量指标,我们只看到了损失函数的下降,而这并没有直观的解释。
注意:keras 已经从 tensorflow 为您导入。
本练习是课程的一部分
Python 中的 TensorFlow 入门
练习说明
- 将第一层全连接层的节点数设为 32,激活函数使用
sigmoid,输入形状为 (784,)。 - 使用 RMSProp(均方根传播)优化器、分类交叉熵损失(categorical crossentropy)以及准确率(accuracy)作为度量。
- 将轮数(epochs)设为 10,并将数据集的 10% 用作验证集。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Define sequential model
model = keras.Sequential()
# Define the first layer
model.add(keras.layers.Dense(____, ____, ____))
# Add activation function to classifier
model.add(keras.layers.Dense(4, activation='softmax'))
# Set the optimizer, loss function, and metrics
model.compile(optimizer='____', loss='____', metrics=['____'])
# Add the number of epochs and the validation split
model.fit(sign_language_features, sign_language_labels, epochs=____, validation_split=____)