【发布时间】:2020-09-11 00:26:51
【问题描述】:
我目前正在研究一个高度不平衡的多类分类问题。我想保存模型权重以获得最佳时期,但我对应该选择哪个指标感到困惑?
这是我的训练进度条:
我在tf.keras 中使用ModelCheckpoint 回调并监控val_loss 作为保存最佳模型权重的指标。
如图所示,
- 在第 8 个 epoch,我得到了
val_acc = 0.9845但val_loss = 0.629并且这里的准确率和召回率也很高。 - 但是在第 3 个 epoch 我得到了
val_acc = 0.9840但val_loss = 0.590
我知道差异并不大,但在这种情况下,不平衡数据集的理想指标是什么?
【问题讨论】:
-
准确率在高度不平衡的数据集中没有用;您应该关注精确度和召回率。
-
@desertnaut 我是否也应该忽略不平衡数据集中的验证损失?我的意思是,如果你看一下我的训练,与 epoch 3 相比,我在 epoch 8 有更好的精度和召回率,但如果我们考虑验证损失,它在 epoch 8 与 epoch 3 相比更高。
-
@desertnaut 谢谢。此外,在 tf.keras 中,确实为每个批次计算了召回率和精度,并在最后(或)计算了整个验证数据集的平均值。因为我读过第一种情况不是计算精度或召回率的理想方法。我找不到任何有关它的信息。
标签: tensorflow machine-learning deep-learning imbalanced-data