python - 具有许多类别的不平衡数据集,一个热门编码问题,具有高 F1 分数但在验证集上的准确性非常低
问题描述
loss='categorical_crossentropy'
activation='softmax'
Metrics used:
keras_metrics.precision(),
keras_metrics.recall(),
keras_metrics.f1_score(),
'accuracy'
我做错了什么,我正在使用 LSTM 对已转换为单热编码的多标签问题进行分类。准确性以外的值很高,但准确性非常低
解决方案
这显然是一个过度拟合的情况。你可以看到训练损失不断减少,测试损失不断增加。以下是一些避免过度拟合的提示:
1. 尝试更简单的模型
如果你的模型有一个复杂的架构,有太多的神经元和层,你必须减少它。
2.获取更多的训练数据
你拥有的训练数据越多越好是模型的泛化。
3.使用正则化
以减少过拟合。Tensorflow 具有内置的正则化器,如 l1、l2 等。
看看链接
推荐阅读
- swift - 在 MacOS 中注册像 Snap Camera 这样的相机设备
- r - 如何将一个表中的一列数据插入到另一个表中?
- html - 我可以在另一个 html 中链接另一个 HTML 文件吗?
- javascript - 带有Firebase的角度类似帖子的系统的问题
- azure - 将 VHD 从 azure 磁盘复制到 azure 存储帐户
- swift - 无法弄清楚快速 POST 请求错误
- pyspark - 如何将 pyspark 数据帧转换为 JSON?
- mysql - MYSQL 远程访问适用于一个用户,而不是另一个
- html - CSS 按钮未正确突出显示
- installation - VS2017 installation keeps failing with error as couldn't install Microsoft.Net.4.5.2.TargetingPack