如前所述采样技术是一种数据层的处理方法,它通过修正数据集的方式来平衡训练样本的类分布,以达到修复分类结果的目的。严格来讲,采样可被视作一种数据预处理技术,其最为突出的优点即是与后期选用何种分类算法无关。实际上,因其简便性,采样也是在类别不平衡学习领域中应用最为广泛的一项技术,在面向实际应用问题时,人们首先会考虑采用此技术。
根据采样时所针对样本类别的不同,样本采样技术可大致分为以下三类:
在样本采样技术中,还有一个较为重要的概念,那就是采样率(Sampling Rate, SR)。假设某二类不平衡样本集中共有 N N N个训练样本,其中包括 N + N^+ N+个少数类样本与 N − N^- N−个多数类样本,即 N = N + + N − N=N^++N^- N=N++N−。则对于过采样而言,其需生成的少数类样本为 N + × SR N^+\times \text{SR} N+×SR个,而对于降采样而言,其需移除的多数类样本则为 N − × SR SR + 1 N^-\times \frac{\text{SR}}{\text{SR}+1} N−×SR+1SR个。特别需要指明的是,SR的取值范围通常在 ( 0 , IR − 1 ] (0,\text{IR}-1] (0,IR−1]之间,当 SR = IR − 1 \text{SR}=\text{IR}-1 SR=IR−1时,可保证采样后的样本集达到完全平衡,即 N + = N − N^+=N^- N+=N−。
接下我们来回顾一下样本采样技术的发展史。可以说,自20世纪90年代末起,样本采样技术一共经历了以下三个主要的发展阶段:
下面,我们的文章将分别从上述三个发展阶段,选出一些有代表性的样本采样算法,对其核心思想、算法流程及优缺点做详细说明与评述。