@创建于:2022.03.30
@修改于:2022.03.30
文章目录
1、样本不均衡解决办法
样本(类别)样本不平衡(class-imbalance)指的是分类任务中不同类别的训练样例数目差别很大的情况,一般地,样本类别比例(Imbalance Ratio)(多数类vs少数类)明显大于1:1(如4:1)就可以归为样本不均衡的问题。现实中,样本不平衡是一种常见的现象,如:金融欺诈交易检测,欺诈交易的订单样本通常是占总交易数量的极少部分,而且对于有些任务而言少数样本更为重要。

不均衡解决方法可以归结为:通过某种方法使得不同类别的样本对于模型学习中的Loss(或梯度)贡献是比较均衡的。
1.1 数据样本
1.1.1 欠采样、过采样
最直接的处理方式就是样本数量的调整了,常用的可以:
- 欠采样:减少多数类的数量(如随机欠采样、NearMiss、ENN)。
- 过采样:尽量多地增加少数类的的样本数量(如随机过采样、以及1.1.2数据增强方法),以达到类别间数目均衡。
1.1.2 数据增强
-
单样本增强(主要用于图像)
主要有几何操作、颜色变换、随机擦除、添加噪声等方法产生新的样本,可参见imgaug开源库。 -
多样本增强
是通过组合及转换多个样本,主要有Smote类(可见imbalanced-learn.org/stable/references/over_sampling.html)、SamplePairing、Mixup等方法在特征空间内构造已知样本的邻域值样本。 -
基于深度学习的数据增强
生成模型如变分自编码网络(Variational Auto-Encoding network, VAE)和生成对抗网络(Generative Adversarial Network, GAN),其生成样本的方法也可以用于数据增强。这种基于网络合成的方法相比于传统的数据增强技术虽然过程更加复杂, 但是生成的样本更加多样。
1.2 目标(损失)函数
损失函数层面主流的方法也就是常用的代价敏感学习(cost-sensitive),为不同的分类错误给予不同惩罚力度(权重),在调节类别平衡的同时,也不会增加计算复杂度。
1.2.1 class weight
scikit模型的’class weight‘方法
clf2 = LogisticRegression(class_weight={
0:1,1:10})

本文针对样本不均衡问题,总结了多种解决方法,包括数据采样技术(欠采样与过采样)、数据增强手段、调整损失函数(如Focal Loss)、使用特定模型算法以及异常检测等,并介绍了评估指标的选择。
最低0.47元/天 解锁文章
2188

被折叠的 条评论
为什么被折叠?



