目录
Paper Reading 是从个人角度进行的一些总结分享,受到个人关注点的侧重和实力所限,可能有理解不到位的地方。具体的细节还需要以原文的内容为准,博客中的图表若未另外说明则均来自原文。
论文概况 | 详细 |
---|---|
标题 | 《Model-Based Synthetic Sampling for Imbalanced Data》 |
作者 | Chien-Liang Liu, Po-Yen Hsieh |
发表期刊 | IEEE Transactions on Knowledge and Data Engineering(TKDE) |
发表年份 | 2020 |
期刊等级 | 中科院 SCI 期刊分区(2022年12月最新升级版)2 区,CCF-A |
论文代码 | https://github.com/b10071007/Model-Based-Synthetic-Sampling |
研究动机
不平衡数据的特征是不同类别的样本数量严重失衡,这种情况广泛出现在现实世界的很多领域中。分类器从不平衡数据中学习时预测性能往往会显著下降,这是因为不平衡问题会使分类决策偏向多数类。虽然已经有许多处理不平衡数据的方法被提出,但在大多数情况下它们很难推广到稳定的改进。抽样方法是最广泛使用的方法之一,它的缺点是数据样本的增加或减少没有考虑底层数据分布,还可能会导致过拟合问题。
文章贡献
针对不平衡数据问题,本文提出了一种基于模型的综合抽样(MBS)方法,从一个新的角度对少数类实例进行过采样。MBS 是一种过采样算法,目标是生成能够捕捉少数类训练样本特征之间关系的合成样本,同时保持数据样本的可变性。首先利用回归模型捕获少数类样本的特征趋势,接着通过对可用特征值进行采样生成临时数据样本,最后通过构建的模型将临时数据样本转换为合成数据。实验将 MBS 与几种方法进行了比较,实验结果表明,所提出的方法具有较好的效果和较高的稳定性。
本文方法
本文的基于模型的合成采样(MBS)的目标是生成保留原始数据特征的合成数据,主要通过建立模型来学习特征之间的关系实现。MBS 包括三个步骤:训练特征模型、采样特征生成临时采样数据、生成最终合成数据。首先假设特征之间存在可以用回归模型表征的关系,进而促进最终合成样本的生成。第二步随机生成临时采样数据,增加合成数据的多样性。实现时,本文使用线性和非线性回归模型作为特征模型。
训练特征模型
本文使用基于模型的方法来找到特征之间的关系,也就是使用其中一个特征作为标签,剩下的特征作为新特征向量的元素组成一个新的训练样本。例如下表中的数据集有 F1~F10 共 10 个特征,则训练模型 1 时将标签设置为 F1,其余特征为数据样本在训练过程中的特征。以此类推可以得到 10 个模型,此处的目标是通过建模来捕获少数类样本中特征之间的关系,然后使用学习到的模型来调整临时合成数据。
生成临时采样数据
使用带替换的采样技术来生成初始合成数据,也就是假设第一个特征在原始数据集中出现过的值集为 V={v1,v2,…,vn},则对于一个合成样本就从 V 中随机采样一个 vi 作为第一个特征,以此类推得到所有特征。例如下图的数据集中有 10 个特征,每个特征的可能值的数量都是 7。特征采样过程完成后获得临时数据样本,这种方式可以增加合成数据的多样性。
生成最终的合成数据
最后以临时合成数据样本作为输入,使用特征模型来预测最终合成数据的特征。最后一步的目的是使合成数据模拟真实观测值所具有的特征关系。例如下图所示,最终合成数据的特征 F1 是将临时采样得到的特征 F2-F10 作为输入,由模型 1 训练后得到的值作为合成数据的最终特征。按照相同的过程获得最终合成数据的剩余特征,实现时作者将该过程重复了 5 次,并进行了实验来分析迭代次数对性能的影响。
实验结果
数据集和实验设置
本文在 13 个数据集上进行了实验,实验的评价指标是 AUC,数据集的具体信息如下表所示。对比算法有:随机过采样、随机欠采样、SMOTE、borderline-Smote1、borderline-Smote2、saflevel-SMOTE、ADASYN、基于簇的过采样、基于聚类的欠采样。
抽样方法属于随机过程,分割训练集和测试集的随机种子不同、执行抽样方法的随机种子不同时,可能导致实验结果不稳定。本文在实验中使用 10 种不同的种子将数据拆分为训练集和测试集,并使用另外 10 种不同的种子执行采样方法。这样每种方法可以得到 10 个性能结果,对它们去平均值作为此分割的结果,然后将 10 次拆分的性能取平均值,得到每种方法的最终结果。
本文提出的方法和对比的方法都是数据级算法,因此实验使用逻辑回归作为分类器。实验的数据集都是数值特征,所以特征模型选择回归模型。实验共采用了 3 种回归模型,主要包括线性回归、CART、带有径向基函数的 SVR。
对于超参数而言,将过采样率设置为 100%、将欠采样率设置为 50%、SMOTE 方法的 k 设置为 5,borderline-Smote、saflevel-SMOTE 和 ADASYN 的安全等级设为5。
实验结果
实验数据中的 baseline 是不使用抽样方法,仅使用原始数据来训练模型得出的结果。实验结果由下表展示,采用线性特征模型 MBS 的方法总体上优于其他方法。
下表展示了所有方法的性能排名,结果表明 MBS_linear 表现最佳,而以 CART 和 SVR 作为特征模型的方法在大多数数据集上表现不佳。
下图是选择两个数据集,用柱状图表示不同采样方法下 AUC 的平均值和 95% 置信区间。实验结果表明与竞争方法相比,MBS_linear 方法具有较高的 AUC 均值和较窄的 AUC 置信区间,是一种有效且稳定的方法。
Wilcoxon sign-rank检验是一种非参数统计假设检验,用于评估两个配对样本的总体平均秩是否不同。下表的结果表明,MBS_linear 显著优于其他方法。
消融实验
该方法的第一步是构建特征模型来识别特征之间的关系,本文检验了特征模型是否有利于后续的分类模型,也就是只对特征进行采样来增加数据样本的数量作为 baseline 进行对比。
第二步是对每个特征进行采样,本文利用以下 3 种不同的采样方案与本文方法进行比较:
- 带有随机生成器的 MBS:从高斯分布中随机采样特征值以构建临时采样数据。
- 对每个样本进行抽样的 MBS:不使用特征抽样,而是数据级抽样来增加数据样本的数量。
- 无抽样 MBS:直接使用原始数据,不抽样创建临时抽样数据。
实验结果和各个变体的排名如下表所示,实验结果表明 MBS 总体上优于不对特征建立模型,分类时可以从特征模型中获益。同时 MBS 优于另外 3 种采样策略,表明对每个特征进行采样是提高性能的有效步骤。
最后一步是迭代预测特征,本文进行了实验观察不同迭代次数下性能的变化。下图显示了不同迭代次数的四个数据集上的平均 AUC,实验结果表明随着迭代次数的增加,该方法的性能稳定。
结果可视化
本文通过 PCA 将原始数据点投影到二维空间中呈现可视化结果。传统的 SMOTE 考虑的是少数数据之间的成对关系,属于局部信息,MBS 通过对所有少数数据建模来考虑全局关系。
SMOTE 还存在过度泛化问题,下图所示 SMOTE 的合成数据是特征空间上的深绿色点,和原始数据点相比,少量的合成样本位于大类数据区域。saflevel-SMOTE 生成的样本也出现在大类数据区域,borderline- smote1 和 borderline- smote2,确实生成了靠近边界的合成数据,但也生成了少量的点位于其他区域。MBS 生成的合成数据接近边界或稍微接近大部分的少类数据,同时 MBS 的合成样本较少出现于大多数数据的区域。
和集成学习相结合
集成学习也被广泛用于处理不平衡问题,本文进一步将 MBS 与 boosting 技术相结合,设计了 MBSBoost 的方法。该方法以 AdaBoost 来集成,在模型训练的每次迭代中,使用 MBS 来增加少数派样本。
接着将 MBSBoost 与 RUSBoost 和 UnderBagging 进行了比较。实验结果下表所示,结果表明 MBSBoost 在这 13 个数据集上运行良好且稳定。
对非线性特征模型的影响
非线性模型通常需要更多的训练样本和调参来拟合,此处通过实验来验证 MBS 中使用非线性回归模型时训练样本数量是否是一个重要因素。实验中对少数样本设置了不同的比例,分别是:100%、80%、60%、40% 和 20%,选择 SVR 作为非线性特征模型与 baseline、线性特征模型进行比较。
实验结果如下图所示,结果表明少数训练样本数量对非线性和线性特征模型的性能都有影响,但对线性模型的影响远小于非线性模型。线性模型和非线性模型的性能差距随着可用的少数训练样本的增加而减小,随着从训练集中移除更多样本而增大。
特征关系对合成样本的影响
此处设计了一个实验来讨论特征关系对合成样品的影响,首先假设每个数据样本包含两个特征,从两个高斯分布中对模拟样本进行特征采样。下图中蓝色的点代表原始样本,红色的点是合成样本。
第一种情况假设两个特征是独立的,第二种情况假设两个特征呈正相关。在左图中,采样点的散点图与原始数据样本的散点图是一致的,因为原始数据样本的特征是独立的。相反当忽略特征的相关性时,右图中生成的合成样本是不合理的,因为合成点倾向于出现在两个高斯分布的中心,许多合成点位于低密度区域。
因此在生成合成样本时考虑特征关系是很重要的,本工作提出使用线性回归来捕获特征的趋势。
优点和创新点
个人认为,本文有如下一些优点和创新点可供参考学习:
- 本文没有采用传统的一些过采样方式,而是使用多个模型拟合不同的特征,感觉很有新意。除了用于不平衡问题,对于需要捕获特征之间的关系的问题也可以参考这个做法;
- 在合成数据时涉及到了采样,此处是对特征进行采样后用特征模型进行样本生成,增加合成数据集的多样性的同时没有造成数据缺失;
- 实验数据丰富有力,从多个不同的方面来评价本文提出的算法的优势并做了很多的讨论,说服力强。