绘制训练统计图
对于神经网络的训练效果,一般是通过训练的四项指标来观察的。Keras模型的fit()
方法会返回一个训练历史,其中的history
属性保存了训练全过程中的指标记录,其中包含四个键值val_acc
(验证精度)、acc
(训练精度)、val_loss
(验证损失)和loss
(训练损失)。
对于这几项指标的观察,习惯上通过Matplotlib来进行图表绘制来进行观察和调整。以下给出一套指标的图表绘制示例,其他指标的图表绘制可根据这个示例进行修改。
import matplotlib.pyplot as plt
history_dict = training_history.history
loss_values = history_dict["loss"]
validation_loss_values = history_dict["val_loss"]
epochs = range(1, len(loss_value) + 1)
# 使用蓝色圆点表示训练损失
plt.plot(epochs, loss_values, 'bo', label="训练损失")
# 使用蓝色线条表示验证损失
plt.plot(epochs, validation_loss_values, 'b', label="验证损失")
plt.title("训练和验证损失")
plt.xlabel("Epochs")
plt.ylabel("Loss")
plt.legend()
plt.show()
通过对训练损失和训练精度、验证损失和验证精度的观察,可以推断出模型在何时出现过拟合状态,并可以观察加入抑制过拟合后模型的训练情况。