为不平衡数据加权回归CNN?

时间:2019-07-30 23:10:37

标签: tensorflow deep-learning regression conv-neural-network data-science

我有一个用于回归的CNN,用于拍摄图像并输出浮点数0-10。我的模型运行良好,但是我遇到了数据不平衡的严重问题,使我的模型对几乎所有图像的预测均在6-8之间,但实现了不错的均方误差。我知道人们会根据数据集的不平衡程度对课程进行加权。那么,有没有办法用回归模型做到这一点?如果有帮助,我的输出为浮点型,但是我所有的数据都在0-10范围内以0.5为间隔,因此大约有20个不同的类。这是我的数据标签的分布。

enter image description here

我了解还有其他方法,例如:

  • 对少数群体进行过度采样。
  • 使用数据扩充功能来复制少数群体。
  • 优化其他性能指标。 (不知道那会是什么)

有什么建议吗?谢谢。

2 个答案:

答案 0 :(得分:1)

您的数据最初可能代表了回归问题,但是将其分为20组后,您正在针对 20类分类问题训练模型。因此,您应该这样对待它,并寻找解决这种不平衡的方法。最普遍的方法是:

  • 过度采样少数群体
  • 欠采样大多数类别
  • 使用班级权重

我通常更喜欢第一种方法,因为模型倾向于使用更多的数据来做得更好,但是第三种方法更易于实现,并且不会增加训练的计算成本。

答案 1 :(得分:1)

一种流行的过采样技术是SMOTE

关于优化其他度量,一种选择是优化权重与类表示的倒数成比例的加权损失。