首页 > 解决方案 > 具有许多类别的不平衡数据集,一个热门编码问题,具有高 F1 分数但在验证集上的准确性非常低

问题描述

loss='categorical_crossentropy'
activation='softmax'
Metrics used:
keras_metrics.precision(), 
keras_metrics.recall(), 
keras_metrics.f1_score(), 
'accuracy'

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

训练集和验证集之间的准确度比较

损失比较

标签: pythonpython-3.xtensorflowkeras

解决方案


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

1. 尝试更简单的模型
如果你的模型有一个复杂的架构,有太多的神经元和层,你必须减少它。

2.获取更多的训练数据
你拥有的训练数据越多越好是模型的泛化。

3.使用正则化
以减少过拟合。Tensorflow 具有内置的正则化器,如 l1、l2 等。

看看链接


推荐阅读