目录
Paper Reading 是从个人角度进行的一些总结分享,受到个人关注点的侧重和实力所限,可能有理解不到位的地方。具体的细节还需要以原文的内容为准,博客中的图表若未另外说明则均来自原文。
论文概况 | 详细 |
---|---|
标题 | 《Sample and feature selecting based ensemble learning for imbalanced problems》 |
作者 | Zhe Wang, Peng Jia, Xinlei Xu, Bolu Wang, Yujin Zhu, Dongdong Li |
发表期刊 | Applied Soft Computing |
发表年份 | 2021 |
期刊等级 | 中科院 SCI 期刊分区(2022年12月最新升级版)2 区 |
论文代码 | 文中未公开 |
作者单位:
- Key Laboratory of Smart Manufacturing in Energy Chemical Process, Ministry of Education, East China University of Science and Technology, Shanghai, 200237, China
- Department of Computer Science and Engineering, East China University of Science and Technology, Shanghai, 200237, China
研究动机
如果数据集中至少其中一个类的实例数量明显少于其他类,则训练数据集被称为不平衡,在实践中样本较少的类通常承担更大的误分类风险。不平衡问题通常对传统方法来说是严峻的挑战,因为负样本可能使分类器无法学习正确的数据分布知识。集成学习算法是解决不平衡问题的常用而有效的方法,其中的 Boosting 类型的算法通常可以实现更高的准确率。然而在这些方法的训练过程中,当前迭代所使用的训练数据的分布是根据上一次迭代的结果进行调整的,因此基于 Boosting 的方法无法并行运行,从而导致昂贵的时间成本。基于 Bagging 的方法更容易实现并且可以并行,但是这些方法的性能不稳定。
文章贡献
为了克服现有集成方法的缺点,本文提出一种新的混合集成策略——样本和特征选择混合集成学习 SFSHEL。SFSHEL 考虑基于聚类的分层对大多数样本进行欠采样,并采用滑动窗口机制同时生成多样性的特征子集。然后将经过验证训练的权重分配给不同的基学习器,最后 SFSHEL 通过加权投票进行预测。SFSHEL 不仅可以保证可接受的性能,还可以节省计算时间。在实践中采用随机森林作为 SFSHEL 的基学习器,简称为 SFSHEL-RF。实验表明所提出的 SFSHEL-RF 在部分 KEEL 数据集上的平均性能达到 91.37%,与之前最好的 ECUBoost-RF 方法相当,并且高于其他方法。在真实数据集上,SFSHEL-RF 的表现可以稳定达到 3 项指标前三名的水平。
本文方法
基于聚类的分层随机欠采样
本文使用 CSRUS 重采样策略,流程如下伪代码所示,该策略主要有两个改进。首先是使用超参数 rs 来协调欠采样的比例,rs 的取值范围为 0~IR-1,当 rs=0 时 CSRUS 将选择相同数量的负样本作为正样本,当 rs=IR−1 时 CSRUS 不进行欠采样。
第二是在 CSRUS 中使用了基于聚类的分层欠采样方法,也就是先将多数类样本聚为 kcluster 组,然后根据 rs 进行分层选择,这样做能或多或少保留了多数类样本的空间分布信息。
例如如果 kcluster=3, rs=0.5, Nneg = 1000,聚类生成的组的大小分别为 NG1=100, NG2=300, NG3=600,则获得每组中所选样本的比例按如下表达式给出。即从第一个聚类组 G1 中抽取 67 个样本,G2 中抽取 200 个样本,G3 中抽取 400 个样本,而不是直接随机抽取整个聚类组中的 667 个样本。
特征选择
本文的特征选择方法称为 SWFSS,其工作流程如下伪代码所示,主要思想是每个基分类器仅丢弃特征的一个方面来保证多样性。SWFSS 设计了一个滑动窗口来拾取丢弃的特征,在极端情况下如果窗口的步幅和大小都固定为 1,则滑动窗口将退化为“留一”思想。
例如有一个具有 9 个特征的数据集,其特征可能分为三组:(f1,f2,f3)、(f4,f5) 和 (f6,f7,f8,f9),在所使用的集成方法的每个基分类器训练时 SWFSS 将丢弃一个组并保留其余组。同时如果训练时有验证的步骤,则可以度量每个特征的重要性并对其进行加权。
样本和特征选择的集成学习
CSRUS 和 SWFSS 都可以独立使用,因此可以使用验证和测试流程将它们结合到一个策略中,该策略被称为样本和特征选择混合集成学习 SFSHEL。SFSHEL 的步骤如下表所示,训练时 CSRUS 和 SWFSS 会一起使用,在验证或测试过程中只进行特征选择。在验证过程中会将权重 wival,jval 从 0 到 1 赋予相应的基分类器 Lival,jval,验证时的预测结果越好则会赋予更大的权重,测试时样本会根据基分类器的权重通过加权投票策略确定最终的标签。
为 CSRUS 或 SWFSS 定义不同的迭代次数 Ts 或 Tf 会得到不同的结果,更多的迭代次数可能使 SWFSS 的性能更稳定,但需要更多的训练时间。SWFSS 具有以下几个特点:
- CSRUS 和 SWFSS 都可以为基分类器提供样本和特征的子集;
- CSRUS 可以通过分层抽样来解决不平衡问题;
- 验证过程可以缓解弱基分类器的负面影响,加权投票策略使每个样本的最终预测更加准确;
- 任何可用的基分类器都可以应用于该集成框架。
基于随机森林的 SFSHEL
本文采用随机森林(RF)作为 SFSHEL 的基学习器,从而构成集成分类器 SFSHEL-RF。RF 在平衡情况下的分类性能很强,所以经过 CSRUS 的预处理后剩下的样本接近平衡,能发挥 RF 的能力。同时 SWFSS 限制了 RF 的特征选择范围,可以保留相关特征之间的关系。而且 RF 不需要像 SVM 等其他经典模型需要设置很多超参数,在实验中当使用的树数量增加到 30 棵时,RF 的性能趋于稳定。
训练时间方面 N 表示为训练样本的数量,D 为特征数量,T 为 RF 使用的树的数量。如果 RF 使用未剪枝的决策树,则计算复杂度将近似于 O(T·D·NlogN),相比 SVM 的训练时间复杂度 O(N3) 更加高效。
实验结果
数据集和实验设置
数据集使用 KEEL 数据集中的 17 个标准不平衡数据集,特征数量范围为 6~11,样本数量范围为 200~5412,IR 最高为 67,详细信息如下表所示。
除此之外还使用了真实的二分类不平衡数据集 Shanghai Shuguang Heart Failure dataset (SSHF) 的 3 个版本,具体信息如下表所示。
使用的对比算法共有 11 个,相关信息和调整的超参数如下表所示。
SFSHEL-RF 的验证过程使用 F1 来评估,实验测试的评价指标选择 Average Accuracy(AA) 和 G-Meam,验证方法使用五折交叉验证,实验重复运行十次然后记录结果的平均值。
KEEL 数据集的比较
在 KEEL 数据集上的结果和标准差如下表所示,可以看出 SFSHEL-RF 在平均性能方面排在第二。SFSHEL-RF 与其他方法相比具有的有效性和稳定性,与 ECUBoost-RF 相比性能非常接近。
为了进一步验证 SFSHEL-RF 的性能,使用贝叶斯分析的结果如下图所示,可见 SFSHEL-RF 与其他算法相比贝叶斯概率均很高。
使用假设检验做进一步分析,结果如下图所示。可见 SFSHEL-RF 和 ECUBoost-RF 的差距较小,对于不平衡问题具有显着的优势。
Heart Failure 数据集的比较
SFSHEL-RF 在 3 个 Heart Failure 数据集上的结果和相应的标准偏差如下表所示,可见 SFSHEL-RF 在 3 个数据集上都显示了其稳定性,与 ECUBoost-RF 相比 SFSHEL-RF 更具优势。
对 SFSHEL-RF 替换验证集的评估指标,在 HA、HM 和 HY 三个数据集上进行测试,结果如下表所示。可以看出不同的指标选择会影响性能,但结果之间的差异并不是很大,F1 是 SFSHEL-RF 的首选指标。
对 Heart Failure 数据集删除一些特征进行实验来判断哪些特征是重要的,结果如下表所示,得出的重要性与相关的医生的评估一致。
优点和创新点
个人认为,本文有如下一些优点和创新点可供参考学习:
- 本文设计的集成学习框架融合了样本选择和特征选择,这样训练出来的基分类器的多样性更强并且更有效;
- 在欠采样方面,作者结合了聚类算法,然后在不同的簇之间分层采样,合理保留了不同特点的多数类样本;
- 在特征选择方式使用了滑动窗口这样简单的方式,在保证多样性的同时也有重叠的部分。