数据处理方法——SMOTE系列和ADASYN
简介
不平衡数据集指的是数据集各个类别的样本量极不均衡。以二分类问题为例,假设正类的样本数量远大于负类的样本数量,通常情况下通常情况下把多数类样本的比例接近100:1这种情况下的数据称为不平衡数据。不平衡数据的学习即需要在分布不均匀的数据集中学习到有用的信息。
不平衡数据集的处理方法主要分为两个方面:
1、从数据的角度出发,主要方法为采样,分为欠采样和过采样以及对应的一些改进方法。
2、从算法的角度出发,考虑不同误分类情况代价的差异性对算法进行优化,主要是基于代价敏感学习算法(Cost-Sensitive Learning),代表的算法有adacost;
另外可以将不平衡数据集的问题考虑为一分类(One Class Learning)或者异常检测(Novelty Detection)问题,代表的算法有One-class SVM。
SMOTE系列
SMOTE
SMOTE(Synthetic Minority Oversampling Technique)合成少数类过采样技术,是在随机采样的基础上改进的一种过采样算法。从少数类样本中选取一个样本xi。其次,按采样倍率N,从xi的K近邻中随机选择N个样本xzi。最后,依次在xzi和xi之间随机合成新样本,合成公式如下:
x n = x i + β ( x z i − x i ) x_n=x_i+\beta(x_{zi}-x_i) xn=xi+β(xzi−xi)
论文地址
SMOTE: Synthetic Minority Over-sampling Technique
Borderline SMOTE
Borderline SMOTE是在SMOTE基础上改进的过采样算法,该算法仅使用边界上的少数类样本来合成新样本,从而改善样本的类别分布。
Borderline SMOTE采样过程是将少数类样本分为3类,分别为Safe、Danger和Noise,Safe,样本周围一半以上均为少数类样本;Danger:样本周围一半以上均为多数类样本,视为在边界上的样本;Noise:样本周围均为多数类样本,视为噪音,如图中点C最后,仅对表为Danger的少数类样本过采样。

论文地址
Borderline-SMOTE: A New Over-Sampling Method in Imbalanced Data Sets Learning
ADASYN系列
ADASYN
ADASYN (adaptive synthetic sampling)自适应合成抽样,与Borderline SMOTE相似,对不同的少数类样本赋予不同的权重,从而生成不同数量的样本。
步骤
- 计算需要合成的样本数量,公式如下:
G = ( m l − m s ) × β G=\left(m_{l}-m_{s}\right) \times \beta G=(ml−ms)×β
其中, m 丨 m_{\text {丨 }} m丨 为多数类样本数量, m s m_{s} ms 为少数类样本数量, β ∈ [ 0 , 1 ] \beta \in[0,1] β∈[0,1] 随机数,若 β \beta β 等于 1 ,采样后正负比例为 1 : 1 1: 1 1:1 。
- 计算K近邻中多数类占比,公式如下:
r i = Δ i / K r_{i}=\Delta_{i} / K ri=Δi/K
其中, Δ i \Delta_{i} Δi 为 K K K 近邻中多数类样本数, i = 1 , 2 , 3 , … … , m s i=1,2,3, \ldots \ldots, m_{s} i=1,2,3,……,ms
- 对ri标准化,公式如下:
r ^ i = r i / ∑ i = 1 m s r i \hat{r}_{i}=r_{i} / \sum_{i=1}^{m_{s}} r_{i} r^i=ri/i=1∑msri
4. 根据样本权重,计算每个少数类样本需生成新样本的数目,公式如下:
g = r ^ i × G g=\hat{r}_{i} \times G g=r^i×G
5. 根据 g g g 计算每个少数样本需生成的数目,根据SMOTE算法生成样本,公式如下:
s i = x i + ( x z i − x i ) × λ s_{i}=x_{i}+\left(x_{z i}-x_{i}\right) \times \lambda si=xi+(xzi−xi)×λ
其中, s i \mathrm{s}_{i} si 为合成样本, x i \mathrm{x}_{i} xi 是少数类样本中第 i i i 个样本, x z i \mathrm{x}_{\mathrm{z} i} xzi 是 x i \mathrm{x}_{\mathrm{i}} xi 的K近邻中随机选取一个少数类样本 λ ∈ [ 0 , 1 ] \lambda \in[0,1] λ∈[0,1] 的随机数。
论文地址
ADASYN: Adaptive Synthetic Sampling Approach for Imbalanced Learning
后续
喜欢的话可以关注一下我的公众号技术开发小圈,尤其是对深度学习以及计算机视觉有兴趣的朋友,我会把相关的源码以及更多资料发在上面,希望可以帮助到新入门的大家!
更多推荐



所有评论(0)