如何解决数据不平衡问题?

在学术研究与教学中,很多算法都有一个基本假设,那就是数据分布是均匀的。当我们把这些算法直接应用于实际数据时,大多数情况下都无法取得理想的结果。因为实际数据往往分布得很不均匀,都会存在“长尾现象”,也就是所谓的“二八原理”。

 

影响:

(1)少数类所包含的信息就会很有限,从而难以确定少数类数据的分布,即在其内部难以发现规律,进而造成少数类的识别率低

(2)不恰当的归纳偏置。许多归纳推理系统在存在不确定时往往倾向于把样本分类为多数类。

 

 

解决方案:

(1)过抽样,抽样处理不平衡数据的最常用方法,基本思想就是通过改变训练数据的分布来消除或减小数据的不平衡。

过抽样方法通过增加少数类样本来提高少数类的分类性能 ,最简单的办法是简单复制少数类样本,缺点是可能导致过拟合,没有给少数类增加任何新的信息。改进的过抽样方法通过在少数类中加入随机高斯噪声或其他数据增强的方法。

 

(2)欠抽样,欠抽样方法通过减少多数类样本来提高少数类的分类性能,最简单的方法是通过随机地去掉一些多数类样本来减小多数类的规模,缺点是会丢失多数类的一些重要信息,不能够充分利用已有的信息。

 

(3)数据合成, 对少数类样本进行分析并根据少数类样本人工合成新样本添加到数据集中。(SMOTE算法)

 

(4)加权, 引入代价敏感因子,设计出代价敏感的分类算法。通常对小样本赋予较高的代价,大样本赋予较小的代价,期望以此来平衡样本之间的数目差异。

你可能感兴趣的:(深度学习)