一、SMOTE的改进算法
1、Boderline-SMOTE
只考虑分布在分类边界附近的少数类样本,并将其作为根样本
首先通过 k-NN 方法将原始数据中的少数类样本划分成“Safe”、“Danger”和“Noise”3 类,其中“Danger”类样本是指靠近分类边界的样本。
对属于“Danger”类少数类样本进行过采样,可增加用于确定分类边界的少数类样本。这样做可以增加这些关键区域的少数类样本数量,使得模型在训练时有更多机会学习到分类边界的确切位置,从而提升对少数类的识别能力,减少误分类。简而言之,这种方法通过针对性地强化边界信息,提高了模型在不平衡数据集上的分类性能。
2、Safe-Level-SMOTE
旨在解决原SMOTE方法可能引入的类间重叠问题。类重叠意味着通过过采样产生的少数类样本可能过于接近多数类样本的分布区域,这可能导致模型学习时的混淆,降低分类准确性
分配安全系数:
- 首先,算法会评估每个少数类样本的安全程度,即它与多数类样本的距离或者说是该样本周围多数类样本的密度。距离远或周围多数类样本稀少的少数类样本被视为更“安全”,因为它远离类别的争议区域。
- 根据这个评估,每个少数类样本会被赋予一个安全系数(通常是一个介于0到1之间的数值),安全系数高的样本意味着它处于相对安全、远离类边界的位置。
基于安全系数合成新样本:
- 在进行样本合成时,Safe-Level-SMOTE不仅考虑随机选择的邻居,还会参考这些邻居的安全系数。具体来说,算法倾向于从安全系数较高的少数类样本周围生成新样本,这样生成的样本更有可能保持在少数类的“安全”区域内,而非靠近或跨越到多数类的领地。
- 这种策略确保了新生成的少数类样本不会过分侵入多数类的领域,减少了类间的重叠,有助于提高模型的泛化能力和分类精度。
3、ADASYN
ADASYN 算法根据少数类样本的分布自适应地改变不同少数类样本的权重,自动地确定每个少数类样本需要合成新样本的数量,为较难学习的样本合成更多的新样本,从而补偿偏态分布。
4、SMOM
SMOM 算法通过给每个少数类样本 的k 个近邻方向分配不同的选择权重来改善 SMOTE引起的过泛化问题
其中选择权重的大小代表沿该方向合成样本的概率,权重越大说明沿该方向合成的样本越安全。
二、欠采样与SMOTE结合的方法
随机欠采样是指随机地移除部分多数类样本,但该方法可能会丢失部分有用的信息,导致分类器性能下降。
随机过采样则是随机的复制少数类样本,使得数据的类分布平衡,但该方法由于反复复制少数类样
本,增加了分类模型过拟合的可能性。
1、AdaBoost-SVM-MSA
按一定规则将SVM 分错的样本划分成噪声样本、危险样本与安全样本
然后直接删除噪声样本
采用约除法处理危险样本,并对安全样本进行 SMOTE 过采样。
2、BDSK(基于聚类的混合采样)
将 SMOTE的过采样与基于 K-means 的欠采样相结合
基于 K-means 的欠采样:
- 可能会首先对多数类数据应用K-means聚类,然后从每个聚类中随机选择一定数量的样本作为代表,而剔除其他被认为相似度高、可代表性的样本,以此达到减少多数类样本同时保持数据多样性的目的。
这样的混合采样能够扩大少数类样本集的同时有效剔除噪声样本
3、BMS
通过设置变异系数阈值将样本划分成边界域和非边界域
然后使用 SMOTE 对边界域的少数类样本过采样
以及基于欧氏距离的随机欠采样方法 (OSED)[16] 对非边界域的多数类样本进行欠采样
旨在解决在剔除噪声时由于误删少数类样本而丢失部分样本信息的问题。
4、OSSU-SMOTEO
使用单边选择 (OSS) 欠采样移除多数类样本中冗余样本和边界样本
然后采用 SMOTE 对少数类样本过采样,从而平衡数据集
5、Hybrid Sampling
使用 DBSCAN 和 KNN 剔除多数类中的模糊样本;
然后采用 SMOTE 对重叠区域的少数类样本过采样
6、SDS-SMOT
利用安全双筛选丢弃远离决策边界的多数类样本和噪声样本实现原始数据集的欠采样
采用 SMOTE 合成新样本实现过采样,使数据集达到基本平衡。
三、过滤技术与 SMOTE 结合的方法
这里的过滤技术主要是值结合噪声过滤技术消除SMOTE 合成的错误样本。常见的过滤技术包括基于粗糙集的过滤、数据清洗等。
1、SMOTE-RSB*
这是将粗糙集理论的编辑技术与SMOTE 算法融合的改进方法
2、SMOTE-IPF
采用迭代分区滤波器,将噪声过滤器与SMOTE 融合
3、BST-CF
将 SMOTE 与噪声过滤器 CF(classification filter) 结合
在平衡数据集的同时,从多数类中消除位于边界区域的噪声样本。
4、SSMNFOS
一种基于随机灵敏度测量(SSM) 的噪声过滤和过采样的方法
5、NN-FRIS-SMOTE
先筛选出代表性的样本,再使用模糊粗糙实例选择 (RSIS) 技术过滤噪声样本
然后使用SMOTE 过采样少数类样本,从而增加了正确识别产品缺陷的可能性
6、基于数据清洗的过滤算法
6.1、SMOTE-Tomek
SMOTE-Tomek 利用 SMOTE 对原始数据过采样来扩大样本集
移除采样后数据集中的 TomeLink 对,从而删除类间重叠的样本
其中 TomeLink 对是指分属不同类别且距离最近的一对样本,这类样本通常位于类间或者是噪声样本。
6.2、SMOTE-ENN
SMOTE-ENN 则是通过对采样后的数据集采用 k-NN 方法分类,进而剔除判错的样本。
四、聚类算法与 SMOTE 结合的方法
聚类算法和 SMOTE 结合是调整数据分布的另一种思路,其主要策略通常有两种
一是直接采用聚类算法将少数类样本划分成多个簇,在簇内进行插值
二是利用聚类算法识别样本类型,对不同类型的样本采用不同的方式处理,然后再使用 SMOTE 进行过采样
1、MWMOTE
按照与多数类样本的距离对难以学习的少数类样本分配权重,采用聚类算法从加权的少数类样本合成样本,从而保证这些新样本位于少数类区域内
2、FCMSMT
使用模糊 C 均值 (FCM) 对样本多的目标类聚类,选出与平均样本数相同数量的样本
而对样本少的目标类使用 SMOTE 过采样
3、K-means SMOTE
利用 K-means 对输入数据集聚类,在少数类样本多的簇内进行 SMOTE过采样,从而避免噪声的生成,有效改善类间不平衡。
4、CB-SMOTE
根据“聚类一致性系数”找出少数类的边界样本,再根据最近邻密度删除噪声样本
在清理了边界样本和噪声样本后,需要确定通过合成方法生成多少新样本以平衡数据集或增强少数类。
然后从这些边界样本中人工合成新样本。
5、CURE-SMOTE
采用 CURE对少数类样本聚类并移除噪声和离群点
然后使用 SMOTE 在代表性样本和中心样本间插值以平衡数据集。
6、IDP-SMOTE
利用改进的密度峰值聚类算法 (improved-DP) 对各个类进行聚类,识别并剔除噪声样本
然后采用自适应的方法对每个少数类样本进行 SMOTE 过采样