这里写目录标题
- 1. 定义
- 2.常用处理方法
-
- 2.1 欠采样
-
- 2.1.1方法一(随机删除):
- 2.1.2方法二(原型生成Prototype generation):
- 2.2 过采样
-
- 2.2.1 方法一(随机复制):
- 2.2.2 方法二(样本构建):
- 2.3 模型算法
1. 定义
数据不平衡指的是不同类别的样本量差异非常大,或者少数样本代表了业务的关键数据(少量样更重要),需要对少量样本的模式有很好的学习。样本类别分布不平衡主要出现在分类相关的建模问题上。样本类别分布不均衡从数据规模上可以分为大数据分布不均衡和小数。
分布不均衡两种情况:
- L大数据分布不均衡——整体数据规模较大,某类别样本占比较小。
- 小样本分布不均衡——整体数据和规模小,则某类别样本数量也小,这种情况下,由于少量样本数太少,很难提取特征进行有无监督学习,此时属于严重的小数据样本分布不均衡。
典型场景:
- CTR预估:广告点击率,通常只有百分之几,点击的样本占比非常少,大量的未点击样本
- 异常检测:比如恶意刷单、黄牛订单、信用卡欺诈、电力窃电、设备故障等,这 些数据样本所占的比例通常是整体样本中很少的一部分,以信用卡欺诈为例,刷实体信 用卡的欺诈比例一般都在0.1%以内。
- 罕见事件的分析:罕见事件分析与异常事件的区别在于异常检测通常都有是预先定义 好的规则和逻辑,并且大多数异常事件都对会企业运营造成负面影响,因此针对异常事 件的检测和预防非常重要;但罕见事件则无法预判,并且也没有明显的积极和消极影响 倾向。
工程过程中,应对样本不均衡问题常从以下三方面入手:
- 欠采样:在少量样本数量不影响模型训练的情况下,可以通过对多数样本 欠采样,实现少数样本和多数样本的均衡。
- 过采样:在少量样本数量不支撑模型训练的情况下,可以通过对少量样本 过采样,实现少数样本和多数样本的均衡。
- 模型算法:通过引入有倚重的模型算法,针对少量样本着重拟合,以提升 对少量样本特征的学习。
2.常用处理方法
2.1 欠采样
定义:欠抽样(也叫下采样、under-sampling,US)方法通 过减少分类中多数类样本的样本数量来实现样本均衡。 通过欠采样,在保留少量样本的同时,会丢失多数类样 本中的一些信息。经过欠采样,样本总量在减少。
2.1.1方法一(随机删除):
随机地删除一些多量样本,使少量样本和多量样本数量达到均衡。
2.1.2方法二(原型生成Prototype generation):
PG 算法主要是在原有样本的基础上生成新的样本来实现样本均衡,具体做法如下:
案例:下图所示为三类共2000个样本点的集合,每个样本维度为2,label1个数为1861,label2个数为108,label3个数为31。利用PG算法完成数据均衡后,样本整体分布没有变化。
2.2 过采样
过抽样(也叫上采样、over-sampling)方法通过增加分类中少数 样本的数量来实现样本均衡,最直接的方法是简单复制少数类样 本形成多条记录,这种方法的缺点是如果样本特征少而可能导致过 拟合的问题。
经过改进的过抽样方法通过在少数类中加入随机噪声、干扰数据或 通过一定规则产生新的合成样本,对应的算法会在后面介绍。
2.2.1 方法一(随机复制):
随机复制即对少量样本进行复制后达到样本均衡的效果以提升模型效果。如下图所示,在进行复制前, Linear SVC只找到一个超平面——即认为样本集中仅两类样本。随机复制后, Linear SVC找到了另外两 个超平面。
2.2.2 方法二(样本构建):
针对上述问题,衍生出SMOTEBoost、Borderline-SMOTE、Kmeans-SMOTE等。
- SMOTEBoost把SMOTE算法和Boost算法结合,在每一轮分类学习过程中增加对少数类的样本的权重,使得基学习器 (base learner) 能够更好地关注到少数类样本。
- Borderline-SMOTE在构造样本时考虑少量样本周围的样本分布,选择少量样本集合(DANGER集合)——其邻居节点 既有多量样本也有少量样本,且多量样本数不大于少量样本的点来构造新样本。
- Kmeans-SMOTE包括聚类、过滤和过采样三步。利用Kmeans算法完成聚类后,进行样本簇过滤,在每个样本簇内利 用SMOTE算法构建新样本。
2.3 模型算法
模型算法 – Cost Sensitive算法
模型算法 – MetaCost算法
模型算法 – Focal Loss