一、类别不平衡
类别不平衡(class-imbalance)是指分类任务中不同类别的训练样例数目差别很大的情况。比如说一个二分类问题,1000个训练样本,比较理想的情况是正类、负类样本的数量相差不多;而如果正类样本有998个、负类样本仅2个,就意味着存在类不平衡。那么学习方法只需返回一个永远将新样本预测为反例的学习器,就能达到99.8% 的精度;然而这样的学习器往往没有价值,因为它不能预测出任何正例。假设一个二分类(0-1)问题,正类样本(label为1)较少,反类样本(label为0)很多。
现有技术大体上有三类做法:第一类是直接对训练集里的反类样例进行"欠采样" (undersampling) ,即去除一些反例使得正、反例数目接近,然后再进行学习;第二类是对训练集里的正类样例进行"过采样" (oversampling) ,即增加一些正例使得正、反例数目接近,然后再进行学习;第三类则是直接基于原始训练集进行学习,但在用训练好的分类器进行预测时,要将其式嵌入到决策过程中,称为"阈值移动" (threshold-moving)。
二、欠采样法
欠采样法的时间开销通常远小于过采样法,因为前者丢弃了很多反例,使得分类器训练集远小于初始训练集。另一方面,欠采样法若随机丢弃反例,可能丢失一些重要信息。欠采样法的代表性算法 EasyEnsemble 则是利用集成学习机制,将反例划分为若干个集合供不同学习器使用,这样对每个学习器来