Research on improving imbalanced numerical data using NGN algorithm
Xing Changzheng,Zheng Xin,LiangJunfeng (CollegeofElectronicamp; Information Engineering,Liaoning Technical University,HuludaoLioning1251o5,China)
Abstract:When minorityclassamplesare scarce,traditional oversampling methods struggleto increasethesamplecount. This paper introduced a NGN algorithm that synthesized new data byadding generator-generated dataas noise to theoriginal minorityclassamplesuntilbalance wasachieved.Thegenerator employedafour-layerfullyconnectednetworkandintegrated low-structureandhigh-structurefeaturegenerationtechniquestoenhancethequalityanddiversityofthegenerateddata.For verylimited minorityclassamples,NGNgeneratednewsamples,mergedthemwiththeoriginal minorityclassdata,and performedclustering to achieve balance withinclusters while minimizing the impactof noise.The study evaluated NGNon6unbalanceddatasets,applied4oversamplingalgorithms tobalancethedatasets,andclasifiedthebalanceddatasetsusing4classificationmethods.TheexperimentalresultsdemonstratethatNGNefectivelyincreasesthenumberof minorityclasssamples, enhances the model’sability to learn minority classfeatures,and significantly improves classification performance.
Key words:numerical generator network(NGN);generator;noise;extremely scarce minority class;balance
0 引言
數(shù)據(jù)不平衡的問(wèn)題源自于樣本分布的不均衡。通常情況下,多數(shù)類(lèi)樣本容易獲取,而少數(shù)類(lèi)樣本卻難以獲得,導(dǎo)致多數(shù)類(lèi)樣本數(shù)量遠(yuǎn)遠(yuǎn)大于少數(shù)類(lèi)樣本數(shù)量。實(shí)際上,如預(yù)測(cè)糖尿病[1]、金融欺詐[2]、氣壓系統(tǒng)[3]等均存在數(shù)據(jù)不平衡的問(wèn)題。因此,如何處理數(shù)據(jù)缺失和類(lèi)不平衡成為了當(dāng)前數(shù)據(jù)處理所面臨的重要問(wèn)題。目前的優(yōu)化方法主要在數(shù)據(jù)處理和算法修改兩個(gè)層面上進(jìn)行。
在算法層面中常采用的算法有聚類(lèi)融合、集成學(xué)習(xí)、優(yōu)化算法等。其中,具有代表性的聚類(lèi)融合主要是利用多個(gè)聚類(lèi)結(jié)果的共識(shí)來(lái)形成一個(gè)更加穩(wěn)定和準(zhǔn)確的聚類(lèi)結(jié)果,并且聚類(lèi)融合在處理復(fù)雜結(jié)構(gòu)數(shù)據(jù)或多個(gè)聚類(lèi)算法結(jié)果不一致時(shí)更有效。但該方法存在數(shù)據(jù)依賴(lài)、算法選擇局限和結(jié)果不穩(wěn)定性等缺點(diǎn);數(shù)據(jù)處理通常采用過(guò)采樣和欠采樣[4]。其中,欠采樣是一種通過(guò)減少多數(shù)類(lèi)樣本的數(shù)量來(lái)實(shí)現(xiàn)數(shù)據(jù)平衡的方法。然而,這種策略導(dǎo)致部分?jǐn)?shù)據(jù)信息的丟失,影響模型的泛化能力。過(guò)采樣是指通過(guò)增加少數(shù)類(lèi)樣本的復(fù)制或生成新的少數(shù)類(lèi)樣本,以達(dá)到數(shù)據(jù)平衡。其中最經(jīng)典的算法是Chawla等人[5提出的SMOTE(syntheticminorityoversamplingtechnique)的基本思想是對(duì)少數(shù)類(lèi)樣本中的每個(gè)樣本,找出其最近鄰的樣本,然后在這些最近鄰樣本之間隨機(jī)選取一個(gè)點(diǎn),生成新的合成樣本。Han 等人[提出了Borderline-SMOTE,通過(guò)選擇邊界樣本進(jìn)行合成樣本的生成,提高生成的合成樣本質(zhì)量。He等人[提出了一種處理不平衡數(shù)據(jù)集的采樣方法ADASYN(adaptivesyn-theticsampling),該算法注重為難分類(lèi)的少數(shù)類(lèi)樣本生成更多的合成樣本,從而適應(yīng)局部數(shù)據(jù)分布。然而,數(shù)據(jù)不平衡比例較大時(shí),上述算法會(huì)引入大量的噪聲,從而改變數(shù)據(jù)的分布。針對(duì)上述問(wèn)題,Douzas等人[提出了K-meansSMOTE算法。該算法先對(duì)整體數(shù)據(jù)集進(jìn)行K-means聚類(lèi),然后選擇少數(shù)類(lèi)樣本比例較高的簇來(lái)生成合成樣本。王亮等人[9提出DBVMCS-MOTE算法,使用簇密度分布函數(shù),目的是保留簇中少數(shù)類(lèi)樣本含有重要的分類(lèi)信息。陳俊豐等人[1提出WKMeans-SMOTE,選擇特征加權(quán)的聚類(lèi)算法對(duì)原始數(shù)據(jù)集進(jìn)行聚類(lèi),從而提高聚類(lèi)效果。但是上述算法并沒(méi)有考慮到少數(shù)類(lèi)樣本的稀缺性,少數(shù)類(lèi)在只有幾個(gè)的情況下無(wú)法生成新的少數(shù)類(lèi)樣本,而聚類(lèi)后的數(shù)據(jù)集會(huì)使少數(shù)類(lèi)的樣本更少,失去了聚類(lèi)的意義。
除此之外,還有將優(yōu)化算法與分類(lèi)算法融合的方法可以提升分類(lèi)精度,例如文獻(xiàn)[11]使用BAOA(abinaryversionofthearithmeticoptimizationalgorithm)解決分類(lèi)中的特征問(wèn)題,從而提高了分類(lèi)。文獻(xiàn)[12]提出了一種二元版本的人工藻類(lèi)算法(artificialalgaealgorithm,AAA)。該算法在探索屬性空間以及識(shí)別分類(lèi)問(wèn)題中最具價(jià)值特征方面展現(xiàn)了卓越的能力。Too等人[13]提出了一種超學(xué)習(xí)二進(jìn)制蜻蜓算法(hyperlearningbinarydragonflyalgorithm,HLBDA)來(lái)解決冠狀病毒的特征選擇問(wèn)題。上述方法減少了極少數(shù)類(lèi)樣本的特征,導(dǎo)致模型無(wú)法捕捉極少數(shù)類(lèi)樣本的特征。
為了解決極端樣本不平衡問(wèn)題,本文提出了數(shù)值生成網(wǎng)絡(luò)(numericalgeneratornetwork,NGN),用于生成少數(shù)類(lèi)樣本,使數(shù)據(jù)集能夠進(jìn)行聚類(lèi)和過(guò)采樣操作,同時(shí)NGN算法也可應(yīng)用于不平衡數(shù)據(jù)集。
本文的創(chuàng)新點(diǎn)如下所示:a)提出一種生成少數(shù)類(lèi)數(shù)據(jù)的算法NGN;b)將NGN應(yīng)用于二維數(shù)據(jù)的不平衡數(shù)據(jù)集,使其平衡;c)為了處理只有幾個(gè)樣本的少數(shù)類(lèi)情況,NGN利用所有的少數(shù)類(lèi)樣本生成新的樣本,從而增加少數(shù)類(lèi)樣本,使分類(lèi)器能夠更好地區(qū)分正類(lèi)和負(fù)類(lèi)。
1生成器介紹
生成器(generator)的任務(wù)是接收隨機(jī)噪聲或潛在空間的輸入,并生成類(lèi)似于訓(xùn)練數(shù)據(jù)的新樣本。它通常由一系列反向傳播的全連接層組成,其中每一層都將輸入映射到更高維度的空間。生成分類(lèi)器的模型主要有樸素貝葉斯分類(lèi)器和線性判別分析。在分類(lèi)應(yīng)用領(lǐng)域中,核心目標(biāo)是實(shí)現(xiàn)從觀測(cè)值 X 到結(jié)果 Y 的轉(zhuǎn)換。此過(guò)程既能夠直接完成計(jì)算而無(wú)須借助概率分布;也能夠?qū)o定觀測(cè)值 X 時(shí)標(biāo)簽 Y 的概率予以估計(jì),并以此作為分類(lèi)的依據(jù);還能夠?qū)β?lián)合分布 P(X,Y) 進(jìn)行估算,從中得出給定觀測(cè)值 X 時(shí)結(jié)果 Y 的概率,隨后以此為分類(lèi)的基礎(chǔ)。
給定聯(lián)合分布模型 P(X,Y) ,各個(gè)變量的分布計(jì)算為
其中: X 是連續(xù)的,因此對(duì)其進(jìn)行積分;認(rèn)為 Y 是離散的,因此對(duì)其進(jìn)行求和。在生成對(duì)抗網(wǎng)絡(luò)(generativeadversarialnet-work,GAN)[14]中,生成器的目標(biāo)是生成逼真的數(shù)據(jù),使得判別器無(wú)法區(qū)分生成數(shù)據(jù)和真實(shí)數(shù)據(jù),但是GAN具有很高的復(fù)雜度,運(yùn)行時(shí)間更長(zhǎng)。所以去掉GAN判別器的部分,只用生成器生成數(shù)值數(shù)據(jù),降低復(fù)雜度和運(yùn)行時(shí)間。
2 數(shù)值生成網(wǎng)絡(luò)(NGN)
結(jié)構(gòu)。NGN的核心組件是生成器,生成器的作用是接受一個(gè)低維的隨機(jī)向量作為輸入,并通過(guò)逐層映射,生成具有少數(shù)類(lèi)結(jié)構(gòu)的噪聲。生成器使用不同的神經(jīng)元數(shù)將生成的特征分為低結(jié)構(gòu)特征和高結(jié)構(gòu)特征并合并。生成器采用四層全連接層(denselayer),并將各層按順序連接,結(jié)構(gòu)如圖1所示。每一層的線性變換為
針對(duì)少數(shù)類(lèi)非常少,只有幾個(gè)的時(shí)候,ADASYN會(huì)使少數(shù)類(lèi)與更多的多數(shù)類(lèi)樣本合成,使少數(shù)類(lèi)的信息損失;SMOTE生成的少數(shù)類(lèi)樣本會(huì)集中在少數(shù)類(lèi)樣本之間的空隙,導(dǎo)致少數(shù)類(lèi)樣本更加集中;聚類(lèi)算法會(huì)難以找到明確的聚類(lèi)中心,聚類(lèi)后少數(shù)類(lèi)樣本更少,使樣本更加不平衡且無(wú)法使用SMOTE、ADASYN和RUS進(jìn)行過(guò)采樣。因此,本文提出了一種旨在生成極少數(shù)類(lèi)樣本的網(wǎng)絡(luò),即NGN。該方法的具體步驟如算法1所示。
G(x)=WXminor+b
其中: W 為權(quán)重; b 為偏置; G(x) 為生成器的輸出。
第一層神經(jīng)元數(shù)量為32,且采用的激活函數(shù)是修正線性單元(rectifiedlinearuint,ReLU),這一層接收輸入數(shù)據(jù)并進(jìn)行線性變換,再經(jīng)過(guò)ReLU激活。ReLU函數(shù)實(shí)現(xiàn)簡(jiǎn)單且能夠產(chǎn)生稀疏的輸出,在某些情況下減少參數(shù)之間的相互依賴(lài)。其公式為[15]
算法1NGN算法輸入:數(shù)據(jù)集data。
輸出:新的數(shù)據(jù)集new_data。
a)獲取data中的少數(shù)類(lèi);
b)生成器根據(jù)少數(shù)類(lèi)的特征生成噪聲數(shù)據(jù);
c)將噪聲數(shù)據(jù)與少數(shù)類(lèi)合成新的數(shù)據(jù);
d)重復(fù)步驟b)c),直到多數(shù)類(lèi)與少數(shù)類(lèi)數(shù)量達(dá)到平衡。
由于極少數(shù)類(lèi)樣本數(shù)量不足,往往缺少足夠的樣本支持來(lái)有效訓(xùn)練模型,所以模型往往無(wú)法學(xué)習(xí)到極少數(shù)類(lèi)樣本的特征
f(x)=max(0,X)
第二層將提取結(jié)構(gòu)信息,三四層將第二層輸出擴(kuò)大形成高結(jié)構(gòu)特征,將第二和四層在結(jié)構(gòu)上拼接起來(lái),從而在同一層中同時(shí)包含兩種不同結(jié)構(gòu)的信息。這種操作有助于在后續(xù)層中綜合兩種結(jié)構(gòu)的特征。輸出數(shù)據(jù)與少數(shù)類(lèi)特征的維度相同。這通常用于生成具有特定特征分布的樣本,從而與少數(shù)類(lèi)數(shù)據(jù)特征結(jié)構(gòu)相同。激活函數(shù)使用ReLU。
輸出層的激活函數(shù)采用的是指數(shù)線性單元(exponentiallinearunit,ELU)[16],本文對(duì)ELU進(jìn)行了修改。無(wú)論 X 是正是負(fù),公式都為
f(x)=a(eX-1)
這樣會(huì)使生成的噪聲變大,且合成后的數(shù)據(jù)不容易分散在原來(lái)數(shù)據(jù)的周?chē)?/p>
最后,為了降低網(wǎng)絡(luò)負(fù)載并提升訓(xùn)練效率,本文引入并修改了dropout正則化技術(shù)[17]。通過(guò)在訓(xùn)練過(guò)程中隨機(jī)丟棄網(wǎng)絡(luò)中一定比例的神經(jīng)元,dropout能夠有效地減少模型對(duì)特定訓(xùn)練樣本的依賴(lài),從而提高模型的泛化能力。dropout的數(shù)學(xué)表達(dá)式為
其中: p 是丟棄概率,表示每個(gè)神經(jīng)元被丟棄的概率; F 是與極少數(shù)類(lèi)的特征維度相同的掩碼。其中每個(gè)元素獨(dú)立地以概率1-p 為1,以概率 p 為0。
在許多現(xiàn)實(shí)世界的應(yīng)用中,數(shù)據(jù)往往近似服從正態(tài)分布。而且正態(tài)分布在訓(xùn)練過(guò)程中通常能夠提供穩(wěn)定的梯度,給定的少數(shù)類(lèi)數(shù)據(jù)特征維度 X ,生成器 G 給定輸入噪聲時(shí)生成噪聲數(shù)據(jù) Y 的分布表示。
通過(guò)生成器生成噪聲添加到原來(lái)的數(shù)據(jù)上,實(shí)現(xiàn)了對(duì)極少
數(shù)類(lèi)樣本的數(shù)據(jù)擴(kuò)充。
2.1多數(shù)類(lèi)與少數(shù)類(lèi)平衡
在少數(shù)類(lèi)平衡的情況下,少數(shù)類(lèi)樣本的數(shù)量較少,但是相對(duì)于多數(shù)類(lèi)來(lái)說(shuō)數(shù)量并不是非常少。在這種情況下,本文使用NGN來(lái)生成噪聲與原始數(shù)據(jù)合成的少數(shù)類(lèi)樣本,以平衡數(shù)據(jù)集中各個(gè)類(lèi)別的樣本數(shù)量。使用NGN進(jìn)行過(guò)采樣的偽代碼如下所示。
算法2NGN進(jìn)行過(guò)采樣
輸入:數(shù)據(jù)集data。
輸出:新的數(shù)據(jù)集new_data。
a)將data分成多數(shù)類(lèi)major,少數(shù)類(lèi)minor,提取minor的特征 X b)計(jì)算循環(huán)次數(shù) L
循環(huán)次數(shù)舍棄小數(shù)點(diǎn)后位數(shù),進(jìn)行循環(huán)
c)如果數(shù)據(jù)為小數(shù),則生成noise,且維度與 X 相同
d)生成新的數(shù)據(jù): :new=noise+minor ,結(jié)束循環(huán)
e)計(jì)算還需要生成的個(gè)數(shù):
rest=data-major-minor-new
f)根據(jù)rest的個(gè)數(shù)生成,重復(fù)上述步驟d)e)
g) 返回new_data
上述算法的時(shí)間復(fù)雜度為 O(L×X×n) ,其中 n 取決于神經(jīng)網(wǎng)絡(luò)的層數(shù)、每層的神經(jīng)元數(shù)量以及每次迭代的樣本數(shù)??臻g復(fù)雜度為 O(new×X×m) ,其中 m 為生成器網(wǎng)絡(luò)結(jié)構(gòu)的參數(shù)。
注意以下三點(diǎn):a)如果noise為1以下的小數(shù),需視情況縮小或擴(kuò)大noise的倍數(shù);b)因?yàn)樯善髂J(rèn)生成的數(shù)據(jù)是小數(shù),如果原數(shù)據(jù)為整數(shù),則生成noise_int;c)有時(shí)原數(shù)據(jù)的某個(gè)列為0,則將對(duì)應(yīng)的列也變?yōu)?。
2.2多數(shù)類(lèi)與少數(shù)類(lèi)數(shù)量極少的平衡
針對(duì)少數(shù)類(lèi)數(shù)量極少的樣本,傳統(tǒng)過(guò)采樣方法存在一些局限性。比如,ADASYN在樣本分布離散化或少數(shù)類(lèi)別僅有幾個(gè)樣本時(shí)無(wú)法進(jìn)行合成;SMOTE生成的合成樣本傾向于集中在少數(shù)類(lèi)周?chē)?,?dǎo)致模型更關(guān)注少數(shù)類(lèi)。在這種情況下,NGN被用來(lái)生成合成的少數(shù)類(lèi)樣本,擴(kuò)充少數(shù)類(lèi)樣本的數(shù)量。
在使用NGN合成少數(shù)類(lèi)樣本時(shí),生成數(shù)據(jù)的個(gè)數(shù)對(duì)生成后的新數(shù)據(jù)分布起很大的作用,如果生成數(shù)據(jù)過(guò)多,導(dǎo)致扭曲了真實(shí)數(shù)據(jù)分布的特征。因此在確定生成少數(shù)類(lèi)的數(shù)量時(shí),須考慮數(shù)據(jù)分布的情況。
算法3確定少數(shù)類(lèi)的個(gè)數(shù)
輸入:極少數(shù)類(lèi)樣本minor。
輸出:簇cluster。
a)使用NGN生成少數(shù)類(lèi)樣本,生成新的數(shù)據(jù)集new_datab)對(duì) new_data使用手肘法[18]
c)計(jì)算輪廓系數(shù)[19]
d)結(jié)合輪廓系數(shù)和手肘點(diǎn)確定簇的個(gè)數(shù)k
e)返回cluster
肘形指的是在某些分析曲線或圖形中,數(shù)據(jù)變化趨勢(shì)形成的一個(gè)明顯拐點(diǎn),形狀類(lèi)似于人的肘部。肘形的特征是曲線在拐點(diǎn)之前呈現(xiàn)快速變化的趨勢(shì),而在拐點(diǎn)之后變化趨于平緩。在許多實(shí)際應(yīng)用中,肘形的選擇非常模糊,因?yàn)閿?shù)據(jù)不包含一個(gè)明顯的拐點(diǎn),導(dǎo)致曲線較為平滑,從而使肘部的判斷變得主觀或模糊。而輪廓系數(shù)對(duì)數(shù)據(jù)中的噪聲和異常值敏感,因?yàn)楫惓|c(diǎn)會(huì)拉高與其他簇的距離,從而影響輪廓系數(shù)的計(jì)算。特別是當(dāng)數(shù)據(jù)集中存在大量離群點(diǎn)時(shí),輪廓系數(shù)的值會(huì)失真。但是輪廓系數(shù)彌補(bǔ)手肘法的不足,手肘法側(cè)重于最小化簇內(nèi)的誤差,但并不直接考慮簇之間的分離性。輪廓系數(shù)則同時(shí)考慮了簇的緊密度和分離性。所以為了使數(shù)據(jù)集更容易確定聚類(lèi)的簇值,本文將手肘法與輪廓法結(jié)合使用,先使用手肘法確定一個(gè)初步的聚類(lèi)數(shù)目范圍。手肘法比較直觀,為選擇合理的聚類(lèi)數(shù)目提供一個(gè)候選區(qū)間。在這個(gè)候選區(qū)間內(nèi),計(jì)算不同聚類(lèi)數(shù)目的輪廓系數(shù),選取輪廓系數(shù)最大的那個(gè)聚類(lèi)數(shù)目,作為最終的選擇。
圖2展示了經(jīng)過(guò)NGN過(guò)采樣處理后,少數(shù)類(lèi)樣本的分布情況。從圖中觀察到少數(shù)類(lèi)樣本的數(shù)量顯著增加且擴(kuò)展了少數(shù)類(lèi)的分布范圍,減少了特征空間的稀疏性。
3實(shí)驗(yàn)設(shè)計(jì)與結(jié)果分析
3.1 數(shù)據(jù)集介紹
實(shí)驗(yàn)使用的是UCI數(shù)據(jù)庫(kù)上的七組標(biāo)準(zhǔn)公開(kāi)數(shù)據(jù)集,分別是pima[20]、transfusion[21]、hcv_data[22、wine[23]、gls[24]ionosphere[25]和 。其中:pima、transfusion、ionosphere 是二分類(lèi)數(shù)據(jù)集;hcv_data、wine、glass、ecoli是多類(lèi)別數(shù)據(jù)集。hcv_data、glass存在少數(shù)類(lèi)為例數(shù)的情況。hcv_data用于分類(lèi)肝炎狀態(tài)或預(yù)測(cè)疾病的嚴(yán)重程度,共有5例類(lèi)別,其中blooddonor類(lèi)有533例、hepatitis類(lèi)有24例、fibrosis類(lèi)21例、cirrhosis類(lèi)有30例,suspectblooddonor類(lèi)僅有7例,將suspectblooddonor作為少數(shù)類(lèi),其余的作為多數(shù)類(lèi)。glass共有6例類(lèi)別,其中建筑窗戶(hù)有70例,非浮點(diǎn)數(shù)的(建筑窗戶(hù))有76例,車(chē)窗有17例,集裝箱有13例,餐具有9例,大燈有29例。將類(lèi)別6作為少數(shù)類(lèi),其余作為多數(shù)類(lèi)。wine有3例類(lèi)別,其中類(lèi)別1為59例,類(lèi)別2有71例,類(lèi)別3有48例,將類(lèi)別3作為少數(shù)類(lèi),其余作為多數(shù)類(lèi)。ecoli共有8例類(lèi)別,分別對(duì)應(yīng)不同的亞細(xì)胞位置:細(xì)胞質(zhì)有143例、內(nèi)膜有77例、周質(zhì)有52例、內(nèi)膜但無(wú)明確類(lèi)別有35例、外膜有20例、外膜脂蛋白有5例、內(nèi)膜脂蛋白有2例,以及內(nèi)膜空間蛋白有2例。這里本文選擇內(nèi)膜脂蛋白作為少數(shù)類(lèi),其余作為多數(shù)類(lèi)。
實(shí)驗(yàn)前通常需要對(duì)原始數(shù)據(jù)集進(jìn)行處理。其中,將缺失值設(shè)為0,簡(jiǎn)化數(shù)據(jù)處理過(guò)程,并使數(shù)據(jù)更易于解釋?zhuān)会槍?duì)字符數(shù)據(jù),需要將其轉(zhuǎn)換為數(shù)值數(shù)據(jù),因?yàn)檫^(guò)采樣只能處理數(shù)值數(shù)據(jù)。
數(shù)據(jù)集具體如表1所示。不平衡比率的定義如下:
多數(shù)類(lèi)樣本數(shù)量不平衡比率 少數(shù)類(lèi)樣本數(shù)量
3.2 實(shí)驗(yàn)設(shè)計(jì)
本文實(shí)驗(yàn)是在Windows10系統(tǒng)、i5-8300H處理器、NVIDI-AGTX1050顯卡、20GB存儲(chǔ)的計(jì)算機(jī)上進(jìn)行,編程語(yǔ)言為Python,使用jupyter notebook平臺(tái)實(shí)現(xiàn)。
為了驗(yàn)證NGN的過(guò)采樣效果,將二元數(shù)據(jù)集分別使用NGN、SMOTE、ADASYN以及Borderline-SMOTE進(jìn)行過(guò)采樣,并采用隨機(jī)森林算法(random forest,RF)[27]、AdaBoost(adaptiveboosting)[28]、XGB(XGBoost)[29]、ExtraTrees[30]四種分類(lèi)算法進(jìn)行評(píng)估。SMOTE是經(jīng)典的過(guò)采樣基準(zhǔn)算法,通過(guò)插值生成新的少數(shù)類(lèi)樣本,有效緩解樣本不平衡問(wèn)題,但在特定條件下生成的樣本缺乏分布信息。ADASYN關(guān)注難分類(lèi)區(qū)域,適應(yīng)性地生成的更多靠近邊界的少數(shù)類(lèi)樣本,強(qiáng)化分類(lèi)器對(duì)復(fù)雜區(qū)域的學(xué)習(xí)能力。而B(niǎo)orderline-SMOTE專(zhuān)注于增強(qiáng)少數(shù)類(lèi)與多數(shù)類(lèi)邊界樣本的學(xué)習(xí),通過(guò)針對(duì)性生成強(qiáng)化分類(lèi)器對(duì)邊界的理解。選擇這些算法進(jìn)行對(duì)比,通過(guò)多維度驗(yàn)證NGN的改進(jìn)效果,特別是在生成質(zhì)量、難分類(lèi)區(qū)域表現(xiàn)以及分布敏感性等方面,突出其相較于傳統(tǒng)方法的優(yōu)勢(shì)。隨機(jī)森林通過(guò)處理高維和非線性特征,展現(xiàn)了對(duì)噪聲和不平衡數(shù)據(jù)的魯棒性。Extra-Trees利用更隨機(jī)的決策劃分減少過(guò)擬合,計(jì)算效率高,在多數(shù)類(lèi)主導(dǎo)和高不平衡比率數(shù)據(jù)集上表現(xiàn)出色。AdaBoost通過(guò)調(diào)整樣本權(quán)重,增強(qiáng)對(duì)少數(shù)類(lèi)的識(shí)別能力,適合特征邊界清晰或樣本量較小的數(shù)據(jù)集。XGBoost則結(jié)合梯度提升和樹(shù)模型的優(yōu)點(diǎn),通過(guò)正則化減少過(guò)擬合,在復(fù)雜特征的中小型數(shù)據(jù)集上性能卓越。綜合這些算法的特性,它們結(jié)合隨機(jī)性、權(quán)重調(diào)整和魯棒性,能夠適應(yīng)多樣化的場(chǎng)景,并通過(guò)多算法對(duì)比減少模型選擇偏差,有效驗(yàn)證不平衡數(shù)據(jù)上的泛化能力。這些算法充分結(jié)合了數(shù)據(jù)集的特性,包括數(shù)據(jù)規(guī)模、特征分布和不平衡比率等方面,體現(xiàn)出對(duì)不同數(shù)據(jù)集適配性的全面考慮。同時(shí),它們?cè)诜夯芰Α⒖乖胄砸约疤卣鳈?quán)重學(xué)習(xí)等性能上各具優(yōu)勢(shì),能夠有效應(yīng)對(duì)不同場(chǎng)景下的不平衡數(shù)據(jù)分類(lèi)需求,從而凸顯了多算法評(píng)估在解決不平衡數(shù)據(jù)問(wèn)題中的重要性和優(yōu)勢(shì)。
為了驗(yàn)證NGN在少數(shù)類(lèi)樣本數(shù)量極少的情況下合成樣本的效果,使用數(shù)據(jù)集對(duì)其與SMOTE、ADASYN和Borderline-SMOTE算法進(jìn)行比較,并觀察少數(shù)類(lèi)合成樣本的分布情況。
訓(xùn)練中設(shè)置Input ,batch
epoch=10 (204號(hào)SMOTE、ADASYN、Borderline-SMOTE的參數(shù)設(shè)置為默認(rèn)。為了獲取最佳分類(lèi)器和過(guò)采樣器的結(jié)果,利用貝葉斯尋優(yōu)算法確定了最優(yōu)參數(shù)組合[31]。貝葉斯優(yōu)化通過(guò)構(gòu)建一個(gè)概率模型來(lái)估計(jì)目標(biāo)函數(shù)的未知特性,并利用該模型指導(dǎo)搜索,以減少不必要的評(píng)估。它采取迭代的方式,在每次迭代中選擇最具潛力的點(diǎn)進(jìn)行評(píng)估,并據(jù)此更新概率模型,以便在有限的評(píng)估次數(shù)內(nèi)逼近最優(yōu)參數(shù)配置。實(shí)驗(yàn)中使用十次十折(10-fold)交叉驗(yàn)證的平均值作為最終性能度量的結(jié)果。
3.3 評(píng)價(jià)指標(biāo)
為了評(píng)估分類(lèi)器在解決特定任務(wù)中的表現(xiàn),評(píng)價(jià)指標(biāo)包括準(zhǔn)確率、精確率、召回率 分?jǐn)?shù)和ROC曲線下面積(AUC)等,這些指標(biāo)提供了對(duì)分類(lèi)器性能不同方面的評(píng)估。
針對(duì)不平衡二分類(lèi)問(wèn)題,準(zhǔn)確率是無(wú)法衡量分類(lèi)器性能優(yōu)劣的。本文選取 F1 分?jǐn)?shù)、G-mean和ROC曲線下面積(AUC)作為評(píng)價(jià)指標(biāo)。這些指標(biāo)能夠更好地反映分類(lèi)器在不同類(lèi)別上的表現(xiàn),更全面地評(píng)估分類(lèi)器的性能優(yōu)劣。 F1 分?jǐn)?shù)和G-mean都是根據(jù)混淆矩陣(表2)來(lái)計(jì)算的。
TP(truepositive)表示模型正確分類(lèi)的多數(shù)類(lèi)樣本數(shù)量;FN(1negtive)表示模型錯(cuò)誤分類(lèi)的多數(shù)類(lèi)樣本數(shù)量;FP(1positive)表示模型錯(cuò)誤分類(lèi)的少數(shù)類(lèi)樣本數(shù)量;TN(truenegative)表示模型正確分類(lèi)的少數(shù)類(lèi)樣本數(shù)量。
F1 分?jǐn)?shù)是精確率(precision)和召回率(recall)的調(diào)和平均值,它綜合考慮了分類(lèi)器的準(zhǔn)確性和完整性。精確度的定義如下:
召回率的定義如下:
F1 分?jǐn)?shù)定義如下:
G-mean是準(zhǔn)確率和召回率的幾何平均值,是用來(lái)衡量分類(lèi)器在不平衡數(shù)據(jù)集上的整體性能。G-mean考慮了類(lèi)別不平衡的情況,能夠更好地反映分類(lèi)器對(duì)少數(shù)類(lèi)的分類(lèi)效果。針對(duì)不平衡的數(shù)據(jù)集,已經(jīng)發(fā)現(xiàn)G-mean度量高度代表算法的性能。
G-mean的定義如下:
AUC衡量了分類(lèi)器根據(jù)不同的分類(lèi)閾值對(duì)正負(fù)樣本進(jìn)行排序的能力,并計(jì)算了ROC曲線(receiveroperatingcharacteris-ticcurve)下的面積。ROC曲線是以召回率為縱軸,假陽(yáng)性率(1positiverate)為橫軸繪制的曲線。分類(lèi)器根據(jù)不同的閾值將樣本劃分為正例和負(fù)例,并計(jì)算出對(duì)應(yīng)的真陽(yáng)性率和假陽(yáng)性率。AUC則表示ROC曲線下的面積,取值在0\~1,越接近1表示分類(lèi)器性能越好。
3.4少數(shù)類(lèi)平衡實(shí)驗(yàn)結(jié)果分析
本文算法及對(duì)比算法的實(shí)驗(yàn)結(jié)果如表3\~6所示。從表中看出,NGN算法的 F1 -score和G-mean在二維數(shù)據(jù)中達(dá)到了與其他過(guò)采樣算法相近甚至更好的效果。在pima、transfusion數(shù)據(jù)集中,NGN在大部分情況下表現(xiàn)出與其他算法相比較高的AUC,F(xiàn)1 -score和G-mean,這表明NGN生成了質(zhì)量更高的少數(shù)類(lèi)樣本,從而使分類(lèi)器能夠更好地學(xué)習(xí)到少數(shù)類(lèi)數(shù)據(jù)的特征。因?yàn)樯善魃傻脑肼暫苄?,添加噪聲后的少?shù)類(lèi)樣本保持了數(shù)據(jù)集的整體特征分布,從而使得生成的樣本具有更高的代表性,從而更好地反映原始少數(shù)類(lèi)樣本的分布特性。分類(lèi)器在訓(xùn)練過(guò)程中能夠?qū)W習(xí)到更豐富的信息,提高對(duì)少數(shù)類(lèi)樣本的識(shí)別能力。與其他過(guò)采樣算法相比,NGN在特定分布下能夠有效增強(qiáng)對(duì)少數(shù)類(lèi)樣本的識(shí)別能力,進(jìn)而提高 F1 -score。在平衡精確率和召回率方面,NGN展現(xiàn)了優(yōu)異的性能,顯著提升了G-mean值。通過(guò)NGN生成的樣本,成功擴(kuò)展了少數(shù)類(lèi)的分布范圍,這不僅提升了少數(shù)類(lèi)的精確率和召回率,同時(shí)也促進(jìn)了整體分類(lèi)性能的提高。此外,NGN生成的樣本具有更好的代表性,在某種程度上減少了噪聲影響,從而提高了少數(shù)類(lèi)的召回率。
在Ionosphere上,某些情況下NGN的性能并不是最優(yōu)的。因?yàn)镮onosphere的特征已經(jīng)足夠明顯,在這種情況下,添加噪聲不會(huì)帶來(lái)太大的優(yōu)勢(shì),所以性能會(huì)接近其他的算法,而沒(méi)有明顯的提升。
圖3展示了Ionosphere經(jīng)過(guò)四種過(guò)采樣方法后的數(shù)據(jù)分布。SMOTE通過(guò)在少數(shù)類(lèi)樣本的鄰域內(nèi)生成新樣本,使少數(shù)類(lèi)樣本的分布更加均勻,填補(bǔ)了原本稀疏的區(qū)域。ADASYN則在少數(shù)類(lèi)樣本稀疏區(qū)域生成更多樣本,增強(qiáng)模型在這些區(qū)域的學(xué)習(xí)能力,使得稀疏區(qū)域的少數(shù)類(lèi)數(shù)據(jù)密度更高,有利于區(qū)分,但導(dǎo)致局部密度過(guò)高。Borderline-SMOTE生成點(diǎn)主要集中在分類(lèi)邊界,提高了模型在復(fù)雜邊界區(qū)域的辨別能力,NGN與上述過(guò)采樣方法相比,生成的新樣本與原少數(shù)類(lèi)樣本相似,增強(qiáng)了少數(shù)類(lèi)特征表達(dá),更加貼近少數(shù)類(lèi)的實(shí)際分布。
3.5極少數(shù)類(lèi)平衡實(shí)驗(yàn)結(jié)果分析
圖3展示了ionosphere、ecoli、wine和hcv_data數(shù)據(jù)集經(jīng)過(guò)四種過(guò)采樣方法后的數(shù)據(jù)分布,其中棕色為多數(shù)類(lèi),藍(lán)色為少數(shù)類(lèi)(見(jiàn)電子版)。從圖3看出,較遠(yuǎn)距離的點(diǎn)SMOTE、ADASYN、Borderline-SMOTE不能利用全部的少數(shù)類(lèi)樣本合成,是因?yàn)镾MOTE通過(guò)在少數(shù)類(lèi)樣本之間插值來(lái)生成新的少數(shù)類(lèi)樣本。如果少數(shù)類(lèi)樣本非常稀疏,彼此之間的距離很大,新樣本會(huì)處于過(guò)度外推的位置,無(wú)法正確反映少數(shù)類(lèi)的分布;ADASYN生成樣本的方法依賴(lài)于現(xiàn)有樣本的插值,如果現(xiàn)有樣本之間的距離較大,插值生成的新樣本會(huì)落在樣本分布的外圍區(qū)域,導(dǎo)致分布失真;少數(shù)類(lèi)樣本周?chē)脑肼朁c(diǎn)會(huì)對(duì)插值過(guò)程產(chǎn)生較大影響。Borderline-SMOTE生成的新樣本會(huì)受到這些噪聲點(diǎn)的影響,導(dǎo)致生成不準(zhǔn)確或不可靠的樣本,從而影響模型的性能。相比之下,NGN通過(guò)在現(xiàn)有少數(shù)類(lèi)樣本上添加噪聲生成新樣本,利用了所有現(xiàn)有的少數(shù)類(lèi)樣本,無(wú)須依賴(lài)鄰近樣本進(jìn)行插值,因此避免因少數(shù)類(lèi)樣本稀疏而導(dǎo)致的插值問(wèn)題。通過(guò)添加生成器生成的正態(tài)分布噪聲,NGN能夠生成多樣化的新樣本,這些新樣本能夠更好地覆蓋少數(shù)類(lèi)樣本的分布范圍,保持了數(shù)據(jù)集的整體特征分布,提高模型的泛化能力。由于噪聲是圍繞原始樣本生成的,NGN避免了插值方法導(dǎo)致的過(guò)度外推問(wèn)題,生成的新樣本不會(huì)偏離原始樣本的分布范圍。
在不同分類(lèi)器上,各種過(guò)采樣方法對(duì)少數(shù)類(lèi)樣本分類(lèi)性能的提升效果有所差異。SMOTE通過(guò)線性插值生成新樣本,在randomforest和ExtraTrees中表現(xiàn)穩(wěn)定,但在XGBoost上略遜于NGN;其效果依賴(lài)于原始數(shù)據(jù)的分布特性,對(duì)wine和ecoli數(shù)據(jù)集的分類(lèi)性能提升顯著。ADASYN更加自適應(yīng),優(yōu)先增強(qiáng)稀疏區(qū)域的少數(shù)類(lèi)樣本,在hcv_data和glass數(shù)據(jù)集中表現(xiàn)較好,尤其在AdaBoost分類(lèi)器中AUC和 F1 -score較優(yōu)。Borderline-SMOTE專(zhuān)注于增強(qiáng)類(lèi)別邊界樣本的分布,使分類(lèi)器在邊界樣本區(qū)分能力上表現(xiàn)更佳,顯著提升了AUC和G-mean,特別是在wine中表現(xiàn)出色。NGN則在多個(gè)分類(lèi)器中展現(xiàn)出卓越性能,尤其在XGBoost和ExtraTrees中對(duì)wine和ecoli的AUC提升顯著,結(jié)合密度感知和邊界強(qiáng)化,使得樣本分布更加全面。
NGN生成的數(shù)據(jù)能夠增加極少數(shù)類(lèi)樣本,從而增強(qiáng)少數(shù)類(lèi)特征,不僅彌補(bǔ)了原始數(shù)據(jù)分布中的不平衡性,還顯著提升了少數(shù)類(lèi)的可辨識(shí)性,使得分類(lèi)器能夠更有效地識(shí)別這些樣本。在hcv_data中suspectblooddonor類(lèi)是少數(shù)類(lèi),但其分類(lèi)直接關(guān)系到肝炎嚴(yán)重程度的預(yù)測(cè)和個(gè)體的健康干預(yù)。如果模型無(wú)法準(zhǔn)確識(shí)別該類(lèi),導(dǎo)致漏診或誤診,影響治療效果。在glass中,通過(guò)增加大燈的樣本,模型能夠更好地區(qū)分與其他玻璃類(lèi)型的微小差異,這對(duì)玻璃工業(yè)中材料分類(lèi)和質(zhì)量控制尤為重要。在ecoli中增加內(nèi)膜脂蛋白類(lèi)樣本,幫助模型更好地識(shí)別這一亞細(xì)胞位置,進(jìn)而提升生物學(xué)研究中蛋白質(zhì)功能預(yù)測(cè)的精確性。
從現(xiàn)實(shí)生活中來(lái)看,增加極少數(shù)類(lèi)的數(shù)量尤其重要。例如,在醫(yī)療診斷中,少見(jiàn)疾病通常數(shù)據(jù)不足,而NGN生成更具代表性的樣本,從而提升診斷模型對(duì)罕見(jiàn)病例的識(shí)別能力。在欺詐檢測(cè)中,欺詐行為的數(shù)據(jù)量往往遠(yuǎn)少于正常行為,通過(guò)NGN生成的虛擬樣本,幫助模型更精準(zhǔn)地區(qū)分合法與非法交易。此外,在生態(tài)保護(hù)中,一些瀕危物種的相關(guān)數(shù)據(jù)十分稀缺,NGN能夠模擬出更多的特征分布,進(jìn)而提高分類(lèi)模型對(duì)瀕危物種的監(jiān)測(cè)能力。通過(guò)增加極少數(shù)類(lèi)樣本,NGN不僅解決了數(shù)據(jù)稀缺的問(wèn)題,還在多個(gè)領(lǐng)域?yàn)樯贁?shù)類(lèi)的決策和識(shí)別提供了更廣泛的支持。
4生成器迭代次數(shù)對(duì)生成噪聲的影響
如圖4所示,隨著迭代次數(shù)的增加,生成器的損失函數(shù)值逐漸降低,生成的樣本逐漸逼近真實(shí)樣本分布,并在其周?chē)纬删奂?。同時(shí),迭代次數(shù)的增多也帶來(lái)了時(shí)間復(fù)雜度的提升。然而,NGN的目標(biāo)并非僅僅復(fù)制原始數(shù)據(jù),而是生成具有多樣性的新數(shù)據(jù)。因此,在實(shí)際應(yīng)用中,應(yīng)盡量減少迭代次數(shù),以促進(jìn)生成器產(chǎn)生更為豐富和多樣化的數(shù)據(jù)樣本和降低算法的時(shí)間復(fù)雜度。
5結(jié)束語(yǔ)
本文針對(duì)少數(shù)類(lèi)樣本只有幾個(gè)的情況,提出了一種基于GAN的算法NGN,即用GAN生成的數(shù)據(jù)作為噪聲與原少數(shù)類(lèi)樣本結(jié)合生成新的少數(shù)類(lèi)樣本,使少數(shù)類(lèi)能夠進(jìn)行聚類(lèi)和分類(lèi),從而減小噪聲的引入。同時(shí)將該方法作為過(guò)采樣方法與其他的過(guò)采樣進(jìn)行比較,用于處理數(shù)據(jù)不平衡。實(shí)驗(yàn)結(jié)果表明,NGN能夠利用所有的少數(shù)類(lèi)樣本生成新的數(shù)據(jù)集,同時(shí)NGN作為過(guò)采樣算法比其他過(guò)采樣算法表現(xiàn)得更優(yōu)。
下一步工作將研究改進(jìn)NGN算法,使其應(yīng)用于多類(lèi)別的數(shù)據(jù)且多數(shù)類(lèi)樣本與少數(shù)類(lèi)樣本的比例較不平衡的情況,使生成的少數(shù)類(lèi)能準(zhǔn)確地劃分邊界。
參考文獻(xiàn):
[1]Wang Xuchun,Ren Jiahui,Ren Hao,et al.Diabetesmellitus early warning and factor analysis using ensemble Bayesian networks with SMOTE-ENNand Boruta[J].Scientific Reports,2023,13(1): 12718.
[2]Yu Lean,Li Mengxin,Liu Xiaojun.A two-stage case-based reasoningdrivenclassificationparadigm forfinancial distresspredictionwith missingand imbalanced data[J].Expert Systemswith Applications,2024,249:123745.
[3]Rahman M S, Sumathy V. Forecasting failure-prone air pressure systems(FFAPS)in vehiclesusing machine learning[J].Automatika,2024,65(1):1-13.
[4]He Haibo,Garcia EA.Learning fromimbalanced data[J].IEEE Trans on Knowledgeand Data Engineering,20o9,21(9): 1263-1284.
[5]Chawla NV,Bowyer KW,Hall LO,et al.SMOTE:synthetic minority over-sampling technique[J].Journal of Artificial IntelligenceResearch,2002,16:321-357.
[6].Han Hui,WangWenyuan,Mao Binghuan.Borderline-SMOTE:a newover-sampling method in imbalanced data sets learning [C]/′ ProcofInternational Conference on Intelligent Computing. Berlin: Springer,2005:878-887.
[7]HeHaibo,BaiYang,GarciaEA,etal.ADASYN:adaptive synthetic sampling approach for imbalanced learning [C]/′ Procof IEEE International Joint Conference on Neural Networks. Piscataway, NJ:IEEEPress,2008:1322-1328.
[8]Douzas G,Bacao F,Last F. Improving imbalanced learning through a heuristic oversampling method based on K-means and SMOTE[J]. Information Sciences,2018,465:1-20.
[9]王亮,冶繼民.整合DBSCAN和改進(jìn) SMOTE的過(guò)采樣算法[J]. 計(jì)算機(jī)工程與應(yīng)用,2020,56(18):111-118.(Wang Liang,Ye Jimin.Hybrid algorithm of DBSCANand improved SMOTE for oversampling[J].Computer Engineering and Applications,2020, 56(18):111-118.)
[10]陳俊豐,鄭中團(tuán).WKMeans與SMOTE結(jié)合的不平衡數(shù)據(jù)過(guò)采樣 方法[J].計(jì)算機(jī)工程與應(yīng)用,2021,57(23):106-112.(Chen Junfeng,Zheng Zhongtuan. Over-sampling method on imbalanced data based on WKMeans and SMOTE[J].Computer Engineering and Applications,2021,57(23):106-112.)
[11]Khodadadi N, Khodadadi E,Al-Tashi Q,et al.BAOA: binary arithmetic optimization algorithm withK-nearest neighbor classifier for feature selection[J]. IEEE Access,2023,11:94094-94115.
[12]Turkoglu B,Ali Uymaz S, Kaya E.Binary artificial algae algoritm for feature selection [J].Applied Soft Computing,2022,120:108630.
[13]TooJ,Mirjalili S.Ahyperlearningbinarydragonflyalgorithmfor feature selection: a COvID-19 case study [J]. Knowledge-Based Systems,2021,212:106553.
[14] CreswellA,White T,Dumoulin V,et al.Generative adversarial networks:an overview [J].IEEE Signal Processing Magazine, 2018,35(1) : 53-65.
[15] Glorot X,Bordes A,Bengio Y. Deep sparse rectifier neural networks [C]//Procofthe14th International Conferenceon Artificial Intelligence and Statistics.[S.1.]:PMLR,2011: 315-323.
[16]Clevert DA, Unterthiner T,Hochreiter S.Fastand accurate deep network learningbyexponential linear units(ELUs)[EB/OL]. (2016-02-22). https://arxiv.org/abs/1511. 07289.
[17]Hinton G E,Srivastava N,Krizhevsky A,et al. Improving neural networks by preventing co-adaptation of feature detectors [EB/OL]. (2012-07-03). https://arxiv.org/abs/1207.0580.
[18]Thorndike R L.Who belongs in the family?[J].Psychometrika, 1953,18(4) : 267-276.
[19]RouseeuwP.Siouetes:agrapicalaidtoheinterpreationand validation of cluster analysis[J].Jourmal of Computational and Applied Mathematics,1987,20:53-65.
[20]Kahn M.Diabetes[EB/OL].(1994).https://archive.ics.uci. edu/dataset/34/diabetes.
[21]Yeh I. Blood transfusion service center[EB/OL].(2008-10-02). https://archive. ics. uci. edu/dataset/176/blood + transfusion + service + center.
[22] Lichtinghagen R, Klawonn F, Hoffmann G. HCV data[EB/OL]. (2020-06-09).https://archive.ics.uci.edu/dataset/571/hcv+dats.
[23]Aeberhard S,F(xiàn)orina M.Wine[EB/OL].(1991-06-30).https:// archive. ics.uci. edu/dataset/109/wine.
[24]German B. Glassidentification [EB/OL].(1987-08-31). https:// archive.ics.uci.edu/dataset/42/glass+identification.
[25]SigillitoV,WingS,HuttonL,et al.Ionosphere[EB/OL].(1988- 12-31).htps://archive.ics.uci. edu/dataset/52/ionosphere.
[26]Nakai K.Ecoli [EB/OL].(1996-08-31).htps://archive. ics. uci. edu/dataset/39/ecoli.
[27]BreimanL.Random forests[J].Machine Learning,20l9,45:5-32.
[28]Freund Y,Schapire RE.Experiments with anew boosting algorithm [C]//Proc of the 14th International Conference on Machine Learning. New York:ACM Press,1996:148-156.
[29]Friedman JH. Greedy function approximation:a gradient boosting machine[J]. The Annals of Statistics,2001,29(5):1189-1232.
[30]Geurts P,Ernst D,Wehenkel L.Extremely randomized trees[J]. Machine Leaming,2006,63(1): 3-42.
[31]FrazierPI.A tutorial onBayesianoptimization[EB/OL].(2018- 07-08).https://arxiv.org/abs/1807.02811.