摘要: 針對(duì)人工少數(shù)類過(guò)采樣(synthetic minority over-sampling technique,SMOTE)算法存在樣本合成區(qū)域狹小,容易將少數(shù)類泛化到多數(shù)類及引入噪聲的問(wèn)題,提出一種基于噪聲過(guò)濾、邊界點(diǎn)自適應(yīng)采樣的過(guò)采樣算法。首先,該算法使用K近鄰算法進(jìn)行噪聲過(guò)濾,接著確定邊界點(diǎn)并在邊界點(diǎn)中尋找合適的點(diǎn)作為根樣本點(diǎn),并以其K近鄰點(diǎn)中與其同類且歐氏距離最遠(yuǎn)的點(diǎn)作為候選樣本點(diǎn)。然后,根據(jù)根樣本點(diǎn)所攜帶的邊界信息確定該點(diǎn)所合成的樣本數(shù)量,并根據(jù)根樣本點(diǎn)和候選樣本點(diǎn)生成一個(gè)N維球體作為樣本的合成區(qū)間。最后,對(duì)合成樣本進(jìn)行判斷以確定其是否滿足條件。通過(guò)實(shí)驗(yàn)證明,該算法生成的樣本質(zhì)量要優(yōu)于SMOTE及其常見(jiàn)變種算法。
關(guān)鍵詞: SMOTE; KNN; 過(guò)采樣算法; 數(shù)據(jù)不均衡; ISMOTE
中圖分類號(hào): TP391
文獻(xiàn)標(biāo)志碼: A
文章編號(hào): 1671-6841(2025)01-0023-08
DOI: 10.13705/j.issn.1671-6841.2023160
Adaptive Sampling Algorithm Based on Border Information
DU Ruishan1,2, JIN Mingyang1, MENG Lingdong2, SONG Jianhui1
(1.Department of Computer and Information Technology, Northeast Petroleum University,
Daqing 163318, China; 2.Key Laboratory of Oil and Gas Reservoir and Underground Gas Storage
Integrity Evaluation, Northeast Petroleum University, Daqing 163318, China)
Abstract: In order to address the issues of limited synthetic region, potential generalization of minority class to majority class, and introduction of noise in the synthetic minority over-sampling technique (SMOTE) algorithm, a oversampling method based on noise-filtering and boundary-point adaptive sampling was proposed. Firstly, the K-nearest neighbors algorithm was utilized for noise filtering. Next, the boundary points were identified and appropriate points among them were selected as root samples, with the candidate samples being chosen as the farthest points in the K-nearest neighbors of the same class with the root samples based on the Euclidean distance. Subsequently, the number of synthetic samples to be generated for each root sample was determined based on the boundary information carried by the root samples. An N-dimensional sphere was created using the root samples and the candidate samples as the synthesis interval for the samples. Finally, the synthesized samples were assessed to ensure their compliance with the conditions. Experimental results demonstrated that the proposed method yielded samples with higher quality compared to SMOTE and its common variants.
Key words: SMOTE; KNN; oversampling algorithm; unbalanced data; ISMOTE
0引言
分類問(wèn)題是機(jī)器學(xué)習(xí)領(lǐng)域中的一個(gè)重要問(wèn)題。在處理分類問(wèn)題時(shí),傳統(tǒng)分類算法往往會(huì)假設(shè)不同類別的樣本數(shù)量大致是相同的。但在實(shí)際數(shù)據(jù)中,不同類別的樣本數(shù)量往往存在著巨大差異[1]。
少數(shù)類樣本數(shù)量較少,不能很好地表征少數(shù)類的特征。傳統(tǒng)分類算法為了追求整體的分類準(zhǔn)確率,會(huì)將重點(diǎn)放在多數(shù)類而忽略對(duì)少數(shù)類特征的學(xué)習(xí),這會(huì)導(dǎo)致少數(shù)類被誤分類。而大多數(shù)情況下,精準(zhǔn)識(shí)別少數(shù)類才是研究人員所追求的目標(biāo)。
針對(duì)數(shù)據(jù)不均衡問(wèn)題,現(xiàn)行的解決方法大致可分為兩個(gè)層面[2]:數(shù)據(jù)層面和算法層面。本文將從數(shù)據(jù)層面解決數(shù)據(jù)不均衡問(wèn)題。數(shù)據(jù)層面常見(jiàn)的方法包括過(guò)采樣、欠采樣[3]。過(guò)采樣方法可能會(huì)導(dǎo)致過(guò)擬合,而欠采樣方法可能會(huì)剔除部分有價(jià)值的數(shù)據(jù)。隨機(jī)過(guò)采樣[4]方法采用隨機(jī)復(fù)制少數(shù)類的方法擴(kuò)充樣本,但是該算法容易將少數(shù)類特征具體化,產(chǎn)生過(guò)擬合。在諸多過(guò)采樣方法中,SMOTE[5]是其中經(jīng)典的算法,至今仍有很多研究人員通過(guò)改進(jìn)SMOTE來(lái)獲取良好的數(shù)據(jù)均衡效果。SMOTE通過(guò)尋找少數(shù)類樣本的K近鄰,將近鄰點(diǎn)和樣本點(diǎn)連接,在兩者之間確定合成的樣本點(diǎn)。然而,SMOTE在進(jìn)行少數(shù)類樣本合成時(shí),將所有少數(shù)類點(diǎn)的重要性一視同仁,忽略了樣本分布對(duì)合成數(shù)據(jù)的影響,可能會(huì)引入噪聲,增加學(xué)習(xí)少數(shù)類特征的難度。
針對(duì)SMOTE隨機(jī)選擇樣本點(diǎn)進(jìn)行新樣本合成,并不能很好呈現(xiàn)出少數(shù)類邊界的問(wèn)題,He等[6]提出了ADASYN算法。ADASYN通過(guò)學(xué)習(xí)少數(shù)類所攜帶的邊界信息自適應(yīng)地生成少數(shù)類樣本。Han等[7]設(shè)計(jì)了Borderline-SMOTE算法,該算法將根樣本點(diǎn)放在少數(shù)類的邊界區(qū)域,通過(guò)樣本點(diǎn)K近鄰中多數(shù)類和少數(shù)類樣本所占比例合成樣本。針對(duì)SMOTE的樣本合成區(qū)間僅是在兩個(gè)少數(shù)類點(diǎn)的連線間的問(wèn)題,許丹丹等[8]提出ISMOTE,使用兩個(gè)少數(shù)類點(diǎn)構(gòu)成的N維球體作為樣本合成區(qū)間。楊思狄等[9]提出將ISMOTE和SVM結(jié)合構(gòu)建分類模型,擴(kuò)大了樣本的合成區(qū)間并取得了良好的分類效果。針對(duì)SMOTE合成樣本時(shí)易引入噪聲的問(wèn)題,Yi等[10]提出ASN-SMOTE算法,首先使用KNN濾除噪聲,然后計(jì)算合成樣本難度并根據(jù)難度進(jìn)行自適應(yīng)過(guò)采樣。Arafa等[11]提出RNSMOTE,該算法將SMOTE和DBSCAN結(jié)合起來(lái),首先直接使用SMOTE對(duì)數(shù)據(jù)進(jìn)行合成,針對(duì)SMOTE合成的噪聲,使用DBSCAN進(jìn)行檢測(cè)并清除。
生成對(duì)抗網(wǎng)絡(luò)[12](generative adversarial networks,GAN)在圖像增強(qiáng)[13]領(lǐng)域獲得了巨大的成功。隨著其發(fā)展,有學(xué)者提出使用基于GAN生成對(duì)抗網(wǎng)絡(luò)的方法合成結(jié)構(gòu)化數(shù)據(jù)。張浩等[14]提出使用基于WGAN的數(shù)據(jù)均衡方法,首先對(duì)數(shù)據(jù)集特征進(jìn)行劃分和提取,然后通過(guò)WGAN來(lái)進(jìn)行數(shù)據(jù)均衡。Zheng等[15]將WGAN-GP和CGAN結(jié)合的方法對(duì)不均衡數(shù)據(jù)進(jìn)行過(guò)采樣,并在15個(gè)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),證明了所提方法的優(yōu)越性。但使用GAN及其改進(jìn)方法進(jìn)行數(shù)據(jù)均衡存在著模型收斂困難、所需計(jì)算資源較大等問(wèn)題。使用SMOTE及其變種方法對(duì)不均衡數(shù)據(jù)進(jìn)行均衡則不存在需要大量的計(jì)算資源和模型收斂等問(wèn)題。故本文仍使用基于SMOTE的算法均衡數(shù)據(jù)。
上述算法對(duì)SMOTE進(jìn)行了許多改進(jìn),但針對(duì)不均衡分類問(wèn)題仍顯得有些不足。本文提出一種基于SMOTE和邊界點(diǎn)自適應(yīng)采樣的過(guò)采樣RDSMOTE算法。本算法使用基于K近鄰的噪聲過(guò)濾算法去除噪聲,然后選擇邊界點(diǎn)作為根樣本點(diǎn),在根樣本點(diǎn)的K近鄰點(diǎn)中選擇距離根樣本點(diǎn)歐氏距離最遠(yuǎn)的同類別點(diǎn)作為候選樣本點(diǎn),最后將樣本合成區(qū)域擴(kuò)大為以根樣本點(diǎn)為球心,以上述距離為半徑的N維球體。在確定每個(gè)少數(shù)類實(shí)例合成樣本數(shù)量時(shí),對(duì)每個(gè)少數(shù)類點(diǎn)采用自適應(yīng)算法進(jìn)行樣本合成,然后對(duì)合成的少數(shù)類樣本再次進(jìn)行噪聲過(guò)濾,直至合成的樣本數(shù)量滿足所需為止。
1相關(guān)工作
1.1ADASYN
相比與SMOTE,ADASYN引入了自適應(yīng)合成樣本數(shù)量的思想。其關(guān)鍵步驟如下。
輸入:數(shù)據(jù)集D。
輸出:均衡后數(shù)據(jù)集D。
Step1定義不均衡率r,
r=m/m,
其中:m、m分別為少數(shù)類和多數(shù)類的數(shù)量;
r′為判定數(shù)據(jù)集是否均衡的不均衡率閾值;
當(dāng)r<r′時(shí),進(jìn)入Step2,否則視為均衡數(shù)據(jù),不進(jìn)行過(guò)采樣。
Step2計(jì)算樣本達(dá)到均衡時(shí),少數(shù)類需要合成的數(shù)量n,
n=(m-m)×β,β∈(0,1],
其中:β表示期望達(dá)到的數(shù)據(jù)均衡率,當(dāng)β為1時(shí),均衡后的少數(shù)類數(shù)量和多數(shù)類相同。
Step3根據(jù)x的K近鄰樣本中多數(shù)類的個(gè)數(shù),計(jì)算每個(gè)少數(shù)類樣本x的不均衡率,x為少數(shù)類的任意一個(gè)樣本,
r=Δ/K,i=1,…,m,
其中:K表示少數(shù)類的K近鄰數(shù);Δ表示x的K近鄰樣本中多數(shù)類的數(shù)量。
Step4對(duì)r進(jìn)行歸一化,
=r∑mi=1r。
歸一化之后, 滿足∑mi=1=1。
Step5計(jì)算每個(gè)少數(shù)類點(diǎn)x合成的樣本數(shù)量g,
g=×n。
Step6按照SMOTE算法進(jìn)行樣本合成,
xnew=x+rand(0,1)×(x-x),
其中:xnew為合成的新樣本;rand(0,1)返回0~1之間的隨機(jī)數(shù);x代表x的一個(gè)K近鄰樣本。
1.2ISMOTE
ISMOTE采用的思想和原始的SMOTE基本是一致的,都是采用選擇少數(shù)類中的兩個(gè)點(diǎn)進(jìn)行樣本合成。但I(xiàn)SMOTE以一個(gè)少數(shù)類點(diǎn)為球心,以球心的一個(gè)近鄰樣本構(gòu)成一個(gè)N維球體,在該球體內(nèi)合成少數(shù)類樣本。其關(guān)鍵步驟如下。
輸入:數(shù)據(jù)集D。
輸出:均衡后數(shù)據(jù)集D。
Step1確定根樣本點(diǎn)。計(jì)算每個(gè)少數(shù)類樣本點(diǎn)的K近鄰,若其K近鄰都是少數(shù)類,則標(biāo)記為根樣本點(diǎn)。
Step2確定候選樣本點(diǎn)。將根樣本點(diǎn)的K近鄰作為該根樣本點(diǎn)所對(duì)應(yīng)的候選樣本點(diǎn)。
Step3合成樣本。假設(shè)數(shù)據(jù)集維度為n,x為一個(gè)根樣本點(diǎn),x為x的一個(gè)候選樣本點(diǎn),x為點(diǎn)x在第m維的值,由x和x合成的新樣本xnew則應(yīng)滿足
Edis(xnew,x)≤Edis(x,x),
xnew=x+rand(0,1)×(b-a),
a=x-x-x,
b=x+x-x,
其中:Edisfbee748cd1fe87137d5152db04159e301708d235c5d0e1ed86187e945b56edbf()返回兩者間的歐氏距離。
2本文算法
傳統(tǒng)SMOTE雖然能處理數(shù)據(jù)不均衡問(wèn)題,但合成少數(shù)類樣本的空間狹小,可能會(huì)模糊多數(shù)類與少數(shù)類的邊界。針對(duì)傳統(tǒng)SMOTE存在的問(wèn)題,本文提出了RDSMOTE算法,該算法結(jié)合了自適應(yīng)過(guò)采樣算法和ISMOTE算法,擴(kuò)大了樣本的合成區(qū)間,可以合成質(zhì)量較高的少數(shù)類樣本。本算法步驟可分為噪聲過(guò)濾、確定合格樣本、確定樣本合成數(shù)量、樣本合成。
本文將樣本數(shù)量最多的類記為多數(shù)類,其他類記為不同類別的少數(shù)類。首先給出形式化定義:總體樣本表示為D;總體樣本數(shù)量為N;多數(shù)類表示為D;多數(shù)類數(shù)量為N;所有的少數(shù)類表示為D,所有少數(shù)類的數(shù)量為N,少數(shù)類共有c種,單個(gè)少數(shù)類表示為D(i=1,…,c),單個(gè)少數(shù)類的數(shù)量為N,樣本的維度為n。
2.1噪聲過(guò)濾
在處理實(shí)際數(shù)據(jù)時(shí),噪聲數(shù)據(jù)的存在不可避免。噪聲不僅會(huì)影響過(guò)采樣算法的合理性和所合成樣本的質(zhì)量,還會(huì)影響分類器的準(zhǔn)確性。在此階段,本文提出了一種基于最近鄰的噪聲過(guò)濾算法,以濾除少數(shù)類中的噪聲,提高合成樣本質(zhì)量。本算法通過(guò)每個(gè)少數(shù)類樣本點(diǎn)的最近樣本點(diǎn)來(lái)篩選噪聲并濾除。
對(duì)于D中的一個(gè)隨機(jī)樣本x,計(jì)算x到D中每個(gè)樣本的歐氏距離。如果距離最近的樣本與其不屬于同一類別,則將該點(diǎn)視為噪聲并刪除。
算法1噪聲過(guò)濾算法
輸入:D,D,A,其中A為合格樣本集。
輸出:D,D。
Step1初始化A。
Step2計(jì)算x與D中各個(gè)點(diǎn)的歐氏距離,并找出與x距離最近的點(diǎn)。
Step3若x與x不是同一類別,則將x視為噪聲點(diǎn)。否則視為合格樣本點(diǎn)并添加至A。
Step4根據(jù)A更新D和D。
2.2確定合格樣本
用于合成樣本點(diǎn)的少數(shù)類(根樣本點(diǎn))及其近鄰點(diǎn)(候選樣本點(diǎn))對(duì)合成樣本的質(zhì)量有很大的影響。原始的SMOTE算法采用隨機(jī)選擇根樣本點(diǎn)和候選樣本點(diǎn)來(lái)合成樣本,這種做法可能會(huì)導(dǎo)致合成樣本點(diǎn)落在多數(shù)類區(qū)域。為此,本文提出一種基于邊界信息的樣本選擇策略。
首先,求出x在D中的K近鄰點(diǎn)。統(tǒng)計(jì)x的K近鄰樣本中與x屬于同一類別的樣本數(shù)目并記為num,若2/K≤num≤K,則將x定義為邊界點(diǎn),將邊界點(diǎn)作為根樣本點(diǎn)。在其K近鄰點(diǎn)中,找到距離x最遠(yuǎn)的同類別點(diǎn)x,將x記為根樣本點(diǎn),將x記為x對(duì)應(yīng)的候選樣本點(diǎn)。最后將二者分別記錄下來(lái)。
算法2樣本選擇算法
輸入:D,D。
輸出:B,C。
Step1初始化B,C,其中B、C分別為根樣本集和候選樣本集。
Step2使用KNN算法計(jì)算x的K近鄰,并計(jì)算近鄰點(diǎn)中與x同類別的點(diǎn)的個(gè)數(shù)num。若2/K≤num<K,則將其標(biāo)記為邊界點(diǎn)。若為邊界點(diǎn)則執(zhí)行step3。
Step3在邊界點(diǎn)x的K近鄰中,找出與x同類別且歐氏距離最大的點(diǎn)x,并將x添加至B,并將x添加至C中。
2.3確定樣本合成個(gè)數(shù)
在合成樣本時(shí),單個(gè)樣本點(diǎn)所攜帶信息各不相同,單個(gè)少數(shù)類所合成樣本的數(shù)量對(duì)樣本質(zhì)量有重要的影響。本算法在確定單個(gè)少數(shù)類點(diǎn)合成樣本數(shù)量時(shí)主要參考邊界點(diǎn)的不均衡率,即少數(shù)類點(diǎn)的K近鄰點(diǎn)中其他類別樣本點(diǎn)數(shù)量與K的比值。主要思想是對(duì)某個(gè)少數(shù)類D,首先根據(jù)D與多數(shù)類樣本個(gè)數(shù)的差值確定需要合成的樣本數(shù)量S。然后針對(duì)x計(jì)算不均衡率,對(duì)D中所有點(diǎn)的不均衡率進(jìn)行歸一化。歸一化之后,所有的不均衡率之和為1。x所需要合成的樣本點(diǎn)數(shù)量為其不均衡率乘以S。
算法3確定合成樣本數(shù)量算法
輸入:B,C,D,D。
輸出:n。
Step1設(shè)定不均衡閾值r′,分別計(jì)算每個(gè)少數(shù)類和多數(shù)類樣本數(shù)量的比例。若比例高于r′,則不對(duì)該少數(shù)類進(jìn)行過(guò)采樣。若比例低于r′,則執(zhí)行step2。
Step2計(jì)算D需要合成的樣本數(shù)量S,
S=β×(N-N),
其中:當(dāng)β=1時(shí),樣本合成之后少數(shù)類和多數(shù)類的數(shù)量相等。
Step3確定D中每個(gè)點(diǎn)的不均衡率r,
r=Δ/k,
其中:Δ為x的K近鄰中多數(shù)類的個(gè)數(shù)。
Step4對(duì)不均衡率進(jìn)行歸一化,
=r∑Ni=1r。
Step5計(jì)算每個(gè)少數(shù)類樣本點(diǎn)所需要合成樣本的數(shù)目n,
n=S×。
2.4樣本合成
針對(duì)SMOTE樣本合成區(qū)間狹小的問(wèn)題,本算法使用以根樣本點(diǎn)為球心、根樣本點(diǎn)和候選樣本點(diǎn)之間的歐氏距離為半徑的N維球體作為樣本的合成區(qū)間??紤]根樣本點(diǎn)和候選樣本點(diǎn)所形成的球體之間存在其他類,為優(yōu)化合成樣本的質(zhì)量,對(duì)合成的樣本進(jìn)行篩選,篩選算法同噪聲過(guò)濾算法相同。若距離合成點(diǎn)最近的點(diǎn)為其他類點(diǎn),則刪除該點(diǎn)并重新合成樣本點(diǎn)。
算法4樣本合成算法
輸入:B,C,D,D,n。
輸出:D。
Step1根據(jù)根樣本點(diǎn)和半徑生成樣本,所合成的樣本應(yīng)符合
Edis(xnew,x)≤Edis(x,x),
a=x-x-x,
b=x+x-x,
xnew=x+rand(b-a),
其中:m表示少數(shù)類的第m維,1<m<n;
x為x的第m維的值;
Edis()返回兩點(diǎn)間的歐氏距離。
Step2使用算法1進(jìn)行判斷合成的樣本點(diǎn)是否合理,合理則保留,不合理則重新生成。
Step3Step2合成的樣本與D合并為最終樣本集D。
RDSMOTE算法流程如下。
Step1使用算法1刪除噪聲點(diǎn)。
Step2使用算法2篩選出每個(gè)少數(shù)類的根樣本點(diǎn)和與其對(duì)應(yīng)的候選樣本點(diǎn)。
Step3使用算法3計(jì)算出每個(gè)少數(shù)類需要生成的樣本數(shù)量,及每個(gè)少數(shù)類中每個(gè)樣本點(diǎn)需要生成的樣本數(shù)量。
Step4使用算法4合成樣本,對(duì)合成樣本是否合格進(jìn)行驗(yàn)證。合格則保留該點(diǎn),不合格則重新合成,直至合成的樣本數(shù)量達(dá)到所需數(shù)量。
圖1為使用SMOTE算法、SVMSMOTE算法、ADASYN算法、RDSMOTE算法在二維數(shù)據(jù)上進(jìn)行數(shù)據(jù)處理的結(jié)果。
所使用的數(shù)據(jù)由sklearn庫(kù)中的make_circles()函數(shù)生成,是一個(gè)在二維平面上形狀如內(nèi)圓和外圓的數(shù)據(jù)集。本文共生成100個(gè)樣本,噪聲為0.3,內(nèi)側(cè)圓和外側(cè)圓之間的空隙比為0.2,多數(shù)類和少數(shù)類之間的比例為4∶1。通過(guò)圖1可以看出,SMOTE所合成點(diǎn)主要在少數(shù)點(diǎn)的內(nèi)部,沒(méi)有很好地采集刻畫(huà)出少數(shù)類樣本的分布特征。ADASYN和SVMSMOTE的采樣結(jié)果比SMOTE更關(guān)注邊界信息,但合成樣本的多樣性不足。RDSMOTE同時(shí)關(guān)注了少數(shù)類內(nèi)部和邊界信息,較好地表現(xiàn)出樣本的分布特征,所合成新樣本的多樣性也有所提高。
3實(shí)驗(yàn)
3.1數(shù)據(jù)集介紹
為了評(píng)估本算法的性能,本文使用來(lái)自KEEL中的5個(gè)公共數(shù)據(jù)集作為實(shí)驗(yàn)數(shù)據(jù)。這些數(shù)據(jù)集中既有二類數(shù)據(jù)集又有多類數(shù)據(jù)集。數(shù)據(jù)集的樣本數(shù)量為178~768。數(shù)據(jù)集的不均衡比(IR)為1.87~5.46。在實(shí)驗(yàn)中,將每個(gè)數(shù)據(jù)集里數(shù)量最多的數(shù)據(jù)作為多數(shù)類,其余數(shù)據(jù)按照不同的類別分為不同的少數(shù)類。將每個(gè)數(shù)據(jù)集按照70%的訓(xùn)練集和30%的測(cè)試集進(jìn)行劃分。所使用數(shù)據(jù)集如表1所示。
3.2評(píng)價(jià)標(biāo)準(zhǔn)
分類準(zhǔn)確度不適用于不平衡數(shù)據(jù)集[16],而混淆矩陣統(tǒng)計(jì)了各類樣本的分類情況,是衡量分類型模型性能最直觀的方法。本文中少數(shù)類定義為正類,多數(shù)類定義為負(fù)類。當(dāng)正類樣本被預(yù)測(cè)為正類時(shí)記為T(mén)P,正類樣本被預(yù)測(cè)為負(fù)類時(shí)記為FN,負(fù)類樣本被預(yù)測(cè)為正類時(shí)記為FP,負(fù)類樣本被預(yù)測(cè)為負(fù)類時(shí)記為T(mén)N。
查準(zhǔn)率:
Precision=TPTP+FP。
召回率:
Recall=TPTP+FN。
特異度:
Specificity=TNTN+FP。
F1值:
F1=(1+β2)×Precision×Recallβ2×Precision+Recall。
Gmean:
Gmean=TPTP+FN×TNTN+FP。
F1值是查準(zhǔn)率和召回率的調(diào)和平均,F(xiàn)1值越高意味著算法對(duì)少數(shù)類樣本的識(shí)別性能越好。Gmean兼顧召回率和特異度,為二者的幾何平均,可以綜合評(píng)價(jià)多數(shù)類和少數(shù)類的分類情況。AUC是ROC曲線的面積,可以綜合比較分類器對(duì)多數(shù)類和少數(shù)類的分類能力,是數(shù)據(jù)不均衡情況下衡量分類器的最佳評(píng)價(jià)模型。
MG[17]和MAUC分別是在二類評(píng)價(jià)Gmean和AUC的基礎(chǔ)上擴(kuò)展的多類不平衡學(xué)習(xí)的評(píng)價(jià)指標(biāo)。
MG=∏ci=1Recall1c,
MAUC=2c(c-1)∑i<j
[M(i,j)+M(j,i)]2,
其中:β一般取1;M(i,j)為類i和類j之間的AUC。
本算法著重于多類不均衡問(wèn)題的分類問(wèn)題,為此采用F1、MG、MAUC作為評(píng)價(jià)指標(biāo)來(lái)體現(xiàn)算法的性能。
3.3結(jié)果與分析
3.3.1結(jié)果分析
本文使用SMOTE、SVMSMOTE、ADASYN作為對(duì)比算法,使用隨機(jī)森林(random forest,RF)作為分類算法。為了統(tǒng)一標(biāo)準(zhǔn),所有算法均采用默認(rèn)參數(shù)。實(shí)驗(yàn)中對(duì)每個(gè)數(shù)據(jù)集進(jìn)行了10次隨機(jī)劃分,將3種評(píng)價(jià)指標(biāo)的均值作為最終結(jié)果。
表2~4給出過(guò)采樣后的數(shù)據(jù)集在RF上的表現(xiàn)。
從表2~4可以看出,本文在5個(gè)數(shù)據(jù)集中均取得了較好的結(jié)果。在F1方面,本文在所有數(shù)據(jù)集中都取得了最優(yōu)值。尤其在Haberman數(shù)據(jù)集中,比表現(xiàn)最差的SMOTE算法提高了16.2%,比表現(xiàn)最好的SVMSMOTE也提高了10.7%。在MG方面,本文算法在4個(gè)數(shù)據(jù)集中都取得了最佳表現(xiàn),在Glass0中比SVMSMOTE提高了18.4%,比ADASYN提高了14.6%。在MAUC方面,在4個(gè)數(shù)據(jù)集中均取得了最優(yōu)值,在Haberman數(shù)據(jù)集中,比最差的SMOTE提高了17.4%,比SVMSMOTE提高了12.1%。從以上數(shù)據(jù)可以看出,本文算法可以很好地處理二分類和多分類的數(shù)據(jù)不均衡問(wèn)題。這是因?yàn)楸疚乃惴ㄊ紫葘?duì)數(shù)據(jù)進(jìn)行了噪聲過(guò)濾,避免引入噪聲。然后,只對(duì)少數(shù)類的邊界點(diǎn)進(jìn)行采樣,可以較好地學(xué)習(xí)少數(shù)類的邊界信息,避免邊界混淆。最后,將N維球體作為樣本合成區(qū)間,使得合成樣本的分布更加均勻,有效地提高了合成樣本的質(zhì)量以及合理性,從而提高了算法的總體性能。
3.3.2參數(shù)討論
在本文算法中,K值對(duì)算法有著巨大的影響。為此,本文選擇3,5,7,9,11這5個(gè)奇數(shù)作為K值,通過(guò)對(duì)比RDSMOTE在不同K值下,MAUC、F1、MG的表現(xiàn)來(lái)確定K值。圖2~4為不同K值下的MAUC、F1、MG值。
可以看出,本文算法結(jié)果隨著K值的改變而改變。在K=5時(shí),大多數(shù)數(shù)據(jù)集的F1、MG、MAUC都取得了最優(yōu)解,且隨著K值的增加,性能有下降的趨勢(shì)。這是因?yàn)楸疚乃惴ㄔ诤铣缮贁?shù)類樣本時(shí),使用邊界點(diǎn)作為根樣本點(diǎn),隨著K值的增加,符合條件的根樣本點(diǎn)會(huì)隨之減少,在總的生成樣本量不變情況下,單個(gè)根樣本點(diǎn)合成樣本數(shù)量會(huì)隨之增加,這可能會(huì)使得分類器學(xué)到虛假的少數(shù)類特征,進(jìn)而造成算法性能的下降。
4結(jié)論
本文提出了一種基于邊界點(diǎn)采樣的多類不均衡過(guò)采樣算法來(lái)處理多類不均衡問(wèn)題。首先,對(duì)少數(shù)類點(diǎn)與距其歐氏距離最小的點(diǎn)進(jìn)行判斷。若兩點(diǎn)不是同類別點(diǎn),則將近鄰點(diǎn)作為噪聲并過(guò)濾。然后,對(duì)少數(shù)類樣本點(diǎn)進(jìn)行邊界點(diǎn)篩選,將邊界點(diǎn)作為根樣本點(diǎn),將根樣本點(diǎn)的K近鄰中距離根樣本點(diǎn)最遠(yuǎn)且與其屬于同類別的點(diǎn)作為候選樣本點(diǎn)。根據(jù)根樣本點(diǎn)的邊界信息確定該點(diǎn)應(yīng)該合成的樣本數(shù)量。在樣本合成階段,將樣本合成區(qū)間擴(kuò)大為以根樣本點(diǎn)為球心,以根樣本點(diǎn)和候選樣本點(diǎn)為半徑的一個(gè)N維球體,有利于樣本的均勻分布并提高合成樣本的質(zhì)量。最后,將本文算法和三種常見(jiàn)的過(guò)采樣算法進(jìn)行對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,在大多數(shù)的數(shù)據(jù)集中,本文算法表現(xiàn)更優(yōu)。
下一步工作將圍繞以下方面展開(kāi):
1) 將本文算法所適用的數(shù)據(jù)集從數(shù)值型數(shù)據(jù)集擴(kuò)大到非數(shù)值型數(shù)據(jù)集和混合型數(shù)據(jù)集。
2) 在合成樣本時(shí),考慮將單個(gè)根樣本點(diǎn)合成樣本數(shù)量與同樣本權(quán)重結(jié)合,以便更合理地合成少數(shù)類。
參考文獻(xiàn):
[1]王樂(lè), 韓萌, 李小娟, 等. 不平衡數(shù)據(jù)集分類方法綜述[J]. 計(jì)算機(jī)工程與應(yīng)用, 2021, 57(22): 42-52.
WANG L, HAN M, LI X J, et al. Review of classification methods for unbalanced data sets[J]. Computer engineering and applications, 2021, 57(22): 42-52.
[2]李昂, 韓萌, 穆棟梁, 等. 多類不平衡數(shù)據(jù)分類方法綜述[J]. 計(jì)算機(jī)應(yīng)用研究, 2022, 39(12): 3534-3545.
LI A, HAN M, MU D L, et al. Survey of multi-class imbalanced data classification methods[J]. Application research of computers, 2022, 39(12): 3534-3545.
[3]于艷麗, 江開(kāi)忠, 王珂, 等. 改進(jìn)K均值聚類的不平衡數(shù)據(jù)欠采樣算法[J]. 軟件導(dǎo)刊, 2020, 19(6): 205-209.
YU Y L, JIANG K Z, WANG K, et al. Improved unbalanced data undersampling algorithm for K-means clustering[J]. Software guide, 2020, 19(6): 205-209.
[4]HE H B, GARCIA E A. Learning from imbalanced data[J]. IEEE transactions on knowledge and data engineering, 2009, 21(9): 1263-1284.
[5]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: 321-357.
[6]HE H B, BAI Y, GARCIA E A, et al. ADASYN: Adaptive synthetic sampling approach for imbalanced learning[C]∥IEEE International Joint Conference on Neural Networks. Piscataway: IEEE Press, 2008: 1322-1328.
[7]HAN H, WANG W Y, MAO B H. Borderline-SMOTE: a new over-sampling method in imbalanced data sets learning[C]∥Proceedings of the 2005 International Conference on Intelligent Computing. Berlin: Springer Press, 2005: 878-887.
[8]許丹丹, 王勇, 蔡立軍. 面向不均衡數(shù)據(jù)集的ISMOTE算法[J]. 計(jì)算機(jī)應(yīng)用, 2011, 31(9): 2399-2401.
XU D D, WANG Y, CAI L J. ISMOTE algorithm for imbalanced data sets[J]. Journal of computer applications, 2011, 31(9): 2399-2401.
[9]楊思狄, 王亞玲. 面向不均衡數(shù)據(jù)集的過(guò)抽樣數(shù)學(xué)模型構(gòu)建[J]. 計(jì)算機(jī)仿真, 2021, 38(5): 472-476.
YANG S D, WANG Y L. Construction of an over-sampling mathematical model for unbalanced data sets[J]. Computer simulation, 2021, 38(5): 472-476.
[10]YI X K, XU Y Y, HU Q, et al. ASN-SMOTE: a synthetic minority oversampling method with adaptive qualified synthesizer selection[J]. Complex & intelligent systems, 2022, 8(3): 2247-2272.
[11]ARAFA A, EL-FISHAWY N, BADAWY M, et al. RN-SMOTE: reduced noise SMOTE based on DBSCAN for enhancing imbalanced data classification[J]. Journal of King Saud university-computer and information sciences, 2022, 34(8): 5059-5074.
[12]GOODFELLOW I J,POUGET-ABADIE J,MIRZA M ,et al. Generative adversarial nets [C]∥Proceedings of the 27th International Conference on Neural Information Processing Systems. Montreal: MIT Press,2014:2672-2680.
[13]張敏情, 李宗翰, 劉佳, 等. 基于邊界平衡生成對(duì)抗網(wǎng)絡(luò)的生成式隱寫(xiě)[J]. 鄭州大學(xué)學(xué)報(bào)(理學(xué)版), 2020, 52(3): 34-41.
ZHANG M Q, LI Z H, LIU J, et al. Generative steganography based on boundary equilibrium generative adversarial network[J]. Journal of Zhengzhou university (natural science edition), 2020, 52(3): 34-41.
[14]張浩, 康海燕. 基于特征優(yōu)化生成對(duì)抗網(wǎng)絡(luò)的在線交易反欺詐方法研究[J]. 鄭州大學(xué)學(xué)報(bào)(理學(xué)版), 2022, 54(1): 69-74.
ZHANG H, KANG H Y. An generative adversarial network of online transaction anti-fraud method based on feature optimization[J]. Journal of Zhengzhou university (natural science edition), 2022, 54(1): 69-74.
[15]ZHENG M, LI T, ZHU R, et al. Conditional Wasserstein generative adversarial network-gradient penalty-based approach to alleviating imbalanced data classification[J]. Information sciences, 2020, 512: 1009-1023.
[16]ZHU T F, LIN Y P, LIU Y H. Synthetic minority oversampling technique for multiclass imbalance problems[J]. Pattern recognition, 2017, 72: 327-340.
[17]SUN Y M, KAMEL M S, WANG Y. Boosting for learning multiple classes with imbalanced class distribution[C]∥International Conference on Data Mining. Piscataway: IEEE Press, 2007: 592-602.