如何解决数据不平衡问题?
- 主动获取:获取更多的少量样本数据
- 针对少量样本数据,可以尽可能去扩大这些少量样本的数据集,或者尽可能去增加他们特有的特征来丰富数据的多样性。譬如,如果是一个情感分析项目,在分析数据比例时发现负样本(消极情感)的样本数量较少,那么我们可以尽可能在网站中搜集更多的负样本数量。
- 算法采样:上采样、下采样、生成合成数据
- ADASYN采样方法:
- ADASYN为样本较少的类生成合成数据,其生成的数据与更容易学习的样本相比,更难学习。基本思想是根据学习难度的不同,对不同的少数类的样本使用加权分布。其中,更难学习的少数类的样本比那些更容易学习的少数类的样本要产生更多的合成数据。因此,ADASYN方法通过以下两种方式改善了数据分布的学习:(1)减少由于类别不平衡带来的偏差;(2)自适应地将分类决策边界转移到困难的例子。
- SMOTE采样方法:
- 从少数类创建新的合成点,以增加其基数。但是SMOTE算法也有一定的局限性。具体有两项,一是在近邻选择时,存在一定的盲目性。在算法执行过程中,需要确定K值,即选择几个近邻样本,这个需要根据具体的实验数据和实验人自己解决。二是该算法无法克服非平衡数据集的数据分布问题,容易产生分布边缘化的问题。由于负类样本的分布决定了其可选择的近邻,如果一个负类样本处在负类样本的边缘,则由此负类样本和近邻样本产生的样本也会处在边缘,从而无法确定正负类的分类边界。下图是以前做的一个项目应用个各种采样方法做数据增强的情况。(效果不明显,因为原始数据的分布重合太明显,可视化不容易显示出效果)
- 图1 原始数据的分布
- 图2 下采样结果
- 图3 上采样结果
- 数据增强:加噪音增强模型鲁棒性、对不同性质的数据也可以做不同的augmentation
- 改变权重:设定惩罚因子,如libsvm等算法里设置的正负样本的权重项等。惩罚多样本类别,其实还可以加权少样本类别
- 谨慎选择AUC作为评价指标:对于数据极端不平衡时,可以观察观察不同算法在同一份数据下的训练结果的precision和recall,这样做有两个好处,一是可以了解不同算法对于数据的敏感程度,二是可以明确采取哪种评价指标更合适。针对机器学习中的数据不平衡问题,建议更多PR(Precision-Recall曲线),而非ROC曲线,具体原因画图即可得知,如果采用ROC曲线来作为评价指标,很容易因为AUC值高而忽略实际对少两样本的效果其实并不理想的情况。
- 不要只看Accuracy:Accuracy可以说是最模糊的一个指标了,因为这个指标高可能压根就不能代表业务的效果好,在实际生产中,我们可能更关注precision/recall/mAP等具体的指标,具体侧重那个指标,得结合实际情况看。
- 选择对数据倾斜相对不敏感的算法。如树模型等。
- 集成学习(Ensemble集成算法)。首先从多数类中独立随机抽取出若干子集,将每个子集与少数类数据联合起来训练生成多个基分类器,再加权组成新的分类器,如加法模型、Adaboost、随机森林等。
- 将任务转换成异常检测问题。譬如有这样一个项目,需要从高压线的航拍图片中,将松动的螺丝/零件判断为待检测站点,即负样本,其他作为正样本,这样来看,数据倾斜是非常严重的,而且在图像质量一般的情况下小物体检测的难度较大,所以不如将其转换为无监督的异常检测算法,不用过多的去考虑将数据转换为平衡问题来解决。
1.GHM_Detection
2.Focal Loss for Dense Object Detection
-
汽车测试网V课堂
-
微信公众号
-
汽车测试网手机站
编辑推荐
最新资讯
-
汽车试验工况概述
2024-11-25 08:29
-
突发!欧盟或取消中国电动汽车关税
2024-11-25 08:04
-
如何打造豪车NVH
2024-11-25 08:04
-
NVH工程案例 :怠速及小油门加速工况车内啸
2024-11-25 07:51
-
直播|中汽中心 工程院:汽车智驾技术主题
2024-11-24 11:43