算法层面
代价敏感学习
核心思想:少数类样本更高代价
代表做法:
- 代价矩阵
- META-cost:根据最小期望代价修改训练数据的类标记,加入到新的学习过程中
集成学习
核心思想:集成多个弱分类器
代表算法:
- Boosting
- Bagging
- AdaBoost:迭代过程中更新样本权重,增加错分样本权重
- EasyEnsemble:多数类样本划分成子集,每个子集分别训练
- BalanceCascade:建立在EasyEnsemble基础上,迭代过程中删除被分类正确的多数类样本
- SMOTEBoost:增加合成样本
- RUSBoost:随机欠采样样本
- PCBoost:随机过采样样本
单类学习
核心思想:只对一个类进行学习
代表算法:
- SVDD
- One-class SVM
数据层面
过采样
核心思想:增加少数类样本
代表算法:
- 随机过采样:随机重复少数类样本
- SMOTE:找出少数类样本m的k近邻(少数类),在k金链之间的连线上产生随机的合成样本,根据不平衡比例设置采样倍率,确定最终生成的新样本。
- Borderline-SMOTE:找位于边界的少数类样本,利用危险样本产生新样本
- ADASYN
- Haibo He根据样本的危险程度,也就是少数类样本在学习中的难易程度,通过加权的方法,构造合成样本的分布函数,来确定合成新样本的数目。
- CBO:基于聚类的抽样算法。
欠采样
核心思想:删除多数类样本
代表算法:
- 随机欠采样:随机删除多数类样本
- One-SidedSelection:将多数类样本分为四种类型:噪声、边界、冗余和正常,只保留正常样本
- NCL
- Tomek links
- OOS
- NearMiss
- BCS
混合采样
核心思想:过采样与欠采样相结合
特征层面
分类器无关
过滤式:FILTER
分类器独立
封装式:WRAPPER
分类器结合
嵌入式:EMBEDDED
参考文献:
面向非平衡数据的过采样方法研究_周晓敏
基于聚类的非平衡数据欠采样算法研究及应用_张雪
非平衡数据重采样方法研究_段冰倩