【问题标题】:Imbalance datasets with many categories, one hot encoded problem, having high F1 score but very low accuracy on validation set具有许多类别的不平衡数据集,一个热门编码问题,具有高 F1 分数但在验证集上的准确性非常低
【发布时间】:2020-08-27 02:33:37
【问题描述】:
loss='categorical_crossentropy'
activation='softmax'
Metrics used:
keras_metrics.precision(), 
keras_metrics.recall(), 
keras_metrics.f1_score(), 
'accuracy'

我做错了什么,我正在使用 LSTM 对已转换为 one-hot 编码的多标签问题进行分类。准确度以外的值都很高,但准确度非常低

Accuracy comparison between train and validation sets

Loss Comparison

【问题讨论】:

  • 你能添加你的损失图和训练期间生成的日志吗?
  • 是的,我会尽快添加。
  • @AniketBote 添加了损失比较。请就我应该做什么提供意见?

标签: python python-3.x tensorflow keras


【解决方案1】:

这显然是过度拟合的情况。你可以看到训练损失不断减少,测试损失不断增加。 以下是一些避免过度拟合的提示:

1.尝试更简单的模型
如果您的模型具有包含过多神经元和层的复杂架构,则必须减少它。

2。获取更多训练数据
您拥有的训练数据越多,模型的泛化效果就越好。

3.使用正则化
为了减少过拟合。 Tensorflow 内置了 l1、l2 等正则化器。

看看Link

【讨论】:

  • 谢谢,这三样我都试试。
  • 如果解决方案有效,请您接受并投票。
猜你喜欢
  • 2020-10-09
  • 2017-02-13
  • 2020-10-23
  • 2016-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-26
  • 2021-05-29
相关资源
最近更新 更多