一. 数据集不平衡带来的问题:
在一个分类问题中,如果在所有你想要预测的类别里有一个或者多个类别的样本量非常少,那你的数据也许就面临不平衡类别的问题。如:
1.欺诈预测(欺诈的数量远远小于真实交易的数量)
2.自然灾害预测(不好的事情远远小于好的事情)
3.在图像分类中识别恶性肿瘤(训练样本中含有肿瘤的图像远比没有肿瘤的图像少)
用不平衡的数据训练出来的模型一定会导致样本少的种类预测性能很差,甚至无法预测。但请注意,用不平衡的数据训练出来的模型纵使有以上问题,但是一般情况下往往会得到最高的准确率AP(因为大多数的准确率来自于包含了大量样本的类别中,交叉熵的损失即使是在不均衡的数据的时候,也是趋向于得到最高的准确率)。
所以我们目的是得到最高的准确率的话,情况下,做数据均衡并没什么意义。但是若少数样本的种类如欺诈检测,肿瘤检测等问题来讲,意义重大且必要。
二. 处理不平衡的方法
处理不平衡的方法总的来说可以分为两大类:1. 数据增强,2.损失函数权值均衡
1. 数据增强
kaggle比赛中有这么一个案例:
问题 - 我们在 kaggle 网站上选择「座头鲸识别挑战」,我们期望解决不平衡类别的挑战(理想情况下,所分类的鲸鱼数量少于未分类的鲸类,并且也有少数罕见鲸类我们有的图像数量更少。)
来自 kaggle :「在这场比赛中,你面临着建立一个算法来识别图像中的鲸鱼种类的挑战。您将分析 Happy Whale 数据库中的超过2