SMOTE过采样处理不均衡数据(imbalanced data)

关于不均衡数据(imbalanced data)的相关介绍和处理方法,可以参见处理不均衡数据(imbalanced data)的几种方法,本文主要介绍SMOTE过采样SMOTE: Synthetic Minority Over-sampling Technique处理不均衡数据。

SMOTE全称是Synthetic Minority Oversampling Technique,即合成少数类过采样技术。它是基于随机过采样算法的一种改进方案,因为随机过采样算法容易产生模型过拟合的问题,使得模型学习到的信息过于特别(Specific)而不够泛化(generalization)。SMOTE 过采样通过添加生成的少数类样本改变不平衡数据集的数据分布,是改善不平衡数据分类模型性能的流行方法之一。SMOTE 通过线性插值的方法在两个少数类样本间合成新的样本,从而有效缓解了由随机过采样引起的过拟合问题。

基本思想

对少数类样本进行分析并根据少数类样本人工合成新样本添加到数据集中。

算法实现

来自SMOTE 过采样及其改进算法研究综述

首先,从少数类样本中依次选取每个样本SMOTE过采样处理不均衡数据(imbalanced data)作为合成新样本的根样本;其次,根据向上采样倍率SMOTE过采样处理不均衡数据(imbalanced data),从SMOTE过采样处理不均衡数据(imbalanced data)的同类别的SMOTE过采样处理不均衡数据(imbalanced data)(SMOTE过采样处理不均衡数据(imbalanced data)一般为奇数,如SMOTE过采样处理不均衡数据(imbalanced data)) 个近邻样本中随机选择一个样本作为合成新样本的辅助样本,重复SMOTE过采样处理不均衡数据(imbalanced data)次;然后,在样本SMOTE过采样处理不均衡数据(imbalanced data)与每个辅助样本间通过式(1) 进行线性插值,最终生成SMOTE过采样处理不均衡数据(imbalanced data)个合成样本。

SMOTE过采样处理不均衡数据(imbalanced data)(1)

其中,SMOTE过采样处理不均衡数据(imbalanced data)SMOTE过采样处理不均衡数据(imbalanced data)是少数类中第SMOTE过采样处理不均衡数据(imbalanced data)个样本的第SMOTE过采样处理不均衡数据(imbalanced data)个属性值,SMOTE过采样处理不均衡数据(imbalanced data)SMOTE过采样处理不均衡数据(imbalanced data)是[0, 1] 之间的随机数;SMOTE过采样处理不均衡数据(imbalanced data)是样本SMOTE过采样处理不均衡数据(imbalanced data)的第SMOTE过采样处理不均衡数据(imbalanced data)个近邻样本, SMOTE过采样处理不均衡数据(imbalanced data)SMOTE过采样处理不均衡数据(imbalanced data)代表在SMOTE过采样处理不均衡数据(imbalanced data)SMOTE过采样处理不均衡数据(imbalanced data)之间合成的新样本。从式(1)可以看出,新样本 SMOTE过采样处理不均衡数据(imbalanced data)是在样本SMOTE过采样处理不均衡数据(imbalanced data)SMOTE过采样处理不均衡数据(imbalanced data)之间插值得到的样本,其具体算法如下所示:

SMOTE过采样处理不均衡数据(imbalanced data)

图 1 SMOTE 算法插值说明图

SMOTE过采样处理不均衡数据(imbalanced data)

 

 缺点

参见SMOTE 过采样及其改进算法研究综述

  1. 合成样本的质量问题
  2. 模糊类边界问题
  3. 少数类分布问题

SMOTE改进

改进算法 跟样本 辅助样本 解决方法 解决的问题
G-SMOTE 少数类样本 几何区域内的样本 在每个选定的少数类样本周围的几何区域内生成人工
样本,加强了SMOTE 的数据生成机制
合成样本的质量问题
ADASYN 少数类样本 少数类样本 自适应地改变不同少数类样本的权重,自动地确定每个少数类样本需要合成新样本的数量 合成样本的质量问题
Safe-Level-SMOTE 少数类样本 安全系数高的少数类样本 在合成新样本前分别给每个少数类样本分配一个安全系数,新合成的样本更加接近安全系数高的样本 合成样本的质量问题、模糊类边界问题
Borderline-SMOTE “Danger”类少数类样本 “Danger”类样本 根据SMOTE 插值原理,对属于“Danger”类少数类样本进行过采样,可增加用于确定分类边界的少数类样本 合成样本的质量问题
SMOM 少数类样本 安全方向的近邻样本 通过给每个少数类样本 的k 个近邻方向分配不同的选择权重来改善SMOTE引起的过泛化问题 合成样本的质量问题、模糊类边界问题

其中“Danger”类样本是指靠近分类边界的样本。

欠采样与SMOTE 结合的方法

数据集中存在噪声样本时,采用SMOTE 过采样会加剧两类样本的重叠,融合欠采样和过采样的混合采样成为改进SMOTE 方法的一种新的思路。

算法名 欠采样方法 过采样方法 解决的问题
AdaBoost-SVM-MSA 直接删除法、约除法 SMOTE ①、②
BDSK 基于k-means欠采样 SMOTE
BMS OSED随机欠采样 SMOTE ①、③
OSSU- SMOTEO OSS SMOTE ①、②
Hybrid Sampling[18] DBSCAN、KNN欠采样 SMOTE ①、②
SDS-SMOT SDS SMOTE
SVM-HS 直接删除法 SMOTE

过滤技术与SMOTE 结合的方法

混合采样是克服不平衡问题中噪声样本的一种手段,然而结合噪声过滤技术同样可以消除由SMOTE 合成的错误样本,常见的过
滤技术包括基于粗糙集的过滤、数据清洗等。

算法名 过滤技术 过采样方法 解决的问题
SMOTE-RSB* RST(粗糙集理论的编辑技术) SMOTE ①、②
SMOTE-IPF IPF(迭代分区滤波器) SMOTE ①、②
BST-CF CF(噪声过滤器) SMOTE
SSMNFOS SSM(随机灵敏度测量) SMOTE ①、②
NN-FRIS-SMOTE RSIS(模糊粗糙实例选择) SMOTE ①、②
SMOTE-Tomek Tomek(分属不同类别且距离最近的一对样本) SMOTE ①、②
SMOTE-ENN ENN(k-NN 方法分类) SMOTE

聚类算法与SMOTE 结合的方法

聚类算法和SMOTE 结合是调整数据分布的另一种思路,其主要策略通常有两种:一是直接采用聚类算法将少数类样本划分成多个簇,在簇内进行插值;二是利用聚类算法识别样本类型,对不同类型的样本采用不同的方式处理,然后再使用SMOTE 进行过采样。

算法名 聚类算法 策略 解决的问题
MWMOTE 平均连接聚合聚类 簇内插值
FCMSMT FCM 簇内插值
K-means SMOTE K-means 簇内插值
CB-SMOTE FCM 识别边界样本
CURE-SMOTE CURE 识别噪声样本 ①、②
HPM DBSCAN 识别噪声样本 ①、②
IDP-SMOTE Improved-DP 识别噪声样本 ①、③

面向特定应用背景的SMOTE

面向高维数据的SMOTE

面向回归问题的SMOTE

面向分类型数据的SMOTE

SMOTE 研究展望

不平衡大数据

不平衡流数据

少量标签的不平衡数据

其他类型数据