重采样方法是通过增加稀有类训练样本数的*上采样( up sampling) 和减少大类样本数的*下采样( down sampling)使不平衡的样本分布变得比较平衡,从而提高分类器对稀有类的识别率。
最原始的上采样方法是复制稀有类的样本,但是这样做容易导致过学习[,并且对提高稀有类识别率没有太大帮助.
较高级的上采样方法则采用一些启发式技巧,有选择地复制稀有类样本,或者生成新的稀有类样本. Chawla等人提出的SMOTE算法是一种简单有效的上采样方法,该方法首先为每个稀有类样本随机选出几个邻近样本,并且在该样本与这些邻近的样本的连线上随机取点,生成无重复的新的稀有类样本. Lee则通过为训练集中的稀有类样本加上随机噪声的方式获取新的正类样本. Kubat等人将稀有类和大类交叉分布区域内的样本重新标定成稀有类样本,以降低不平衡度.
另一方面,下采样通过舍弃部分大类样本的方法,降低不平衡程度. Kubat和Matwin[采用单边采样方式,去除大类中的噪音样本、边界样本和冗余样本. Chen等人则通过修剪大类的支持向量,达到平衡支持向量个数的目的,从而提高稀有类的识别率.
Raskutti和Kowalczyk**同时考虑上采样和下采样,并且扩展到一类学习,即只采用一类的样本作为训练集,因此不存在不平衡分类问题. Estabrooks和Japkowic同时采用上采样和下采样以及不同的采样率**,获得大量的子分类器,并使用混合专家(mixture of experts)学习框架将这些子分类器集成.他们的结果显示,这种方法比普通的AdaBoost有更好的分类效果,但并不清楚到底是上采样还是下采样更有效,也不清楚哪种采样率最合适.虽然重采样在一些数据集上取得了不错的效果,但是这类方法也存在一些缺陷.
上采样方法并不增加任何新的数据,只是重复一些样本或增加一些人工生成的稀有类样本,增加了训练时间. 更危险的是,上采样复制某些稀有类样本,或者在它周围生成新的稀有类样本,使得分类器过分注重这些样本,导致过学习. 上采样不能从本质上解决稀有类样本的稀缺性和数据表示的不充分性,因此有人指出它的性能不如下采样. 但是Japkowicz对人工数据的一项系统研究得到了相反的结论. 下采样在去除大类样本的时候,容易去除重要的样本信息. 虽然有些启发式的下采样方法,只是去除冗余样本和噪声样本,但是多数情况下这类样本只是小部分,因此这种方法能够调整的不平衡度相当有限.
来源:http://bcmi.sjtu.edu.cn/~blu/papers/2009/Zhi-FeiYe_CAAI-Transactions-on-Intelligent-Systems_2009.pdf