过采样方法用于数据集不平衡问题
作者:互联网
过采样方法用于数据集不平衡问题
Random based
(1)Random Oversampling
该方法只是随机的在原有的少数类中重复少数类的样本,从而增加少数类
Synthesising New Data
(2)SMOTE
假设过采样比例为少数类别样本数的n倍,对于每个属于少数类的样本X,可以利用k近邻算法找到X,在少数类中的K个近邻样本,然后从这K个近邻样本选择N个近邻样本新的少数类样本可以根据如下的公式来合成新的样本
SMOTE新合成的少数类样本增加了通用性,SMOTE不是简单地随机复制少数类样本而是有目的性的复制。针对少数类样本进行合成新样本,这样也避免了过拟合现象。通过不断地重复上面步骤就可以得到新的不同的少数类样本。
SMOTE算法存在以下三方面的问题:
①该算法存在一些处理不平衡和噪声的弱点。该方法有效地对抗类间不平衡,但是忽略了类间不平衡和小分离的问题。
②另一个问题是SMOTE可能会进一步放大数据中存在的噪声。当线性插入多数类实例中的噪声少数类样本及其最近的少数类样本邻居时,可能会发生这个问题。该方法易受到噪声产生的影响,因为它不会将重叠的类区域与所谓的安全区域区分开来。
③最后,该算法没有具体强制执行决策边界,远离类边界的实例会被过采样。
(3)Borderline-SMOTE
For each point p in S:
1. 计算点p在训练集T上的m个最近邻。我们称这个集合为Mp然后设 m'= |Mp ∩ L| (表示点p的最近邻中属于L的数量).
2. If m'= m, p 是一个噪声,不做任何操作.
3. If 0 ≤m'≤m/2, 则说明p很安全,不做任何操作.
4. If m/2 ≤ m'≤ m, 那么点p就很危险了,我们需要在这个点附近生成一些新的少数类点,所以我们把它加入到DANGER中.
最后,对于每个在DANGER中的点d,使用SMOTE算法生成新的样本.
Adaptive Synthetic Sampling
(4)ADASYN
1.计算不平衡度:记少数类样本为ms,多数类为ml,则不平衡度为 d = ms / ml,则d∈(0,1]。(作者在这里右边用了闭区间,我觉得应该用开区间,若是d = 1,则少数类与多数类样本数量一致,此时数据应该平衡的)
2.计算需要合成的样本数量:G = (ml - ms)* b,b∈[0,1],当b = 1时,即G等于少数类和多数类的差值,此时合成数据后的多数类个数和少数类数据正好平衡
3.对每个属于少数类的样本用欧式距离计算k个邻居,△为k个邻居中属于多数类的样本数目,记比例r为r = △ / k,r∈[0,1]
4.在3中得到每一个少数类样本的 ri ,用计算每个少数类样本的周围多数类的情况
5.对每个少数类样本计算合成样本的数目
6.在每个待合成的少数类样本周围k个邻居中选择1个少数类样本,根据下列等式进行合成
重复合成直到满足需要步骤5合成的数目为止。
(5)MWMOTE
1)少数类的样本总数记为Smin对每个属于少数类Smin的样本根据欧式距离计算它的k1个邻居,其中属于少数类的记为NN(xi)
2)若NN(xi)=0表示第i个少数类样本附近的k1个邻居没有少数类样本,该样本为噪声样本用Sminf代表Smin去掉噪声样本后剩下的样本数量
3)对每个属于少数类Sminf的样本根据欧式距离计算它的属于多数类的k2个邻居,记为Nmaj(xi)
4)将3)的结果取并集得到多数类边界数据集,记为Sbmaj
5)对每一个属于Sbmaj的样本根据欧氏距离计算它的属于少数类的k3个邻居,记为Nmin(yi)
6)将5)的结果取并集得到少数类信息集,记为Simin
7)对于每一个属于Simin的样本,根据样本所在位置距离和密度因素计算信息权重Iw(yi,xi),距离多数类样本越近密度越低越容易抽到
8)9)步骤相当于归一化的步骤,用当前的信息权重除以总的信息权重得到每个xi的选择权重,即被选到去合成新样本的概率
10)将Smin聚类成M个簇,依概率从Simin抽取样本,再从M个簇中随机选择样本进行SMOTE式的插值,重复10)直到满足要达到的数量为止。
(6)Automatic Neighborhood size Determination(AND)
Evolutionary Sampling
(7)MAHAKIL
MAHAKIL过采样生成算法分为以下三个阶段:
第一阶段:
首先将少数类从大数类中分离出来,通过差异性度量元来衡量每一个少数类实例的差异程度。差异性程度的计算公式采用马氏距离,马氏距离不受量纲的影响,两点之间的马氏距离与原始数据的测量单位无关,由标准化数据和中心化数据(即原始数据与均值之差)计算出的二点之间的马氏距离相同。马氏距离还可以排除变量之间的相关性的干扰。差异性计算公式如下
第二阶段:
根据少数类实例的马氏距离进行排序,将少数类分为两类。其中一类具有较小的马氏距离,另一类具有较大的马氏距离。
第三阶段:
从两个类别中分别取出一个样本,通过平均值来生成新的样本。
标签:采样,SMOTE,马氏,合成,样本,距离,少数类,用于,平衡 来源: https://www.cnblogs.com/kexinxin/p/11700713.html