我在调试我的分类器时遇到一个问题。尽管准确率接近80%,但它总是对给定的输入预测相同的类别。
我训练了一个卷积神经网络(CNN)来检测两个类别之间的差异。类别A有2575张jpeg图片,而类别B有665张jpeg图片。
这种情况会不会导致我的CNN总是预测相同的类别?这种类别之间的项目数量差异是否太大了?一般来说,如果我将两个类别的数据量调整到相同(各665张jpeg图片),我的性能会有所提高吗?
回答:
这个问题似乎是类别不平衡的情况,有几种方法可以处理这个问题:
- 加权损失: 你可以对多数类别的损失函数进行惩罚,通过计算加权交叉熵来实现。
- 重新采样数据: 正如你提到的,你也可以对多数类别进行下采样,以平衡类别。你还可以对少数类别进行上采样,使其平衡。
- 生成增强数据: 由于你在处理图像,你可以对少数类别进行上采样,然后对这些图像使用
数据增强
,这不仅解决了类别不平衡问题,还能防止过拟合并提高泛化能力。 - 以及以上方法的组合。