2. 河北地质大学 信息工程学院,石家庄 050031
2. School of Information Engineering, Hebei GEO University, Shijiazhuang 050031, China
不平衡数据集是指类别分布不平衡的数据集,主要特征表现为某些类别的样本数量很少,而其他类别的样本数量很多。不平衡数据集的分类问题广泛存在于实际应用中,例如故障诊断[1-2]、人脸识别[3]、疾病检测[4-5]和企业信用评估[6-7]等, 因此,对不平衡数据集进行处理进而提高分类器性能是一个十分重要的问题。一般而言,分类器训练模型为使目标函数最小,往往分类时会偏向多数类,从而导致少数类识别错误率很高[8]。然而,在现实生活中少数类总是包含着更多的关键信息,被错误分类的代价很高,例如疾病检测, 因此,如何准确的对不平衡数据集分类,是现有分类算法所面临的难点之一。
近年来,处理数据不平衡问题的方法分为:数据级方面[9]、算法级方面[10]以及数据级和算法级两方面的结合[11]。数据级方面是通过对多数类样本进行欠采样或者对少数类样本进行过采样来实现数据集的类间平衡,例如随机过采样(random over-sampling, ROS)通过随机复制少数类样本点来实现数据集平衡,提高分类器精度。算法级方面则通过修改训练算法或对目标函数进行改进,例如代价敏感[12]和集成学习[13]作为典型的方法,可以有效提高少数类的识别精度。数据级和算法级两方面的结合是将两者进行合理结合,例如SMOTEBoost算法[14],通过将集成算法(AdaBoost)[15]和合成少数类过采样方法(synthetic minority over-sampling technique, SMOTE)[16]相结合来解决对类别不平衡数据集进行分类的问题。目前,在处理数据不平衡问题时,基于数据级方面的方法被广泛应用,因为这类方法独立于分类器并可以与多种分类器相结合。同时,由于欠采样可能导致信息缺失,从而降低分类性能,所以过采样方法被更多学者关注[17-18]。
在所有过采样方法中,随机过采样(ROS)是最简单的方法,通过随机复制部分少数类样本来达到数据平衡,但由于其不对数据做任何处理的情况下进行过采样,容易导致过拟合问题。为解决该问题,Chawla等[16]提出了合成少数类过采样方法(SMOTE),它通过与少数类样本K近邻[19]中的少数类进行线性插值,生成新的样本点,但SMOTE算法容易受异常点和噪声点的影响,导致在多数类区域生成样本点,加重类间重叠。对此,许多学者从不同角度出发,针对SMOTE算法的不足进行扩展或改进。一些学者考虑到决策边界对分类器的影响,尝试通过对边界数据点进行过采样,以增强边界信息。Han等[20]通过识别少数类边界点,只对边界点采用SMOTE过采样,通过增强边界信息以达到更好的分类效果,虽有效避免了异常值的影响,但因其依赖K近邻算法,当K选取不恰当时,容易加重边界数据的类间重叠。He等[21]通过计算每个少数类样本点的密度来自适应的确定每个少数类合成新样本点的个数,密度越低的样本点生成的新样本越多。Barua等[22]从少数类中搜索每个多数类样本的最近邻居,以识别少数类边界样本,使用聚类的方法在少数类区域生成新的样本,以保证不会引入新的噪声点,但选择合适的聚类方法成为该方法的难点。与此相反,Bunkhumpornpat等[23]提出了安全级别过采样方法,通过计算每个样本的安全系数,产生的新样本更加靠近安全系数高的样本点,有效避免了在多数类区域产生新样本,但该方法不能有效增强类边界信息。Chen等[24]基于密度将数据集分为安全区域和边界区域,根据少数类K近邻中少数类样本数量的比例分配不同的过采样大小,在安全区域生成更多的新样本,而边界区域生成更少的新样本。为避免SMOTE算法在处理有异常点和小分离特点的数据集时容易导致过拟合的问题,Koziarski等[25]通过引入径向基函数(radial basis function, RBF)的不平衡分布估计来找到需要生成合成样本的过采样区域。Bej等[26]采用局部随机仿射阴影采样(localized Random affine shadow-sampling, LoRAS)从少数类样本点的近似数据流形中进行过采样,有效解决了过拟合的问题,但参数适当是少数类样本流形建模的关键。由于SMOTE算法生成新的样本点时受K近邻算法中K的影响。Zhu等[27]提出了一种不带参数的最近邻方法——自然邻居。Li等[28]将SMOTE和自然邻域相结合,解决了K的选择问题,但并没有考虑到样本点的分布。对此,Leng等[29]通过自然邻域确定边界样本点,并根据边界样本点自然邻居中的少数类占比分配采样权重,保持数据分布并增强边界信息,但该方法也有不足之处,通过随机选取自然邻居样本进行插值,并没有扩大少数类边界样本的区域。
针对上述问题,本文提出一种基于自然邻域的超球面过采样方法。首先,对每个样本点搜索自然邻居,形成稳定的自然邻域,并根据每个样本点的自然邻居特征,将样本点划分为异常点、噪声点、多数类安全点、少数类安全点和少数类边界点5个区域。其次,通过对少数类边界点构建超球面,并把完全包含在大超球面中的小超球面进行合并,形成一个超球面集合。接着,根据每个超球面半径大小,自适应的为每个超球面分配相应的采样比例,只在超球面内进行随机过采样。最后,将剔除了异常点和噪声的原始数据集和过采样数据合并,形成平衡数据集。该方法增强边界信息的同时不会产生类间重叠问题,可以有效对不平衡样本进行处理,进而提高分类器的分类性能。
1 自然邻域理论传统的K近邻本质上是利用样本点之间的距离来对测试样本点进行分类,但该方法没有考虑是否样本之间是彼此的K近邻。自然邻居是Zhu等[27]提出的一种新的邻居之间的关系,它的主要灵感来自于现实社会关系中的“友谊”。如果双方都把彼此当作朋友时,那么双方被视为彼此真正的朋友,如果每个人都有至少一个真正的朋友,便会形成一个和谐的社会环境。把这个理论推广到数据集中,如果两个样本点x1与x2是真正的“朋友”,即样本点x1是样本点x2的λ近邻之一,样本点x2同样是样本点x1的λ近邻之一,那么它们便被认为是彼此的自然邻居,如果每个样本点(除了异常点)都有至少一个自然邻居时,数据集中便形成了一个自然邻域NSS,表示如下:
$ \left( {\forall {x_i}} \right)\left( {\exists {x_j}} \right)\left( {\lambda \in n} \right) \wedge \left( {{x_i} \ne {x_j}} \right) \to \left( {{x_i} \in \lambda NN\left( {{x_i}} \right)} \right) \wedge \left( {{x_j} \in \lambda NN\left( {{x_i}} \right)} \right) $ | (1) |
式中,通过不断搜寻每个样本点的λ个近邻样本点,λ从1开始,直到每个样本点(除异常点外)都至少有一个自然邻居(或相较于上一次搜寻得到的拥有自然邻居的样本点集合没有发生改变)时,形成稳定的自然邻域NSS。其中λ近邻和自然邻居的定义如下:
定义1 (λ近邻) 数据集X中的一个样本点xi与其他所有样本点xj(j≠i)的距离最近的λ个样本点,即样本点xi的λ近邻,记为λNN(xi)。
定义2(自然邻居) 如果样本点xi的λ近邻λNN(xi)中包含样本点xj,且样本点xj的λ近邻λNN(xj)中同样包含样本点xi,则称样本点xi与样本点xj互为自然邻居NaN,表示如下:
$ x_i \in N a N\left(x_j\right) \Leftrightarrow x_i \in \lambda N N\left(x_j\right) \wedge x_j \lambda N N\left(x_i\right) $ | (2) |
为更直观的表示NSS的形成过程,在人工数据集上的可视化过程见图 1。图 1中λ从1开始,近邻个数每增加1,便把每个样本点与它所拥有的自然邻居用线连接起来,由于图 1(c)、(d)拥有自然邻居的样本集合没有发生变化,即自然邻域没有发生变化,此时形成自然邻域NSS,其中λ=3,而不属于NSS的样本点13被定义为异常点。图 2为4个二维数据集形成的NSS,可以发现靠近中心的样本点拥有更多的自然邻居,λ的大小与数据集大小有一定的关系,数据集越大,λ越大。
![]() |
图 1 NSS在人工数据集上的形成过程 Fig. 1 Formation process of NSS on artificial data sets |
![]() |
图 2 二维数据集形成的NSS Fig. 2 NSS formed from two-dimensional data sets |
为提高采样生成的样本点的质量,根据自然邻域将原始数据集划分为5个区域,即异常点、噪声点、多数类安全点、少数类安全点和少数类边界点。
定义3 (异常点) 当数据集形成稳定的自然邻域后,如果样本点xi不属于NSS,则该样本点被视为异常点D(outlier)。
$ D\left( {{\rm{outlier}}} \right) = \left\{ {{x_i}} \right.|{x_i} \notin \left. {{\rm{NSS}}} \right\} $ | (3) |
定义4 (噪声点) 去除异常点后的数据集,对于样本点xi的λ近邻λNN(xi),如果∀xj∈λNN(xi),labels(xj)≠labels(xi),则此时样本点xi声被视为噪声点,噪声点的集合记为D(noise)。
$ D\left( {{\rm{noise}}} \right) = \left\{ {{x_j}} \right.|\forall {x_j} \in \lambda NN\left( {{x_i}} \right), {\rm{labels}}\left( {{x_j}} \right) \ne \left. {{\rm{labels}}\left( {{x_i}} \right)} \right\} $ | (4) |
定义5 (多数类安全点) 去除异常点和噪声点后的多数类样本点的集合记为多数类安全点D(safemaj)。
定义6 (少数类安全点) 当数据集形成稳定的自然邻域后,此时对于样本点xi∈NSS的λ近邻λNN(xi),如果∀xj∈λNN(xi), labels(xj)=labels(xi),则此时样本点xi被视为安全点,安全点的集合记为D(safemin)。
定义7 (少数类边界点) 当数据集形成稳定的自然邻域后,在自然邻域NSS包含的的少数类样本点中,去除噪声点D(noise)和少数类安全点D(safemin),剩余的少数类样本点被视为少数类边界点D(bordermin)
图 3是一个人工数据集在形成自然邻域后,对各区域样本点划分的可视化结果,其中λ=2。
![]() |
图 3 各区域样本点划分可视化 Fig. 3 Visualization of sample point division in each region |
边界样本点往往包含更多的信息,对决策边界有着重要影响。受文献[30-31]启发,构建以每个少数类边界点为中心的超球面,过采样过程只在超球面内进行,以增强边界信息。超球面的构建过程如图 4所示,每个超球面的半径根据该少数类边界点与其距离最近的多数类安全点之间的欧氏距离而定,每个少数类边界点构成的超球面的半径计算如下:
$ {r_i} = 0.5 \times {d_{{x_{{\rm{minbo}}{{\rm{r}}_i}{\rm{ne}}({x_{{\rm{maj}}}})}}}} $ | (5) |
式中:ri为超球面半径,dxminborine(xmaj)为少数类边界点到距离最近的多数类安全点之间的欧氏距离,定义超球面半径为该距离的1/2,该策略可以有效避免类间重叠。
![]() |
图 4 超球面半径计算 Fig. 4 Calculation of hyperspherical radius |
当所有少数类边界点都构成超球面后,形成一个超球面的集合,通过计算每个超球面所包含的样本点,消除完全包含在大超球面中的小超球面,进而得到一个小的超球面集合。最终经过合并后的超球面集合包含了大多数少数类边界点,且不包含任何多数类安全点。
将多数类与少数类的数量之差作为总采样数量,以便达到类间平衡,计算方法如下:
$ {N_{\rm{C}}} = {N_{{\rm{maj}}}} - {N_{\min }} = \left( {{R_{\rm{I}}} - 1} \right) \times {N_{\min }} $ | (6) |
式中:NC为总采样数量,Nmaj为去除异常点和噪声点的多数类数量,Nmin为去除异常点和噪声点的少数类数量,RⅠ为不平衡比, RⅠ=Nmaj/Nmin。
本文方法不仅通过过采样使类间达到平衡,而且根据每个超球面的半径大小自适应的为每个超球面分配相应的采样比例,越靠近分类边界的少数类边界点所构成的超球面半径越小,这些超球面对之后的分类更为重要,因此半径越小的超球面被分配的采样比例越大。每个超球面中的采样数量计算方法如下:
$ {\theta _i} = {{\rm{e}}^{ - {r_i}}} $ | (7) |
$ {n_{{c_i}}} = \frac{{{\theta _i}}}{{\sum\limits_1^{{n_{{\rm{minbor}}}}} {{\theta _i}} }} \times {N_{\rm{C}}} $ | (8) |
式中:θi为设定的参数,用来计算每个少数类边界点构成的超球面的采样比例;ri为超球面的半径,nci为第i个超球面内的采样数量。
过采样过程只在超球面内进行,形成的超球面不仅覆盖了大多数少数类边界点,并且产生的新样本点不会产生类间重叠。只对少数类边界点进行过采样的策略可以增强边界信息,更有利于后续分类。当面对一些数据集按照上述方法处理后出现没有少数类边界点的情况,此时将去除异常点和噪声点后的所有少数类当作少数类边界点,超球面的半径计算如下式所示。此时根据拥有自然邻居的个数来确定每个超球面内的采样数量,处于类内边界的样本点拥有的自然邻居少,而处于类内中心的样本点拥有的自然邻居多,类内边界的样本点被分配更大的过采样数量,每个超球面内的采样数量计算方法如下:
$ {r_i} = {d_{{\rm{max}}\left( {Na{N_{{x_i}}}} \right)}} $ | (9) |
$ {\theta _i} = {{\rm{e}}^{ - {n_i}}} $ | (10) |
$ {n_{{c_i}}} = \frac{{{\theta _i}}}{{\sum\limits_1^{{n_{{\rm{minbor}}}}} {{\theta _i}} }} \times {N_{\rm{C}}} $ | (11) |
式中:dmax(NaNxi)为与样本点xi的距离最远的自然邻居之间的距离,ni为第i个少数类边界点的自然邻居个数,nci为第i个超球面内的采样数量。
为避免新生成的样本点造成过拟合,在确定了每个超球面的采样数量后,采用随机采样的方法在每个超球面内进行定量的过采样,新生的样本点的生成方式如下:
$ x_{\text {nev }_i}=x_{\text {minbor }_i}+R \times \frac{\boldsymbol{\omega}}{\|\omega\|} $ | (12) |
式中:xminbori为生成超球面的少数类边界点,R为随机生成的半径,取值范围为(0, ri);ω为随机生成的长度为‖ω‖的n维向量。
2.3 理论分析许多过采样方法是基于SMOTE算法加以改进得来,这里选用SMOTE[16]、Borderline-SMOTE[20]、和ADASYN[21]这3种过采样方法与本文的方法进行理论分析,就目前方法的局限性,说明本文方法过采样所生成样本点的质量更高。
SMOTE算法在面对不平衡数据集分类时,首先求得每个少数类样本点的K个近邻样本点,确定过采样倍率N后,对于每一个少数类样本点,对其K个近邻样本点随机选取N个进行过采样,采用公式如下:
$ x_{\mathrm{new}}=x_{\mathrm{cen}}+\operatorname{rand}(0, 1) \times\left(x_{\mathrm{cen}}-x_n\right) $ | (13) |
式中:xnew为新生样本点,xcen为过采样样本点,xn为xcen的K个近邻样本点之一。
按照SMOTE算法进行过采样时,容易受噪声点的影响,例如,当对图 5中样本点b和样本点c进行过采样时,新生样本点P和Q位于多数类区域,造成类间重叠,不利于分类。
![]() |
图 5 采样过程潜在问题说明 Fig. 5 Illustration of potential problems in sampling process |
作为SMOTE算法的改进算法,ADASYN算法和Borderline-SMOTE算法同SMOTE算法一样,都采用式(13)生成新样本点。Borderline-SMOTE算法只对边界点使用SMOTE算法进行过采样,虽避免了噪声点的影响,但受K近邻中K的影响,例如当对图 5中a点进行过采样,不同的K所决定的采样范围不同,新生样本点的质量和K的选取有着绝对密切的关系,例如,当K=9时,图 5中新生样本点S位于多数类区域。ADASYN算法剔除噪声点后,根据式(14)~(16)确定每个少数类样本点的过采样个数。虽然在确定每个少数类样本点的过采样个数时,ADASYN算法不受K近邻中K的影响,但在生成样本点阶段,同样会面临同Borderline-SMOTE算法一样的问题。
$ r_i=\Delta_i / K $ | (14) |
$ R_i=\frac{r_i}{\sum\limits_i^{m_s} r_i} $ | (15) |
$ g_i=R_i \times G $ | (16) |
式中:ri为设定参数,Δi为少数类样本点K近邻中属于多数类样本点的数量,Ri为每个少数类样本点的采样比例,G为总采样数量,gi为每个少数类样本点对应的采样数量。
不同于上述3种过采样方法,本文方法通过对数据集构建自然邻域,根据定义3~定义7将数据集划分为5个区域,当数据集包含少数类边界点时,由少数类边界点构建超球面,根据式(7)、(8)来计算每个超球面内的采样数量,超球面的半径越小则采样数量越多。
令
$ r_1<r_2<\cdots<r_{n_{\text {minbor }}} $ | (17) |
因为指数函数e-x是关于x的单调递减函数,且rnminbor>rnminbor-1>⋯>r1>0,那么
$ \begin{aligned} \mathrm{e}^{-r_1}>\mathrm{e}^{-r_2} & >\cdots>\mathrm{e}^{-r_{n_{\text {minbor }}}} \Leftrightarrow \\ \theta_1>\theta_2 & >\cdots>\theta_{n_{\text {minbor }}} \end{aligned} $ | (18) |
所以
$ \begin{gathered} \frac{\theta_1}{\sum\limits_1^{n_{\text {minbor }}} \theta_i} \times N_{\mathrm{C}}>\frac{\theta_2}{\sum\limits_1^{n_{\text {minbor }}}\theta_i } \times N_{\mathrm{C}}>\cdots>\frac{\theta_{n_{\text {minbor }}}}{\sum\limits_1^{n_{\text {minbor }}} \theta_i} \times N_{\mathrm{C}} \\ \\\ \Updownarrow \\ n_{c_1}>n_{c_2}>\cdots>n_{c_{n_{\text {minbor }}}} \end{gathered} $ | (19) |
当数据集经过区域划分后,数据集不包含少数类边界点,由自然邻域的形成过程可知,数据集的多数类与少数类有着相对独立的分布空间,例如图 2(b)所示,此时将所有的少数类归为少数类边界点。从图 1、2可以发现,处于数据集边界的数据点所拥有的自然邻居个数少于处于数据集内部的数据点所拥有的自然邻居个数,例如在图 1(c)中,当数据集形成自然邻域后,位于数据集类内边界的样本点5和样本点10都只有1个自然邻居,而位于数据集类内中心的样本点7和样本点12都有3个自然邻居,此时由式(10)、(11)计算每个超球面内的采样数量,样本点拥有的自然邻居个数越少则采样数量越多。
令
$ n_1<n_2<\cdots<n_{n_{\text {minbor }}} $ | (20) |
同上可得
$ \begin{gathered} \frac{\theta_1}{\sum\limits_1^{n_{\text {minbor }}} \theta_i} \times N_{\mathrm{C}}>\frac{\theta_2}{\sum\limits_1^{n_{\text {minbor }}}\theta_i } \times N_{\mathrm{C}}>\cdots>\frac{\theta_{n_{\text {minbor }}}}{\sum\limits_1^{n_{\text {minbor }}} \theta_i} \times N_{\mathrm{C}} \\ \\\ \Updownarrow \\ n_{c_1}>n_{c_2}>\cdots>n_{c_{n_{\text {minbor }}}} \end{gathered} $ | (21) |
通过上述论述可以得知,本文提出的方法不会受噪声点和K的影响,此外,采用式(12)在超球面内进行过采样,自适应确定超球面内采样数量,相较于SMOTE、Borderline-SMOTE、和ADASYN的线性插值的采样方法,本文提出的方法可以扩展少数类边界点的未知区域,增强少数类区域边界信息,更有利于后续分类时确定决策边界。
2.4 算法步骤Step1计算每个样本点与其他样本点之间的欧氏距离构建距离矩阵。
Step2根据距离矩阵,搜寻每个样本点的自然邻居,形成稳定的自然邻域。
Step3由定义3~定义7将数据集划分为5个区域。
Step4对每个少数类边界点构建超球面,根据式(5)计算超球面半径大小,将完全包含于大超球面内的小超球面进行合并,形成一个超球面集合。
Step5根据式(6)计算采样总数,并根据式(7)~ (11)计算每个超球面内对应的采样比例,并确定每个超球面内的采样数量。
Step6通过随机采样在每个超球面内生成指定数量的新样本点,形成增强边界信息的平衡数据集。
为更加清楚的解释本文方法的过采样过程,用二维人工数据集进行过采样,生成一个平衡数据集,其算法步骤的可视化结果见图 6。
![]() |
图 6 算法可视化过程 Fig. 6 Algorithm visualization flowchart |
图 6(a)为初始数据集,分为多数类和少数类;图 6(b)为通过搜索每个样本点的自然邻居形成的自然邻域图,其中不属于自然邻域的样本点为异常点;图 6(c)通过每个样本点的自然邻居的标签特征,将样本点划分为异常点、噪声点、多数类安全点、少数类安全点和少数类边界点5个区域;图 6(d)在剔除了异常点和噪声点后,对每个少数类边界点构建超球面;图 6(e)通过计算每个超球面内的样本点信息以及半径大小,合并完全处于大超球面中的小超球面,形成过采样区域;图 6(f)通过计算每个超球面内的采样数量,在每个超球面内随机生成指定个数的新样本点,形成平衡数据集。
3 试验与分析 3.1 性能指标对于不平衡数据集,传统分类器的分类结果会偏向多数类,此时分类器对该数据集的分类精度并不适用于评估分类器的性能。因此本文选择AUC值、F1和Gm作为评估分类器分类效果的性能指标[32-33],F1和Gm可由混淆矩阵(见表 1)求得。
![]() |
表 1 混淆矩阵 Tab. 1 Confusion matrix |
$ S=\frac{T_{\mathrm{P}}}{F_{\mathrm{P}}+F_{\mathrm{N}}} $ | (22) |
$ P=\frac{T_{\mathrm{P}}}{T_{\mathrm{P}}+F_{\mathrm{P}}} $ | (23) |
$ R=\frac{T_{\mathrm{P}}}{T_{\mathrm{P}}+F_{\mathrm{N}}} $ | (24) |
$ F_1=\frac{2 \times P \times R}{P+R} $ | (25) |
$ G_{\mathrm{m}}=\sqrt{R \times S} $ | (26) |
式中:S为特异度(Specificity),P为精确度(Precision),R为召回率(Recall),TP为被预测为少数类的少数类数量,FN为被预测为多数类的少数类数量,FP为被预测为少数类的多数类数量,TN为预测为多数类的多数类数量。
F1综合考虑了精确度(Precision)和召回率(Recall)的指标,F1越大表示对少数类的分类精度更高。Gm表示召回率(Recall)和特异性(Specificity) 的几何平均值,所以Gm越大表明在多数类和少数类上的表现都越好。此外还用了AUC值来评估分类器性能,AUC是ROC曲线下的面积,它不依赖于类别分布的平衡性。AUC是基于模型的排序能力而不是样本数量来评估性能的,即使在不平衡数据集中,正类别和负类别样本的数量差异很大,AUC值依旧可以用来评估性能。
3.2 人工数据集为了直观展现不同采样方法的特点,选用SMOTE[16]、Borderline-SMOTE[20]、ADASYN[21]和NaNSMOTE[28]这4种过采样方法与本文的方法在人工数据集上进行比较,其中人工数据集见表 2。不同采样方法在两个人工数据集上的采样效果见图 7、8。通过计算AUC值、F1以及Gm来对比不同方法的性能,表 3~5分别是不同方法以决策树(CART)、支持向量机(SVM)和K近邻(KNN)作为分类器的实验结果,其中效果最好的用黑体表示。
![]() |
表 2 人工数据集 Tab. 2 Artificial data sets |
![]() |
图 7 不同方法在A数据集上的采样效果 Fig. 7 Sampling effects of different methods on data set A |
![]() |
图 8 不同方法在B数据集上的采样效果 Fig. 8 Sampling effects of different methods on data set B |
![]() |
表 3 人工数据集以CART为分类器的实验结果 Tab. 3 Experimental results of artificial data sets based on CART classifier |
![]() |
表 4 人工数据集以SVM为分类器的实验结果 Tab. 4 Experimental results of artificial data sets based on SVM classifier |
![]() |
表 5 人工数据集以KNN为分类器的实验结果 Tab. 5 Experimental results of artificial data sets based on KNN classifier |
从图 7、8中不难发现,由于SMOTE、Borderline-SMOTE以及ADASYN这3种算法在生成新的样本点时,都和KNN密不可分,导致的采样结果随着K的选择而出现显著的差异,采样效果不佳,例如图 7(c)~7(e),SMOTE算法因为同等的对待每一个样本点,导致产生的新的样本点与多数类产生类间重叠。Borderline-SMOTE为了增强边界信息,只对部分少数类边界点进行过采样,但由于数据集分类边界比较模糊,新生成的样本点太过于靠近分类边界,导致产生了更加严重的类间重叠。ADASYN通过自适应的分配少数类边界点的采样权重进行过采样,但依旧不能有效避免类间重叠。NaNSMOTE是基于自然邻居进行过采样而非KNN,但它对分类边界不够重视,不能在后续分类过程中加强分类边界对分类器的影响。本文提出的方法可以有效增强分类边界信息,并且不会产生类间重叠。对于试验结果来说,从表 3~5可以看出,本文提出的方法在大多数情况下能取得最好的性能指标。
3.3 真实数据集这里采用12个UCI数据集分别在决策树(CART)、支持向量机(SVM)和K近邻(KNN) 3个分类器上进行试验,并与其他8种算法进行对比。表 6为本次试验所用到的对比方法及本文方法。
![]() |
表 6 对比方法 Tab. 6 Comparison of methods |
表 7为本文试验所用到的UCI数据集,其中:n为数据量大小, n+为少数类数量, n-为多数类数量,dim为数据的维度。试验过程中,训练集和测试集的比例为4∶ 1,训练集与测试集的不平衡比与原始数据集保持一致,试验结果为运行30次的平均结果。表 8~10是本文方法与8种对比方法以不同分类器进行分类的试验结果。图 9~11为本文方法与其他8种对比方法得到的试验结果的雷达图的形式,可以更加直观的展现试验效果。
![]() |
表 7 UCI数据集 Tab. 7 UCI data sets |
![]() |
表 8 以CART为分类器的实验结果 Tab. 8 Experimental results of CART based classifiers |
![]() |
图 9 各种算法以CART为分类器的实验结果 Fig. 9 Radar chart of experimental results of various algorithms based on CART classifiers |
![]() |
表 9 以SVM为分类器的实验结果 Tab. 9 Experimental results of SVM based classifiers |
![]() |
图 10 各种算法以SVM为分类器的实验结果 Fig. 10 Radar chart of experimental results of various algorithms based on SVM classifiers |
![]() |
表 10 以KNN为分类器的实验结果 Tab. 10 Experimental results of KNN based classifier |
![]() |
图 11 各种算法以KNN为分类器的实验结果 Fig. 11 Radar chart of experimental results of various algorithms based on KNN classifiers |
从表 8~10可知,在以CART、SVM和KNN为分类器的3个性能指标中,本文提出的方法在大多数数据集上可以取得最优结果。从图 9~11可以看出,本文提出的方法总体上要优于其他对比方法。特别在一些不平衡比例较大的数据集上,本文提出的方法效果尤为突出,这是因为在进行过采样时,只在超球面内生成新的样本点,与多数类没有交集区域,可以完全避免类间重叠的发生。
4 结论1) 通过搜索每个样本点的自然邻居,形成稳定的自然邻域,并将数据集划分为5个区域,可以有效剔除异常点和噪声点对过采样的影响。
2) 对每个少数类边界点构建超球面,然后合并完全包含在大超球面中的小超球面,形成一个超球面集合。
3) 过采样过程只在超球面内进行,并根据每个超球面半径的大小自适应的分配每个超球面内的采样比例,可以有效避免类间重叠的同时增强边界信息,更有利于进行分类。
4) 相较于其他方法,在以AUC值、F1以及Gm作为估计分类器的性能指标时,本文提出的方法在大多数数据集上可以取得最优结果。在未来的研究中,可以结合样本点的分布特点,有效扩大少数类的未知区域,进一步提高分类效果。
[1] |
YUAN Jianhui, ZHAO Rongzhen, HE Tianjing, et al. Fault diagnosis of rotor based on Semi-supervised Multi-Graph Joint Embedding[J]. ISA Transactions, 2022, 131: 516. DOI:10.1016/j.isatra.2022.05.006 |
[2] |
PAN Haiyang, XU Haifeng, ZHENG Jinde, et al. Non-parallel bounded support matrix machine and its application in roller bearing fault diagnosis[J]. Information Sciences, 2023, 624: 395. DOI:10.1016/j.ins.2022.12.090 |
[3] |
YANG Xiaohui, WANG Zheng, WU Huan, et al. Stable and compact face recognition via unlabeled data driven sparse representation-based classification[J]. Signal Processing: Image Communication, 2023, 111: 116889. DOI:10.1016/j.image.2022.116889 |
[4] |
REZAEIPANAH A, AHMADI G. Breast cancer diagnosis using multi-stage weight adjustment in the MLP neural network[J]. The Computer Journal, 2022, 65(4): 788. DOI:10.1093/comjnl/bxaa109 |
[5] |
NASROLLAHPOUR H, ISILDAK I, RASHIDI M R, et al. Ultrasensitive bioassaying of HER-2 protein for diagnosis of breast cancer using reduced graphene oxide/chitosan as nanobiocompatible platform[J]. Cancer Nanotechnology, 2021, 12(1): 10. DOI:10.1186/s12645-021-00082-y |
[6] |
CUI Lixin, BAI Lu, WANG Yanchao, et al. Internet financing credit risk evaluation using multiple structural interacting elastic net feature selection[J]. Pattern Recognition, 2021, 114: 107835. DOI:10.1016/j.patcog.2021.107835 |
[7] |
WANG Lu, WU Chong. Dynamic imbalanced business credit evaluation based on Learn++ with sliding time window and weight sampling and FCM with multiple kernels[J]. Information Sciences, 2020, 520: 305. DOI:10.1016/j.ins.2020.02.011 |
[8] |
周玉, 孙红玉, 房倩, 等. 不平衡数据集分类方法研究综述[J]. 计算机应用研究, 2022, 39(6): 1615. ZHOU Yu, SUN Hongyu, FANG Qian, et al. Review of imbalanced data classification methods[J]. Application Research of Computers, 2022, 39(6): 1615. DOI:10.19734/j.issn.1001-3695.2021.10.0590 |
[9] |
MAYABADI S, SAADATFAR H. Two density-based sampling approaches for imbalanced and overlapping data[J]. Knowledge-Based Systems, 2022, 241: 108217. DOI:10.1016/j.knosys.2022.108217 |
[10] |
SUN Lin, ZHANG Jiuxiao, DING Weiping, et al. Feature reduction for imbalanced data classification using similarity-based feature clustering with adaptive weighted K-nearest neighbors[J]. Information Sciences, 2022, 593: 591. DOI:10.1016/j.ins.2022.02.004 |
[11] |
GONG J, KIM H. RHSBoost: improving classification performance in imbalance data[J]. Computational Statistics & Data Analysis, 2017, 111: 1. DOI:10.1016/j.csda.2017.01.005 |
[12] |
WANG Zhe, CHEN Lilong, FAN Qi, et al. Multiple random empirical kernel learning with margin reinforcement for imbalance problems[J]. Engineering Applications of Artificial Intelligence, 2020, 90: 103535. DOI:10.1016/j.engappai.2020.103535 |
[13] |
YUAN Bowen, ZHANG Zhongliang, LUO Xinggang, et al. OIS-RF: a novel overlap and imbalance sensitive random forest[J]. Engineering Applications of Artificial Intelligence, 2021, 104: 104355. DOI:10.1016/j.engappai.2021.104355 |
[14] |
CHAWLA N V, LAZAREVIC A, HALL L O, et al. SMOTEBoost: improving prediction of the minority class in boosting[C]// European Conference on Principles of Data Mining and Knowledge Discovery. Heidelberg: Springer, 2003: 107. DOI: 10.1007/978-3-540-39804-2_12
|
[15] |
FREUND Y, SCHAPIRE R E. Experiments with a new boosting algorithm[C]//Proceedings of the Thirteenth International Conference on Machine Learning. Bari: ACM, 1996: 148. DOI: 10.5555/3091696.3091715
|
[16] |
CHAWLA N V, BOWYER K W, HALL L O, et al. SMOTE: synthetic minority over-sampling technique[J]. Journal of Artificial Intelligence Research, 2002, 16(1): 321. DOI:10.1613/jair.953 |
[17] |
AGUSTIANTO K, DESTARIANTO P. Imbalance data handling using neighborhood cleaning rule (NCL) sampling method for precision student modeling[C]//2019 International Conference on Computer Science, Information Technology, and Electrical Engineering (ICOMITEE). Jember: IEEE, 2019: 86. DOI: 10.1109/icomitee.2019.8921159
|
[18] |
WANG Xinyue, XU Jian, ZENG Tieyong, et al. Local distribution-based adaptive minority oversampling for imbalanced data classification[J]. Neurocomputing, 2021, 422: 200. DOI:10.1016/j.neucom.2020.05.030 |
[19] |
COVER T M, HART P E. Nearest neighbor pattern classification[J]. IEEE Transactions on Information Theory, 1967, 13(1): 21. DOI:10.1109/TIT.1967.1053964 |
[20] |
HAN Hui, WANG Wenyuan, MAO Binghuan. Borderline-SMOTE: a new over-sampling method in imbalanced data sets learning[M]. Lecture Notes in Computer Science: Heidelberg: Springer, 2005: 878. DOI:10.1007/11538059_91
|
[21] |
HE Haibo, BAI Yang, GARCIA E A, et al. ADASYN: adaptive synthetic sampling approach for imbalanced learning[C]//2008 IEEE International Joint Conference on Neural Networks (IEEE World Congress on Computational Intelligence). Hong Kong: IEEE, 2008: 1322. DOI: 10.1109/IJCNN.2008.4633969
|
[22] |
BARUA S, ISLAM M M, YAO Xin, et al. MWMOTE-majority weighted minority oversampling technique for imbalanced data set learning[J]. IEEE Transactions on Knowledge and Data Engineering, 2014, 26(2): 405. DOI:10.1109/TKDE.2012.232 |
[23] |
BUNKHUMPORNPAT C, SINAPIROMSARAN K, LURSINSAP C. Safe-level-smote: safe-level-synthetic minority over-sampling technique for handling the class imbalanced problem[C]//Pacific-Asia Conference on Advances in Knowledge Discovery and Data Mining. Heidelberg: Springer, 2009: 475. DOI: 10.1007/978-3-642-01307-2_43
|
[24] |
CHEN Baiyun, XIA Shuyin, CHEN Zizhong, et al. RSMOTE: a self-adaptive robust SMOTE for imbalanced problems with label noise[J]. Information Sciences, 2021, 553: 397. DOI:10.1016/j.ins.2020.10.013 |
[25] |
KOZIARSKI M, KRAWCZYK B, WOZNIAK M. Radial-based approach to imbalanced data oversampling[C]//International Conference on Hybrid Artificial Intelligence Systems. Cham: Springer, 2017: 318. DOI: 10.1007/978-3-319-59650-1_27
|
[26] |
BEJ S, DAVTYAN N, WOLFIEN M, et al. LoRAS: an oversampling approach for imbalanced datasets[J]. Machine Learning, 2021, 110(2): 279. DOI:10.1007/s10994-020-05913-4 |
[27] |
ZHU Qingsheng, FENG Ji, HUANG Jinlong. Natural neighbor: a self-adaptive neighborhood method without parameter K[J]. Pattern Recognition Letters, 2016, 80: 30. DOI:10.1016/j.patrec.2016.05.007 |
[28] |
LI Junnan, ZHU Qingsheng, WU Quanwang, et al. A novel oversampling technique for class-imbalanced learning based on SMOTE and natural neighbors[J]. Information Sciences, 2021, 565: 438. DOI:10.1016/j.ins.2021.03.041 |
[29] |
LENG Qiangkui, GUO Jiamei, JIAO Erjie, et al. NanBDOS: adaptive and parameter-free borderline oversampling via natural neighbor search for class-imbalance learning[J]. Knowledge-Based Systems, 2023, 274: 110665. DOI:10.1016/j.knosys.2023.110665 |
[30] |
HO T K, BASU M. Complexity measures of supervised classification problems[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, 24(3): 289. DOI:10.1109/34.990132 |
[31] |
TAO Xinmin, GUO Xinyue, ZHENG Yujia, et al. Self-adaptive oversampling method based on the complexity of minority data in imbalanced datasets classification[J]. Knowledge-Based Systems, 2023, 277: 110795. DOI:10.1016/j.knosys.2023.110795 |
[32] |
周玉, 岳学震, 孙红玉. 考虑不平衡指数的不平衡数据集分类设计方法[J]. 计算机应用研究, 2023, 40(12): 3566. ZHOU Yu, YUE Xuezhen, SUN Hongyu. Classification design method of unbalanced data sets considering unbalanced index[J]. Application Research of Computers, 2023, 40(12): 3566. DOI:10.19734/j.issn.1001-3695.2023.04.0163 |
[33] |
ZHANG Aimin, YU Hualong, HUAN Zhangjun, et al. SMOTE-RkNN: a hybrid re-sampling method based on SMOTE and reverse k-nearest neighbors[J]. Information Sciences, 2022, 595: 70. DOI:10.1016/j.ins.2022.02.038 |