第14卷第6期 智能系统学报 Vol.14 No.6 2019年11月 CAAI Transactions on Intelligent Systems Nov.2019 D0:10.11992/tis.201906052 网络出版地址:http:/kns.cnki.net/kcms/detail/23.1538.tp.20190916.1054.004.html SMOTE过采样及其改进算法研究综述 石洪波,陈雨文,陈鑫 (山西财经大学信息学院,山西太原030031) 摘要:近年来不平衡分类问题受到广泛关注。SMOTE过采样通过添加生成的少数类样本改变不平衡数据集 的数据分布,是改善不平衡数据分类模型性能的流行方法之一。本文首先阐述了SMOTE的原理、算法以及存 在的问题,针对SMOTE存在的问题,分别介绍了其4种扩展方法和3种应用的相关研究,最后分析了SMOTE 应用于大数据、流数据、少量标签数据以及其他类型数据的现有研究和面临的问题,旨在为SMOTE的研究和 应用提供有价值的借鉴和参考。 关键词:不平衡数据分类;SMOTE;算法;kNN;过采样:欠采样:高维数据;分类型数据 中图分类号:TP391文献标志码:A文章编号:1673-47852019)06-1073-11 中文引用格式:石洪波,陈雨文,陈鑫.SM0TE过采样及其改进算法研究综述.智能系统学报,2019,14(6):1073-1083. 英文引用格式:SHI Hongbo,.CHEN Yuwen,CHEN Xin.Summary of research on SMOTE oversampling and its improved al-- gorithms[JI.CAAI transactions on intelligent systems,2019,14(6):1073-1083. Summary of research on SMOTE oversampling and its improved algorithms SHI Hongbo,CHEN Yuwen,CHEN Xin (School of Information,Shanxi University of Finance and Economics,Taiyuan,Shanxi,030031) Abstract:In recent years,the problem of imbalanced classification has received considerable attention.The synthetic minority oversampling technique(SMOTE),a popular method for improving the classification performance of imbal- anced data,adds generated minority samples to change the distribution of imbalanced data sets.In this paper,we first describe the fundamentals,algorithms,and existing problems of SMOTE.Then,with respect to the existing problems of SMOTE,we introduce related research on four types of extension methods and three types of applications.Finally,to provide valuable reference information for the research and application of SMOTE,we analyze the existing difficulties of applying SMOTE to big data,streaming data,a small amount of label data,and other types of data. Keywords:imbalanced data classification;SMOTE;algorithm;k-NN;oversampling;undersampling;high dimensional data;categorical data 不平衡数据的分类问题在疾病检测山、欺诈 在现实生活中,少数类样本的预测结果才是人们 检测以及故障诊断)等应用领域中受到了广泛 关注的重点,如疾病检测中,人们对阳性病人检 关注。不平衡数据是指类分布明显不均衡的数 测为阴性的容忍度要远远低于阴性病人检测为阳 据,其中样本数目多的类为多数类,而样本数目 性的容忍度。 少的类为少数类。由于少数类样本数目过少,导 为了提高不平衡数据的分类模型性能,近年 致传统分类器的准确率偏向于多数类,即便准确 来不少学者做了大量研究工作,主要分为算法层 率很高也无法保证少数类样本均分类正确。然而 面和数据层面。本文重点关注数据层面的研究。 收稿日期:2019-06-27.网络出版日期:2019-09-16. 在分类之前通过移除或添加一部分数据来平衡类 基金项目:国家自然科学基金资助项目(61801279):山西省自 然料学基金项目(201801D121115,2014011022-2). 分布是数据层面常用的做法,主要包括欠采样和 通信作者:石洪波.E-mail:shihb@sxufe.edu.cn 过采样。传统的处理不平衡数据集的采样方法主
DOI: 10.11992/tis.201906052 网络出版地址: http://kns.cnki.net/kcms/detail/23.1538.tp.20190916.1054.004.html SMOTE 过采样及其改进算法研究综述 石洪波,陈雨文,陈鑫 (山西财经大学 信息学院,山西 太原 030031) 摘 要:近年来不平衡分类问题受到广泛关注。SMOTE 过采样通过添加生成的少数类样本改变不平衡数据集 的数据分布,是改善不平衡数据分类模型性能的流行方法之一。本文首先阐述了 SMOTE 的原理、算法以及存 在的问题,针对 SMOTE 存在的问题,分别介绍了其 4 种扩展方法和 3 种应用的相关研究,最后分析了 SMOTE 应用于大数据、流数据、少量标签数据以及其他类型数据的现有研究和面临的问题,旨在为 SMOTE 的研究和 应用提供有价值的借鉴和参考。 关键词:不平衡数据分类;SMOTE;算法;k-NN;过采样;欠采样;高维数据;分类型数据 中图分类号:TP391 文献标志码:A 文章编号:1673−4785(2019)06−1073−11 中文引用格式:石洪波, 陈雨文, 陈鑫. SMOTE 过采样及其改进算法研究综述 [J]. 智能系统学报, 2019, 14(6): 1073–1083. 英文引用格式:SHI Hongbo, CHEN Yuwen, CHEN Xin. Summary of research on SMOTE oversampling and its improved algorithms[J]. CAAI transactions on intelligent systems, 2019, 14(6): 1073–1083. Summary of research on SMOTE oversampling and its improved algorithms SHI Hongbo,CHEN Yuwen,CHEN Xin (School of Information, Shanxi University of Finance and Economics, Taiyuan, Shanxi, 030031) Abstract: In recent years, the problem of imbalanced classification has received considerable attention. The synthetic minority oversampling technique (SMOTE), a popular method for improving the classification performance of imbalanced data, adds generated minority samples to change the distribution of imbalanced data sets. In this paper, we first describe the fundamentals, algorithms, and existing problems of SMOTE. Then, with respect to the existing problems of SMOTE, we introduce related research on four types of extension methods and three types of applications. Finally, to provide valuable reference information for the research and application of SMOTE, we analyze the existing difficulties of applying SMOTE to big data, streaming data, a small amount of label data, and other types of data. Keywords: imbalanced data classification; SMOTE; algorithm; k-NN; oversampling; undersampling; high dimensional data; categorical data 不平衡数据的分类问题在疾病检测[1] 、欺诈 检测[2] 以及故障诊断[3] 等应用领域中受到了广泛 关注。不平衡数据是指类分布明显不均衡的数 据,其中样本数目多的类为多数类,而样本数目 少的类为少数类。由于少数类样本数目过少,导 致传统分类器的准确率偏向于多数类,即便准确 率很高也无法保证少数类样本均分类正确。然而 在现实生活中,少数类样本的预测结果才是人们 关注的重点,如疾病检测中,人们对阳性病人检 测为阴性的容忍度要远远低于阴性病人检测为阳 性的容忍度。 为了提高不平衡数据的分类模型性能,近年 来不少学者做了大量研究工作,主要分为算法层 面和数据层面。本文重点关注数据层面的研究。 在分类之前通过移除或添加一部分数据来平衡类 分布是数据层面常用的做法,主要包括欠采样和 过采样。传统的处理不平衡数据集的采样方法主 收稿日期:2019−06−27. 网络出版日期:2019−09−16. 基金项目:国家自然科学基金资助项目 (61801279);山西省自 然科学基金项目 (201801D121115,2014011022-2). 通信作者:石洪波. E-mail:shihb@sxufe.edu.cn. 第 14 卷第 6 期 智 能 系 统 学 报 Vol.14 No.6 2019 年 11 月 CAAI Transactions on Intelligent Systems Nov. 2019
·1074· 智能系统学报 第14卷 要有随机欠采样和随机过采样。随机欠采样是指 其中xeR4,xar是少数类中第i个样本的第at 随机地移除部分多数类样本,但该方法可能会丢 tr个属性值,atr=1,2,,d;y是[0,1]之间的随机 失部分有用的信息,导致分类器性能下降。随机 数;x是样本x的第j个近邻样本,j=12,…k; 过采样则是随机的复制少数类样本,使得数据的 xw代表在x与x:之间合成的新样本。从式(I) 类分布平衡,但该方法由于反复复制少数类样 可以看出,新样本xew是在样本x与x之间插 本,增加了分类模型过拟合的可能性。为解决上 值得到的样本,其具体算法如下所示。 述问题,Chawla等提出了SMOTE(synthetic ★少数类样本 minority oversampling technique)方法,该方法通过 ●多数类样本 在数据中增加人工合成的少数类样本使类分布平 合成新样本 衡,降低了过拟合的可能性,提高了分类器在测 试集上的泛化性能。 SMOTE为解决不平衡问题提供了新的方向, 成为处理不平衡数据有效的预处理技术,并成功 地应用于许多不同领域。SMOTE促进了解决不 平衡分类问题方法的产生,同时为新的监督学习 范式做出了重大贡献,如多标签分类、增量学习 图1 SMOTE算法插值说明图 半监督学习以及多实例学习等的。许多研究人员 Fig.1 The interpolation illustration of SMOTE algorithm 根据SMOTE提出了改进的算法,以克服SMOTE 算法SMOTE算法 导致的过泛化等问题,从而提高不同应用背景下 输入少数类样本集T,向上采样倍率n,样 不平衡问题的分类模型性能。SMOTE方法已经 本近邻数k: 成为现阶段不平衡分类领域的热点技术之一。在 输出合成少数类样本集S。 CNKI库与Web of Science核心集中,以“SMOTE” 1)fori=1to T do 为关键词的近10年的发文数量总体呈逐年上升 2)计算x:的k个近邻样本并存人X.集合; 趋势,其中2018年CNKI发文量达到61篇,SCI 3)for /=1 to n do 发文量达到106篇。而以“SMOTE”和“不平衡数 4)从X体中随机选取样本x; 据”为联合关键词的近10年的发文数量总体也呈 5)生成0,1]之间的随机数y: 上升趋势,这种现象说明了SMOTE研究不平衡 6)利用公式(1)合成x与x:间新样本 数据分类问题的重要性。此外,SMOTE论文 xn的每个属性值xaew,am; 在SCI库中的引用频次逐年上升,尤其在2018年 7)将xw添加到集合S中。 达到644次。这些数据从另一种角度说明了 8)endfor SMOTE方法的重要性。 9)endfor 1 SMOTE原理 SMOTE是基于特征空间的一种过采样方法, 在少数类样本及其最近邻样本间合成新特征,然 SMOTE方法是Chawla等提出的应用于不 后组成新样本。SMOTE通过人工合成样本缓解 平衡问题的数据预处理技术。不同于随机过采样 了由随机复制样本引起的过拟合,并在许多领域 的简单复制样本机制,SMOTE通过线性插值的方 得到了广泛应用,但同时也存在一些问题。 法在两个少数类样本间合成新的样本,从而有效 ①合成样本的质量问题 缓解了由随机过采样引起的过拟合问题。 由SMOTE算法可知,新样本的合成取决于 SMOTE的基本原理通过图1进行说明。首 根样本与辅助样本的选择。若根样本与辅助样本 先从少数类样本中依次选取每个样本:作为合 均处于少数类区域,则合成的新样本被视为是合 成新样本的根样本;其次根据向上采样倍率n,从 理的。然而,若根样本与辅助样本中有一个属于 x:的同类别的k(k一般为奇数,如=5)个近邻样 噪声样本,则新样本将极有可能落在多数类区 本中随机选择一个样本作为合成新样本的辅助样 域,即新样本将会成为噪声而扰乱数据集的正确 本,重复n次:然后在样本x:与每个辅助样本间 分类,此时该新样本通常被视为不合理的。 通过式(1)进行线性插值,最终生成n个合成样本。 ②模糊类边界问题 Xnew attr Xiattr +(Xijarr -Xiatt)Xy (1) SMOTE算法在合成少数类样本时不考虑多
要有随机欠采样和随机过采样。随机欠采样是指 随机地移除部分多数类样本,但该方法可能会丢 失部分有用的信息,导致分类器性能下降。随机 过采样则是随机的复制少数类样本,使得数据的 类分布平衡,但该方法由于反复复制少数类样 本,增加了分类模型过拟合的可能性。为解决上 述问题,Chawla 等 [ 4 ] 提出了 SMOTE(synthetic minority oversampling technique) 方法,该方法通过 在数据中增加人工合成的少数类样本使类分布平 衡,降低了过拟合的可能性,提高了分类器在测 试集上的泛化性能。 SMOTE 为解决不平衡问题提供了新的方向, 成为处理不平衡数据有效的预处理技术,并成功 地应用于许多不同领域。SMOTE 促进了解决不 平衡分类问题方法的产生,同时为新的监督学习 范式做出了重大贡献,如多标签分类、增量学习、 半监督学习以及多实例学习等[5]。许多研究人员 根据 SMOTE 提出了改进的算法,以克服 SMOTE 导致的过泛化等问题,从而提高不同应用背景下 不平衡问题的分类模型性能。SMOTE 方法已经 成为现阶段不平衡分类领域的热点技术之一。在 CNKI 库与 Web of Science 核心集中,以“SMOTE” 为关键词的近 10 年的发文数量总体呈逐年上升 趋势,其中 2018 年 CNKI 发文量达到 61 篇,SCI 发文量达到 106 篇。而以“SMOTE”和“不平衡数 据”为联合关键词的近 10 年的发文数量总体也呈 上升趋势,这种现象说明了 SMOTE 研究不平衡 数据分类问题的重要性。此外,SMOTE 论文[4] 在 SCI 库中的引用频次逐年上升,尤其在 2018 年 达到 644 次。这些数据从另一种角度说明了 SMOTE 方法的重要性。 1 SMOTE 原理 SMOTE 方法是 Chawla 等 [4] 提出的应用于不 平衡问题的数据预处理技术。不同于随机过采样 的简单复制样本机制,SMOTE 通过线性插值的方 法在两个少数类样本间合成新的样本,从而有效 缓解了由随机过采样引起的过拟合问题。 xi xi xi SMOTE 的基本原理通过图 1 进行说明。首 先从少数类样本中依次选取每个样本 作为合 成新样本的根样本;其次根据向上采样倍率 n,从 的同类别的 k(k 一般为奇数,如 k=5) 个近邻样 本中随机选择一个样本作为合成新样本的辅助样 本,重复 n 次;然后在样本 与每个辅助样本间 通过式 (1) 进行线性插值,最终生成 n 个合成样本。 xnew,attr = xi,attr +(xi j,attr − xi,attr)×γ (1) xi ∈ R d xi,attr attr = 1,2,··· ,d γ xi j xi j = 1,2,··· k xnew xi j xi xnew xi j xi 其中 , 是少数类中第 i 个样本的第 attr 个属性值, ; 是 [0, 1] 之间的随机 数; 是样本 的第 j 个近邻样本, ; 代表在 与 之间合成的新样本。从式 (1) 可以看出,新样本 是在样本 与 之间插 值得到的样本,其具体算法如下所示。 算法 SMOTE 算法 输入 少数类样本集 T,向上采样倍率 n,样 本近邻数 k; 输出 合成少数类样本集 S。 1) for i = 1 to |T | do 2) 计算 xi 的 k 个近邻样本并存入 Xik 集合; 3) for l = 1 to n do 4) 从 Xik 中随机选取样本 xi j ; 5) 生成 [0, 1] 之间的随机数 γ ; xi j xi xnew xnew,attr 6) 利用公式 (1) 合成 与 间新样本 的每个属性值 ; 7) 将 xnew 添加到集合 S 中。 8) endfor 9) endfor SMOTE 是基于特征空间的一种过采样方法, 在少数类样本及其最近邻样本间合成新特征,然 后组成新样本。SMOTE 通过人工合成样本缓解 了由随机复制样本引起的过拟合,并在许多领域 得到了广泛应用,但同时也存在一些问题。 ① 合成样本的质量问题 由 SMOTE 算法可知,新样本的合成取决于 根样本与辅助样本的选择。若根样本与辅助样本 均处于少数类区域,则合成的新样本被视为是合 理的。然而,若根样本与辅助样本中有一个属于 噪声样本,则新样本将极有可能落在多数类区 域,即新样本将会成为噪声而扰乱数据集的正确 分类,此时该新样本通常被视为不合理的。 ② 模糊类边界问题 SMOTE 算法在合成少数类样本时不考虑多 xi xi1 xi2 xi3 xi4 xi5 少数类样本 多数类样本 合成新样本 xnew 图 1 SMOTE 算法插值说明图 Fig. 1 The interpolation illustration of SMOTE algorithm ·1074· 智 能 系 统 学 报 第 14 卷
第6期 石洪波,等:SMOTE过采样及其改进算法研究综述 ·1075· 数类样本的分布。如果SMOTE从处于类边界的 2 SMOTE的改进与扩展 少数类样本中合成新样本,其k近邻样本也处于 类的边界,则经插值合成的少数类样本同样会落 针对上述问题,不少学者开展了新的研究,旨 在两类的重叠区域,从而更加模糊两类的边界。 在提升SMOTE合成样本后数据的分类模型性 ③少数类分布问题 能。本文搜集并整理了SMOTE算法的主要相关 少数类样本分布不均匀,既有密集区也有稀 文献,并将其划分成SMOTE改进算法和其他方 疏区时,经SMOTE过采样合成的少数类样本根 法与SMOTE相结合的算法。 据近邻原则也会分布在相应的位置,即原少数类 2.1 SMOTE的改进算法 分布密集区经SMOTE后依然相对密集,而分布 多数SMOTE改进算法的关键在于根样本和 稀疏区依然相对稀疏,因此,分类算法不易识别 辅助样本的选择。由于根样本是少数类样本,如 稀疏区的少数类样本而影响分类的准确性。 果辅助样本分布在多数类周围时,则合成的新样 如果少数类样本分布稀疏且由若干碎片块组 本会加重两类的重叠。基于此,许多学者对SMOTE 成,即使采用SMOTE方法,生成的样本也极有可 做了相应的改进,以提高少数类的分类效果,部 能仍位于每个碎片块内,几乎不改变数据集的分 分经典的改进方法见表1。 布,导致识别稀疏区的样本更加困难。 表1 SMOTE改进算法 Table 1 The improved SMOTE algorithms 算法名 根样本 辅助样本 解决的问题 Borderline-SMOTE “Danger”类少数类样本 Danger'"类样本 ① Safe-Level-SMOTE 少数类样本 安全系数高的少数类样本 ①、② ADASYN 少数类样本 少数类样本 ① SMOM 少数类样本 安全方向的近邻样本 ①、② G-SMOTE 少数类样本 几何区域内的样本 ① 注:“解决的问题”见第1节,表2~表4的含义类似 Han等向只考虑分布在分类边界附近的少数 通过对辅助样本的选择,进而确定合成样本的位 类样本,并将其作为根样本,提出了Borderline- 置。SMOM算法通过给每个少数类样本:的 SMOTE方法。首先通过kNN方法将原始数据中 k个近邻方向分配不同的选择权重来改善SMOTE 的少数类样本划分成“Safe”、“Danger'”和Noise” 引起的过泛化问题,其中选择权重的大小代表沿 3类,其中“Danger'”类样本是指靠近分类边界的 该方向合成样本的概率,权重越大说明沿该方向 样本。根据SMOTE插值原理,对属于“Danger'” 合成的样本越安全。G-SMOTE算法o通过在每 类少数类样本进行过采样,可增加用于确定分类 个选定的少数类样本周围的几何区域内生成人工 边界的少数类样本。Safe-Level-SMOTE算法m则 样本,加强了SMOTE的数据生成机制。 关注SMOTE带来的类重叠问题,在合成新样本 2.2欠采样与SMOTE结合的方法 前分别给每个少数类样本分配一个安全系数,新 数据集中存在噪声样本时,采用SMOTE过 合成的样本更加接近安全系数高的样本,从而保 采样会加剧两类样本的重叠,从而影响该数据集 证新样本分布在安全区域内。ADASYN算法[I 的分类效果。文献[11-12]的实验结果表明,混合 根据少数类样本的分布自适应地改变不同少数类 采样后数据的分类模型性能往往优于单个采样方 样本的权重,自动地确定每个少数类样本需要合 法。融合欠采样和过采样的混合采样成为改进 成新样本的数量,为较难学习的样本合成更多的 SMOTE方法的一种新的思路,本文介绍了部分经 新样本,从而补偿偏态分布。SMOM算法是Zhu 典的融合算法,如表2所示。 等]为多类不平衡问题提出的一种过采样技术
数类样本的分布。如果 SMOTE 从处于类边界的 少数类样本中合成新样本,其 k 近邻样本也处于 类的边界,则经插值合成的少数类样本同样会落 在两类的重叠区域,从而更加模糊两类的边界。 ③ 少数类分布问题 少数类样本分布不均匀,既有密集区也有稀 疏区时,经 SMOTE 过采样合成的少数类样本根 据近邻原则也会分布在相应的位置,即原少数类 分布密集区经 SMOTE 后依然相对密集,而分布 稀疏区依然相对稀疏,因此,分类算法不易识别 稀疏区的少数类样本而影响分类的准确性。 如果少数类样本分布稀疏且由若干碎片块组 成,即使采用 SMOTE 方法,生成的样本也极有可 能仍位于每个碎片块内,几乎不改变数据集的分 布,导致识别稀疏区的样本更加困难。 2 SMOTE 的改进与扩展 针对上述问题,不少学者开展了新的研究,旨 在提升 SMOTE 合成样本后数据的分类模型性 能。本文搜集并整理了 SMOTE 算法的主要相关 文献,并将其划分成 SMOTE 改进算法和其他方 法与 SMOTE 相结合的算法。 2.1 SMOTE 的改进算法 多数 SMOTE 改进算法的关键在于根样本和 辅助样本的选择。由于根样本是少数类样本,如 果辅助样本分布在多数类周围时,则合成的新样 本会加重两类的重叠。基于此,许多学者对 SMOTE 做了相应的改进,以提高少数类的分类效果,部 分经典的改进方法见表 1。 表 1 SMOTE 改进算法 Table 1 The improved SMOTE algorithms 算法名 根样本 辅助样本 解决的问题 Borderline-SMOTE “Danger”类少数类样本 “Danger”类样本 ① Safe-Level-SMOTE 少数类样本 安全系数高的少数类样本 ①、② ADASYN 少数类样本 少数类样本 ① SMOM 少数类样本 安全方向的近邻样本 ①、② G-SMOTE 少数类样本 几何区域内的样本 ① 注:“解决的问题”见第1节,表2~表4的含义类似 Han 等 [6] 只考虑分布在分类边界附近的少数 类样本,并将其作为根样本,提出了 Borderline - SMOTE 方法。首先通过 k-NN 方法将原始数据中 的少数类样本划分成“Safe”、“Danger”和“Noise” 3 类,其中“Danger”类样本是指靠近分类边界的 样本。根据 SMOTE 插值原理,对属于“Danger” 类少数类样本进行过采样,可增加用于确定分类 边界的少数类样本。Safe-Level-SMOTE 算法[7] 则 关注 SMOTE 带来的类重叠问题,在合成新样本 前分别给每个少数类样本分配一个安全系数,新 合成的样本更加接近安全系数高的样本,从而保 证新样本分布在安全区域内。ADASYN 算法[8] 根据少数类样本的分布自适应地改变不同少数类 样本的权重,自动地确定每个少数类样本需要合 成新样本的数量,为较难学习的样本合成更多的 新样本,从而补偿偏态分布。SMOM 算法是 Zhu 等 [9] 为多类不平衡问题提出的一种过采样技术, xi 通过对辅助样本的选择,进而确定合成样本的位 置。SMOM 算法通过给每个少数类样本 的 k 个近邻方向分配不同的选择权重来改善 SMOTE 引起的过泛化问题,其中选择权重的大小代表沿 该方向合成样本的概率,权重越大说明沿该方向 合成的样本越安全。G-SMOTE 算法[10] 通过在每 个选定的少数类样本周围的几何区域内生成人工 样本,加强了 SMOTE 的数据生成机制。 2.2 欠采样与 SMOTE 结合的方法 数据集中存在噪声样本时,采用 SMOTE 过 采样会加剧两类样本的重叠,从而影响该数据集 的分类效果。文献 [11-12] 的实验结果表明,混合 采样后数据的分类模型性能往往优于单个采样方 法。融合欠采样和过采样的混合采样成为改进 SMOTE 方法的一种新的思路,本文介绍了部分经 典的融合算法,如表 2 所示。 第 6 期 石洪波,等:SMOTE 过采样及其改进算法研究综述 ·1075·
·1076· 智能系统学报 第14卷 表2欠采样与SMOTE结合的方法 Table 2 Methods combining undersampling with SMOTE 算法名 欠采样方法 过采样方法 解决的问题 AdaBoost-SVM-MSA 直接删除法、约除法 SMOTE ①、② BDSK 基于k-means欠采样 SMOTE ① BMS OSED随机欠采样 SMOTE ①、③ OSSU-SMOTEO oSS SMOTE ①、② Hybrid Sampling DBSCAN、KNN欠采样 SMOTE ①、② SDS-SMOT SDS SMOTE ② SVM-HS 直接删除法 SMOTE ① AdaBoost--SVM-MSA算法I)按一定规则将 在预测蛋白质s-磺酰化位点的分类精度。文献 SVM分错的样本划分成噪声样本、危险样本与安 [I8]的Hybrid Sampling使用DBSCAN和KNN剔 全样本,然后直接删除噪声样本,采用约除法处 除多数类中的模糊样本;然后采用SMOTE对重 理危险样本,并对安全样本进行SMOTE过采 叠区域的少数类样本过采样,达到平衡数据集的 样。基于聚类的混合采样(BDSK)将SMOTE 日的。SDS-SMOT算法11利用安全双筛选丢弃 的过采样与基于K-means的欠采样相结合,旨在 远离决策边界的多数类样本和噪声样本,实现原 扩大少数类样本集的同时有效别除噪声样本。 始数据集的欠采样,采用SMOTE合成新样本实 BMS算法1通过设置变异系数阈值将样本划分 现过采样,使数据集达到基本平衡。基于SVM 成边界域和非边界域,然后使用SMOTE以及基 分类超平面的混合采样算法(SVM HS)分别对多 于欧氏距离的随机欠采样方法(OSED)6分别对 数类样本和较为重要的少数类样本进行欠采样和 边界域的少数类样本和非边界域的多数类样本进 过采样从而平衡数据集。 行采样,旨在解决在剔除噪声时由于误删少数类 2.3过滤技术与SMOTE结合的方法 样本而丢失部分样本信息的问题。OSSU-SMOTEO 混合采样是克服不平衡问题中噪声样本的一 算法叨使用单边选择(OSS)欠采样移除多数类样 种手段,然而结合噪声过滤技术同样可以消除由 本中冗余样本和边界样本,然后采用SMOTE对 SMOTE合成的错误样本,如表3所示。常见的过 少数类样本过采样,从而平衡数据集,提高SVM 滤技术包括基于粗糙集的过滤、数据清洗等。 表3过滤技术与SMOTE结合的方法 Table 3 Methods combining filtering technique with 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 SMOTE ② Ramentol等2)将粗糙集理论的编辑技术与 采样方法对噪声样本的鲁棒性。NN-FRIS-SMOTE SMOTE算法融合,提出了SMOTE-RSB*算法。 算法则先筛选出代表性的样本,再使用模糊粗 SMOTE-IPF算法22采用迭代分区滤波器(iterat-- 糙实例选择(RSIS)技术过滤噪声样本,然后使用 ive-partitioning filter,IPF)将噪声过滤器与 SMOTE过采样少数类样本,从而增加了正确识别 SMOTE融合,旨在克服不平衡问题中的噪声和边 产品缺陷的可能性。基于数据清洗的过滤算法中 界问题。BST-CF算法2)将SMOTE与噪声过滤 典型的有SMOTE-Tomek和SMOTE-ENN算 器CF(classification filter)结合,在平衡数据集的同 法2a,SMOTE-Tomek利用SMOTE对原始数据过 时,从多数类中消除位于边界区域的噪声样本。 采样来扩大样本集,移除采样后数据集中的Tome SSMNFOS算法2是一种基于随机灵敏度测量 Link对,从而删除类间重叠的样本,其中Tome (SSM)的噪声过滤和过采样的方法,从而提高过 Link对是指分属不同类别且距离最近的一对样
表 2 欠采样与 SMOTE 结合的方法 Table 2 Methods combining undersampling with 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 ① AdaBoost-SVM-MSA 算法[13] 按一定规则将 SVM 分错的样本划分成噪声样本、危险样本与安 全样本,然后直接删除噪声样本,采用约除法处 理危险样本,并对安全样本进行 SMOTE 过采 样。基于聚类的混合采样 (BDSK)[14] 将 SMOTE 的过采样与基于 K-means 的欠采样相结合,旨在 扩大少数类样本集的同时有效剔除噪声样本。 BMS 算法[15] 通过设置变异系数阈值将样本划分 成边界域和非边界域,然后使用 SMOTE 以及基 于欧氏距离的随机欠采样方法 (OSED)[16] 分别对 边界域的少数类样本和非边界域的多数类样本进 行采样,旨在解决在剔除噪声时由于误删少数类 样本而丢失部分样本信息的问题。OSSU-SMOTEO 算法[17] 使用单边选择 (OSS) 欠采样移除多数类样 本中冗余样本和边界样本,然后采用 SMOTE 对 少数类样本过采样,从而平衡数据集,提高 SVM 在预测蛋白质 s-磺酰化位点的分类精度。文献 [18] 的 Hybrid Sampling 使用 DBSCAN 和 KNN 剔 除多数类中的模糊样本;然后采用 SMOTE 对重 叠区域的少数类样本过采样,达到平衡数据集的 目的。SDS-SMOT 算法[19] 利用安全双筛选丢弃 远离决策边界的多数类样本和噪声样本,实现原 始数据集的欠采样,采用 SMOTE 合成新样本实 现过采样,使数据集达到基本平衡。基于 SVM 分类超平面的混合采样算法 (SVM_HS) 分别对多 数类样本和较为重要的少数类样本进行欠采样和 过采样从而平衡数据集[20]。 2.3 过滤技术与 SMOTE 结合的方法 混合采样是克服不平衡问题中噪声样本的一 种手段,然而结合噪声过滤技术同样可以消除由 SMOTE 合成的错误样本,如表 3 所示。常见的过 滤技术包括基于粗糙集的过滤、数据清洗等。 表 3 过滤技术与 SMOTE 结合的方法 Table 3 Methods combining filtering technique with 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 SMOTE ② Ramentol 等 [21] 将粗糙集理论的编辑技术与 SMOTE 算法融合,提出了 SMOTE-RSB*算法。 SMOTE-IPF 算法[22] 采用迭代分区滤波器 (iterative-partitioning filter, IPF) 将噪声过滤器与 SMOTE 融合,旨在克服不平衡问题中的噪声和边 界问题。BST-CF 算法[23] 将 SMOTE 与噪声过滤 器 CF(classification filter) 结合,在平衡数据集的同 时,从多数类中消除位于边界区域的噪声样本。 SSMNFOS 算法[24] 是一种基于随机灵敏度测量 (SSM) 的噪声过滤和过采样的方法,从而提高过 采样方法对噪声样本的鲁棒性。NN-FRIS-SMOTE 算法[25] 则先筛选出代表性的样本,再使用模糊粗 糙实例选择 (RSIS) 技术过滤噪声样本,然后使用 SMOTE 过采样少数类样本,从而增加了正确识别 产品缺陷的可能性。基于数据清洗的过滤算法中 典型的有 SMOTE-Tomek 和 SMOTE-ENN 算 法 [26] ,SMOTE-Tomek 利用 SMOTE 对原始数据过 采样来扩大样本集,移除采样后数据集中的 Tome Link 对,从而删除类间重叠的样本,其中 Tome Link 对是指分属不同类别且距离最近的一对样 ·1076· 智 能 系 统 学 报 第 14 卷
第6期 石洪波,等:SMOTE过采样及其改进算法研究综述 ·1077· 本,这类样本通常位于类间或者是噪声样本。 另一种思路,其主要策略通常有两种:一是直接 SMOTE-ENN则是通过对采样后的数据集采用k 采用聚类算法将少数类样本划分成多个簇,在簇 NN方法分类,进而剔除判错的样本。 内进行插值;二是利用聚类算法识别样本类型, 2.4聚类算法与SMOTE结合的方法 对不同类型的样本采用不同的方式处理,然后再 聚类算法和SMOTE结合是调整数据分布的 使用SMOTE进行过采样,部分算法如表4所示。 表4聚类算法与SMOTE结合的方法 Table 4 Methods combining clustering algorithm with SMOTE 算法名 聚类算法 策略 解决的问题 MWMOTE 平均连接聚合聚类 簇内插值 ③ FCMSMT FCM 簇内插值 ③ K-means SMOTE K-means 簇内插值 ① CB-SMOTE FCM 识别边界样本 ① CURE-SMOTE CURE 识别噪声样本 ①、② HPM DBSCAN 识别噪声样本 ①、② IDP-SMOTE Improved-DP 识别噪声样本 ①、③ MWMOTE算法2按照与多数类样本的距离 见的做法是在分类前使用现有的技术对数据进行 对难以学习的少数类样本分配权重,采用聚类算 降维,然后在新的维度空间下学习。常见的降维 法从加权的少数类样本合成样本,从而保证这些 技术有主成分分析(PCA)Bs1、特征选择、Bag 新样本位于少数类区域内。对于多类不平衡问 ging、内核函数(kernel functions)升、流形技术 题,FCMSMT算法2]使用模糊C均值(FCM0对 (manifold techniques)31和自动编码器(auto-en- 样本多的目标类聚类,选出与平均样本数相同数 coders))9等。 量的样本,而对样本少的目标类使用SMOTE过 Li等[o1提出了基于LASSO的特征选择模 采样,从而降低类内与类间的错误,提高分类性 型,首先使用特征选择和其他方法删除数据中冗 能。K-means SMOTE算法2利用K-means对输 余和不相关的特征,然后采用基于LASSO的特征 入数据集聚类,在少数类样本多的簇内进行SMOTE 权重选择模型增加关键数据的权重,再利用SM- 过采样,从而避免噪声的生成,有效改善类间不 OTE平衡数据集,从而有效消除高维数据中噪声 平衡。 和不相关数据。Zhang等a通过改进的SVM CB-SMOTE算法Bo根据“聚类一致性系数”找 RFE算法(SVM-BRFE)对高维数据进行特征选 出少数类的边界样本,再根据最近邻密度删除噪 择,并采用改进的重采样PBKS算法对不平衡数 声样本,同时确定合成样本的数量,然后从这些 据进行过采样,提出了针对高维不平衡数据二分 边界样本中人工合成新样本。CURE-SMOTE算 类的BRFE-PBKS-SVM算法。在处理高维不平衡 法BJ采用CURE(clustering using representatives) 的医疗数据时,许召召等到将SMOTE与Filter-. 对少数类样本聚类并移除噪声和离群点,然后使 Wrapper特征选择算法相融合,并将其应用于支 用SMOTE在代表性样本和中心样本间插值以平 持临床医疗决策。Guo等4,使用基于随机森林 衡数据集。HPM算法B通过整合DBSCAN的离 (RF)的特征选择方法降低计算复杂度,然后通过 群检测、SMOTE和随机森林,从而成功预测糖尿 结合SMOTE和Tomek Link的重采样平衡数据 病和高血压疾病。IDP-SMOTE算法B利用改进 集,从而提高膜蛋白预测的准确性。 的密度峰值聚类算法(improved-DP)对各个类进 3.2面向回归问题的SMOTE 行聚类,识别并剔除噪声样本,然后采用自适应 不平衡数据的回归问题是指预测连续目标变 的方法对每个少数类样本进行SMOTE过采样。 量的罕见值的问题。目标变量为离散值的不平衡 3面向特定应用背景的SMOTE 分类问题一直以来得到了深入的研究,而不平衡 回归问题的研究成果却少之又少。回归问题可以 3.1面向高维数据的SMOTE 分为两类:传统回归与序数回归。 高维不平横数据中的数据分布稀疏、特征冗 传统回归是指在不考虑数据集有序特性的情 余或特征不相关等问题是影响传统学习算法难以 况下,对连续型目标变量的预测问题。SMOTER 识别少数类样本的原因。SMOTE在处理这类问 算法4]是处理不平衡回归数据的一种改进的 题时效果甚至不如随机欠采样方法,而目前常 SMOTE过采样方法,通过人为给定的阈值将极少
本,这类样本通常位于类间或者是噪声样本。 SMOTE-ENN 则是通过对采样后的数据集采用 kNN 方法分类,进而剔除判错的样本。 2.4 聚类算法与 SMOTE 结合的方法 聚类算法和 SMOTE 结合是调整数据分布的 另一种思路,其主要策略通常有两种:一是直接 采用聚类算法将少数类样本划分成多个簇,在簇 内进行插值;二是利用聚类算法识别样本类型, 对不同类型的样本采用不同的方式处理,然后再 使用 SMOTE 进行过采样,部分算法如表 4 所示。 表 4 聚类算法与 SMOTE 结合的方法 Table 4 Methods combining clustering algorithm with SMOTE 算法名 聚类算法 策略 解决的问题 MWMOTE 平均连接聚合聚类 簇内插值 ③ FCMSMT FCM 簇内插值 ③ K-means SMOTE K-means 簇内插值 ① CB-SMOTE FCM 识别边界样本 ① CURE-SMOTE CURE 识别噪声样本 ①、② HPM DBSCAN 识别噪声样本 ①、② IDP-SMOTE Improved-DP 识别噪声样本 ①、③ MWMOTE 算法[27] 按照与多数类样本的距离 对难以学习的少数类样本分配权重,采用聚类算 法从加权的少数类样本合成样本,从而保证这些 新样本位于少数类区域内。对于多类不平衡问 题,FCMSMT 算法[28] 使用模糊 C 均值 (FCM) 对 样本多的目标类聚类,选出与平均样本数相同数 量的样本,而对样本少的目标类使用 SMOTE 过 采样,从而降低类内与类间的错误,提高分类性 能。K-means SMOTE 算法[29] 利用 K-means 对输 入数据集聚类,在少数类样本多的簇内进行 SMOTE 过采样,从而避免噪声的生成,有效改善类间不 平衡。 CB-SMOTE 算法[30] 根据“聚类一致性系数”找 出少数类的边界样本,再根据最近邻密度删除噪 声样本,同时确定合成样本的数量,然后从这些 边界样本中人工合成新样本。CURE-SMOTE 算 法 [31] 采用 CURE(clustering using representatives) 对少数类样本聚类并移除噪声和离群点,然后使 用 SMOTE 在代表性样本和中心样本间插值以平 衡数据集。HPM 算法[32] 通过整合 DBSCAN 的离 群检测、SMOTE 和随机森林,从而成功预测糖尿 病和高血压疾病。IDP-SMOTE 算法[33] 利用改进 的密度峰值聚类算法 (improved-DP) 对各个类进 行聚类,识别并剔除噪声样本,然后采用自适应 的方法对每个少数类样本进行 SMOTE 过采样。 3 面向特定应用背景的 SMOTE 3.1 面向高维数据的 SMOTE 高维不平横数据中的数据分布稀疏、特征冗 余或特征不相关等问题是影响传统学习算法难以 识别少数类样本的原因。SMOTE 在处理这类问 题时效果甚至不如随机欠采样方法[34] ,而目前常 见的做法是在分类前使用现有的技术对数据进行 降维,然后在新的维度空间下学习。常见的降维 技术有主成分分析 (PCA)[ 3 5 ] 、特征选择、Bagging[36] 、内核函数 (kernel functions)[37] 、流形技术 (manifold techniques)[38] 和自动编码器 (auto-encoders)[39] 等。 Li 等 [40] 提出了基于 LASSO 的特征选择模 型,首先使用特征选择和其他方法删除数据中冗 余和不相关的特征,然后采用基于 LASSO 的特征 权重选择模型增加关键数据的权重,再利用 SMOTE 平衡数据集,从而有效消除高维数据中噪声 和不相关数据。Zhang 等 [41] 通过改进的 SVMRFE[42] 算法 (SVM-BRFE) 对高维数据进行特征选 择,并采用改进的重采样 PBKS 算法对不平衡数 据进行过采样,提出了针对高维不平衡数据二分 类的 BRFE-PBKS-SVM 算法。在处理高维不平衡 的医疗数据时,许召召等[43] 将 SMOTE 与 FilterWrapper 特征选择算法相融合,并将其应用于支 持临床医疗决策。Guo 等 [44] 使用基于随机森林 (RF) 的特征选择方法降低计算复杂度,然后通过 结合 SMOTE 和 Tomek Link 的重采样平衡数据 集,从而提高膜蛋白预测的准确性。 3.2 面向回归问题的 SMOTE 不平衡数据的回归问题是指预测连续目标变 量的罕见值的问题。目标变量为离散值的不平衡 分类问题一直以来得到了深入的研究,而不平衡 回归问题的研究成果却少之又少。回归问题可以 分为两类:传统回归与序数回归。 传统回归是指在不考虑数据集有序特性的情 况下,对连续型目标变量的预测问题。SMOTER 算法[ 4 5 ] 是处理不平衡回归数据的一种改进的 SMOTE 过采样方法,通过人为给定的阈值将极少 第 6 期 石洪波,等:SMOTE 过采样及其改进算法研究综述 ·1077·