首发于书桌
[ICDE 2020] Self-paced Ensemble: 高效、泛用、鲁棒的不平衡学习框架

[ICDE 2020] Self-paced Ensemble: 高效、泛用、鲁棒的不平衡学习框架

本文介绍的内容来自于我们近期被ICDE'20接收的工作"Self-paced Ensemble for Highly Imbalanced Massive Data Classification"[arXiv][Github],欢迎Issue,欢迎Star,欢迎Cite!

导致机器学习系统在实际应用中表现不佳的原因有很多种:它们可能来自于数据采集过程(如噪声,缺失值)、或者来自于数据集的特性(如类别重叠,庞大的数据规模)、也可能来自于采用的机器学习模型的特性(如模型容量过小/过大)和任务本身(如类别分布不平衡)。我们可以看到在上面描述的这些原因中,“类别不平衡”这一因素本身只占了很小的一部分。

换言之,单纯的“类别不平衡”并不会对任务的难度有决定性的影响。一个无噪声、无缺失值、类别不重叠的toy dataset,即使其类别不平衡,分类器也能很容易地得到一个合理的分类边界。反之,对于一个大规模的、复杂的、数据很“脏”的任务(多见于实际的工业应用,也是我们主要考虑的问题),即使其数据集是类别平衡的,要解决这类问题通常也很困难。已有的研究[1-3]和我此前的文章中都讨论过了“类别不平衡在分类问题中扮演的角色”,此处不再赘述。我们认为“类别不平衡”更像是一种“催化剂”,它的存在使得原本就较为困难的分类任务变得加倍困难。

A motivating example

从上图可以看出,对于一个简单的分类任务(图a),KNN(图b)和AdaBoost(图c)都能轻易地完成分类,不平衡比的增长对于分类并无影响。而对于一个较为困难的任务(图d),在类别平衡的情况下两个模型表现尚可,随着不平衡比的增加,任务的分类难度快速上升。同时我们注意到不同的模型对于类别不平衡的sensitivity也有较大差别(图e、f)。

传统的不平衡学习方法通常只考虑这些因素中的一个或若干个,且最终表现较为依赖于超参的选择:例如基于距离的重采样方法中考虑的neighbor数量会影响方法对噪声的敏感性、cost sensitive类方法中代价敏感矩阵需要由领域专家设置。更多关于传统不平衡学习方法的讨论可以在这篇文章中找到。

Classification Hardness Distribution

基于上述观察,我们希望设计一种机制,能够以尽量简单、优雅的方式将这些因素纳入不平衡学习的过程中。具体地,我们引入了“分类硬度分布”的概念来实现这一点。我们定义 \mathcal{H} 为一个“分类硬度函数”,任何可分解到单个样本上计算的损失/误差函数都可以被用作分类硬度函数(e.g., Absolute Error/MSE/Cross-Entropy)。对于一个给定的(trained)模型 F(\cdot) ,样本 (x, y) 的分类硬度由 H_x = \mathcal{H}(x, y, F)给出。注意分类硬度函数使用当前的模型作为函数的其中一个输入。

我们认为分类硬度分布之中隐含了噪声、模型容量等与任务难度高度相关的信息。直觉上,分类硬度给出了对于一种特定的分类器(模型容量),分类一个特定样本的难度(噪声)。通过观察分类硬度分布我们能够得到模型在当前数据集上的拟合情况。

我们使用欠采样+集成策略进行boosting-like的串行训练,最终得到一个加性模型。串行的训练过程允许我们使用分类硬度分布来在训练的过程中向我们提供上述信息,从而指导欠采样策略选取那些对当前集成贡献最大的训练样本。需要注意的是“选取对训练贡献最大的样本/最informative的样本”的想法并不新鲜,其在很多领域中已经有着广泛的应用:如Self-paced Learning[4], (Pool-based) Active Learning[5], Balance Cascade[6]等。

Self-paced Ensemble (SPE)

具体来说,我们使用 k 个分桶来近似表示分类硬度分布,并在训练过程中动态更新每个样本的硬度值。

B_\ell = \{(x, y) \ |\ \frac{\ell - 1}{k} \leq \mathcal{H}(x,y,F) < \frac{\ell}{k}\} \ w.l.o.g.\ \mathcal{H}(\cdot) \in[0, 1]

受到GHM[7](AAAI'19 这是一篇从loss层面解决one-stage object detection中样本不平衡问题的工作,非常有趣,可以参考这篇文章)的启发,在训练初始时我们的欠采样策略尝试均衡化每个分桶对分类硬度的contribution,即使得重采样后每个分桶中的样本硬度总和一致。这种做法的好处是能够在增大边界样本(更靠近类别边界的样本)重要性的同时,降低噪声对学习过程的影响。相比之下,传统方法如AdaBoost/BalanceCascade都会在训练后期受到噪声样本的严重影响,这些噪声样本被过分强调,甚至会扰动已有的分类边界使模型性能变差。

随着训练过程的推进,“简单”样本的数量会快速增长,此时单纯的均衡化采样策略仍然会保留很多这些已被拟合的数据点,导致训练得到的新分类器缺乏diversity。为了在训练后期增加基学习器的diversity并使其关注更加难以分类的样本,我们引入自步因子 \alpha (self-paced factor),它被用来降低那些样本数量过多的bins的采样权重。如下图所示。

\alpha对采样策略的影响

SPE的算法流程可描述如下:

Experiments

我们在五个规模较大,且类别极端不平衡的任务上使用多种基分类器测试了我们的方法与基线方法。

我们还在Credit Fraud数据集上对比了十余种Resampling-based方法,且给出了所需训练样本数目与重采样时间。

这张表中包含了一些非常有趣的结果:

  • 相比于过采样方法,降采样所需要的计算量和计算时间并不一定更少,甚至多数情况下更多。
  • 这些重采样方法在与某些分类器一同使用时,得到的结果比不采样直接训练更差(=_=)。
  • 过采样方法生成并得到了海量的训练数据,但最终得到的结果可能不尽如人意。

此外我们也对比了数种传统的集成方法。

可以看到随着基分类器数目的增加,过采样+集成类方法的训练样本数爆炸式(虽然是线性的)增长。 n=50 时,在原始数据只有不到30w条的Credit Fraud数据集上,这类方法生成并使用了接近1000w条训练数据。相比之下,SPE只需要3w余条(约1/300)训练数据,却得到了更好的性能。这种计算上的优势在更大/更不平衡的数据集上会变得更加明显。

Sensitivity to Hyper-parameters

SPE只有3个关键的超参数:基学习器数量 n ,分桶数目 k ,分类硬度函数 \mathcal{H}

其中基学习器数量 n 为集成学习方法的关键参数,通常来说集成规模越大,模型性能越好同时训练代价也越高。

SPE对分桶数目 k 与分类硬度函数 \mathcal{H} 的选择鲁棒,我们测试了三种常用的误差函数:

  • \text{Absolute Error: } \mathcal{H}_{AE}(x,y,F) = |F(x)-y|
  • \text{Squared Error: } \mathcal{H}_{SE}(x,y,F) = (F(x)-y)^2
  • \text{Cross-Entropy: }\mathcal{H}_{CE}(x,y,F) = -ylog(F(x))-(1-y)log(1-F(x))

需要注意的是分桶数目 k 实际上决定了我们对分类硬度分布近似表示的精度,因此设定一个特别小的 k (e.g., k\le10) 可能会导致较差的性能。

Conclusion

SPE是一个高效、泛用、鲁棒的集成不平衡学习框架,相比于传统方法它具有以下一种或数种优势:

  1. 得到更好的分类性能
  2. 使用更少的训练数据
  3. 需要更少的计算量/计算时间来进行采样
  4. 对噪声/缺失值鲁棒
  5. 对超参数的选择不敏感
  6. 适用于绝大多数传统分类器
  7. 不依赖于距离度量,可以不加修改地应用于含缺失值/离散特征的数据

Links:

刘芷宁:极端类别不平衡数据下的分类问题S02:问题概述,模型选择及人生经验zhuanlan.zhihu.com图标刘芷宁:极端类别不平衡数据下的分类问题S01:困难与挑战zhuanlan.zhihu.com图标刘芷宁:模型无关的元学习:learn to learnzhuanlan.zhihu.com图标http://zhiningliu.com/zhiningliu.com

References
[1] García V, Sánchez J, Mollineda R. An empirical study of the behavior of classifiers on imbalanced and overlapped data sets//Iberoamerican Congress on Pattern Recognition. Springer, 2007: 397-406.
[2] Napierała K, Stefanowski J, Wilk S. Learning from imbalanced data in presence of noisy and borderline examples//International Conference on Rough Sets and Current Trends in Computing. Springer, 2010: 158-167.
[3] Prati R C, Batista G E, Monard M C. Learning with class skews and small disjuncts//Brazilian Symposium on Artificial Intelligence. Springer, 2004: 296-306.
[4] M. P. Kumar, B. Packer, and D. Koller, "Self-paced learning for latent variable models," in Advances in Neural Information Processing Systems, 2010, pp. 1189–1197.
[5] Settles, Burr (2010)."Active Learning Literature Survey"(PDF). Computer Sciences Technical Report 1648. University of Wisconsin–Madison. Retrieved2014-11-18.
[6] X.-Y. Liu, J. Wu, and Z.-H. Zhou, "Exploratory undersampling for class-imbalance learning," IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), vol. 39, no. 2, pp. 539–550, 2009.
[7] B. Li, Y. Liu, and X. Wang, "Gradient harmonized single-stage detector," in AAAI Conference on Artificial Intelligence, 2019.

编辑于 10-28

文章被以下专栏收录