宣晶雪 張權(quán) 李曉紅 王書宜
摘?要:針對不平衡數(shù)據(jù)集少類樣本分類精度低的現(xiàn)象,本文提出了一種新的不平衡數(shù)據(jù)擴(kuò)充采樣算法。改進(jìn)算法通過距離度量,在少類樣本中心與其近鄰間進(jìn)行隨機(jī)線性插值,使數(shù)據(jù)平衡。改進(jìn)算法與SMOTE算法、C_SMOTE算法分別對5個不平衡數(shù)據(jù)集進(jìn)行擴(kuò)充分類對比實驗,基于AUC、OOB、F值與G值評價指標(biāo)及成對樣本T檢驗,證明改進(jìn)算法能有效緩解類不平衡,并具有更優(yōu)異的不平衡數(shù)據(jù)處理性能。
關(guān)鍵詞:不平衡數(shù)據(jù);SMOTE算法;安全點(diǎn);噪聲點(diǎn);隨機(jī)森林算法
隨著人工智能領(lǐng)域的飛速發(fā)展,基于大數(shù)據(jù)的分類研究被認(rèn)為是可期待的新技術(shù)[1]。由于采樣環(huán)境差異,大數(shù)據(jù)通常存在類不平衡。類不平衡問題會產(chǎn)生許多標(biāo)準(zhǔn)學(xué)習(xí)算法分類性能的嚴(yán)重障礙[2]。分類器進(jìn)行訓(xùn)練時,往往更易學(xué)習(xí)多類(負(fù)類)樣本的特性,從而引起少類(正類)樣本被誤分,導(dǎo)致嚴(yán)重后果。例如,醫(yī)學(xué)研究的分類問題中,如若有正常樣本80個,患病樣本20個,即使所有的患病樣本都被誤分,分類模型的準(zhǔn)確率仍能達(dá)到80%。但就實際問題而言,誤診會產(chǎn)生嚴(yán)重影響。因此,不平衡數(shù)據(jù)集的擴(kuò)充分類顯得尤為重要[3]。
1?SMOTE算法分析
SMOTE算法是由Chawla提出的不平衡數(shù)據(jù)擴(kuò)充的常見算法[4]。其基本原理是在少類樣本與其近鄰樣本間進(jìn)行隨機(jī)的線性插值來完成數(shù)據(jù)擴(kuò)充,以達(dá)到一定的不平衡比率。不平衡比率為樣本集合中少類樣本數(shù)目與多類樣本數(shù)目的比值[5]。
SMOTE算法的具體步驟為:對任意的一個少類樣本xi(i=1,2,…,n),計算xi與其他少類樣本的距離,得到樣本xi的k個近鄰。再從k個近鄰中任意選取m個近鄰樣本,記作xij(j=1,2,…,m),通過在xi與xij之間進(jìn)行隨機(jī)的線性插值構(gòu)造新的少類樣本。插值公式為:
xnew=xi+rand(0,1)(xij-xi)
其中xnew表示人為構(gòu)造的少類樣本,rand[0,1]是區(qū)間[0,1]上滿足均勻分布的隨機(jī)數(shù)。
2?改進(jìn)算法
2.1?改進(jìn)算法設(shè)計
首先,SMOTE算法雖在一定程度上改善了不平衡數(shù)據(jù)集的分類效果,但其k值需人為確定,具有一定的盲目性[6]。其次,對于邊緣點(diǎn)而言,經(jīng)SMOTE算法擴(kuò)充后的樣本點(diǎn)仍可能是邊緣點(diǎn),導(dǎo)致擴(kuò)充數(shù)據(jù)邊緣化,且易模糊正負(fù)類邊界。
本文提出改進(jìn)算法,依據(jù)一定的劃分規(guī)則,將少類樣本劃分為安全點(diǎn)與噪聲點(diǎn),僅在安全點(diǎn)與少類樣本中心點(diǎn)(少類樣本均值)間以線性插值的方式構(gòu)造少類樣本。使得擴(kuò)充的少類樣本分布在原始少類樣本中心點(diǎn)附近,有效避免擴(kuò)充數(shù)據(jù)邊緣化,且規(guī)避SMOTE算法中k值選取的不確定性。
2.2?改進(jìn)算法流程
假設(shè)原始數(shù)據(jù)維度為m×r,m為樣本總個數(shù),r為樣本特征總個數(shù)。其中少類樣本維度為n×r,多類樣本維度為(m-n)×r。
(1)歸一化預(yù)處理。分別對少類、多類樣本進(jìn)行歸一化處理,使所有樣本取值介于[0,1]之間,避免量綱差異產(chǎn)生誤差。
x′ij=xij-xjminxjmax-xjmin
其中x′ij為已進(jìn)行歸一化預(yù)處理后的第j個特征屬性下的第i個樣本,xij為原始數(shù)據(jù)中第j個特征屬性下的第i個樣本,xjmax為樣本基于第j個特征屬性下的最大值,xjmin為樣本基于第j個特征屬性下的最小值。
(2)計算少類樣本中心點(diǎn)。依據(jù)下式,取歸一化后各特征屬性下的均值為少類樣本中心點(diǎn),記作x′center。
x′center=(1n∑ni=1x′i1,1n∑ni=1x′i2,…,1n∑ni=1x′ir)
其中是x′ir為已進(jìn)行歸一化預(yù)處理后的第r個特征屬性下的第i個樣本,n為少類樣本個數(shù)。
(3)劃分少類數(shù)據(jù)為安全點(diǎn)和噪聲點(diǎn)。計算少類樣本中心x′center與每個少類樣本點(diǎn)x′i之間的歐氏距離,記作disti(i=1,2,…,n)。并計算少類樣本中心x′center與多類樣本點(diǎn)間歐氏距離的平均值,記作distaverage。若distidistaverage,則第i個少類樣本點(diǎn)記為噪聲點(diǎn);若disti (4)數(shù)據(jù)擴(kuò)充。在少類樣本中心點(diǎn)x′center與安全點(diǎn)之間通過如下公式進(jìn)行數(shù)據(jù)擴(kuò)充。 x′new=x″i+rand(0,1)(x′center-x″i) 其中x′new為新擴(kuò)充的少類樣本,x″i為安全點(diǎn)集合中的少類樣本,rand[0,1]是區(qū)間[0,1]上滿足均勻分布的隨機(jī)數(shù)。 (5)選取不平衡比率。文獻(xiàn)[2]中研究表明不平衡比率為0.7時,擴(kuò)充融合數(shù)據(jù)分類效果最優(yōu)。故本文當(dāng)不平衡比率達(dá)到0.7時停止擴(kuò)充。 (6)更新總數(shù)據(jù)集。將擴(kuò)充后的少類樣本與預(yù)處理后的數(shù)據(jù)集合融合,隨機(jī)抽樣劃分訓(xùn)練集與測試集為3∶1,并利用隨機(jī)森林模型對更新后的數(shù)據(jù)集進(jìn)行分類。 改進(jìn)算法流程圖如圖1所示: 3?對比實驗分析 3.1?實驗評估指標(biāo) 本文不平衡數(shù)據(jù)擴(kuò)充分類實驗中的評價指標(biāo)為AUC值、袋外誤差OOB、F值與G值。 3.2?實驗環(huán)境 實驗數(shù)據(jù)來源于UCI數(shù)據(jù)庫中Pima、WPBC、WDBC、Ionosphere、Breastcancerwisconsin?5個不平衡數(shù)據(jù)集,表1為其具體信息。本文提出的改進(jìn)算法由Excel、Python與SPSS共同實現(xiàn)。Excel用于劃分安全點(diǎn)與噪聲點(diǎn),擴(kuò)充算法由Excel與Python共同實現(xiàn),隨機(jī)森林算法使用Python3.7軟件編程實現(xiàn),成對樣本T檢驗通過SPSS實現(xiàn)。隨機(jī)森林模型進(jìn)行分類時,采用5折交叉驗證防止過擬合,通過Gini指數(shù)選取最優(yōu)特征,每棵決策樹選取的特征個數(shù)依據(jù)經(jīng)驗公式h=logr2+1計算,r為每個數(shù)據(jù)集中總特征個數(shù),每棵決策樹選取的h個特征是隨機(jī)的。 3.3?數(shù)值實驗 本文提出改進(jìn)算法與SMOTE算法、C_SMOTE算法分別對5個不平衡數(shù)據(jù)集進(jìn)行擴(kuò)充,并用隨機(jī)森林模型對擴(kuò)充后的融合數(shù)據(jù)分類。為獲取科學(xué)準(zhǔn)確的實驗結(jié)果,重復(fù)擴(kuò)充分類實驗5次,取其平均值為最終實驗結(jié)果。 3.4?實驗結(jié)果分析 3.4.1?對比試驗結(jié)果分析 Pima、WDBC、WPBC、Ionosphere和Breastcancerwisconsin數(shù)據(jù)集的實驗結(jié)果如圖2~圖6所示,粗體表示實驗效果較好的數(shù)據(jù)組。 根據(jù)圖2~圖6可知,對于5個數(shù)據(jù)集合而言,均是改進(jìn)算法組對應(yīng)的AUC值、F值、G值最高,OOB值最低。因此本文提出的改進(jìn)算法對應(yīng)的擴(kuò)充分類效果優(yōu)于原始未擴(kuò)充數(shù)據(jù)、SMOTE算法和C_SMOTE算法。 3.4.2?成對樣本T檢驗分析 為了進(jìn)一步說明改進(jìn)算法較SMOTE算法具備更良好的不平衡擴(kuò)充性能,采用成對樣本T檢驗對其進(jìn)行驗證。Sig雙側(cè)值是成對樣本T檢驗的主要評價指標(biāo),若Sig雙側(cè)值小于0.05,則配對樣本有顯著性差異,否則不具有顯著性差異。配對樣本為5個不平衡數(shù)據(jù)集基于改進(jìn)算法與SMOTE算法連續(xù)10次擴(kuò)充分類實驗的OOB值,表2為5組數(shù)據(jù)的成對樣本統(tǒng)計量表格,粗體為實驗效果較好的數(shù)據(jù)組。表3為5組數(shù)據(jù)成對樣本檢驗結(jié)果。 根據(jù)表2可知,改進(jìn)算法組對應(yīng)的泛化誤差更小,標(biāo)準(zhǔn)差與標(biāo)準(zhǔn)誤差更低。即與SMOTE算法相比,改進(jìn)算法對應(yīng)的擴(kuò)充分類效果更好,對不平衡數(shù)據(jù)的處理能力更優(yōu)。 根據(jù)表3可知,5組配對樣本數(shù)據(jù)的Sig雙側(cè)值均小于0.05,因此改進(jìn)算法與SMOTE算法分別對5個不平衡數(shù)據(jù)集進(jìn)行擴(kuò)充,再經(jīng)隨機(jī)森林模型進(jìn)行分類,其分類效果具有顯著性差異。 結(jié)語 本文提出了一種基于SMOTE算法的不平衡數(shù)據(jù)擴(kuò)充采樣算法。基于數(shù)據(jù)層面,模擬原始少類樣本的分布特性,圍繞少類樣本中心,在安全點(diǎn)內(nèi)線性插值構(gòu)造數(shù)據(jù),使得擴(kuò)充數(shù)據(jù)分布在中心點(diǎn)附近,有效克服擴(kuò)充數(shù)據(jù)邊緣化。實驗表明,改進(jìn)算法顯著提升不平衡數(shù)據(jù)集的分類效果,有效緩解了不平衡數(shù)據(jù)集分類難的現(xiàn)象。不平衡數(shù)據(jù)擴(kuò)充其本質(zhì)是希望提高原始少類樣本的分類效果。未來,可從原始少類樣本角度出發(fā),嘗試增加僅評估原始少類樣本分類效果的評價指標(biāo),對算法擴(kuò)充性能進(jìn)行驗證。 參考文獻(xiàn): [1]唐思均.基于優(yōu)化SMOTE算法的非平衡大數(shù)據(jù)集分類研究[J].沈陽工程學(xué)院學(xué)報(自然科學(xué)版),2021,17(03):7176. [2]Ma?L,Li?Y,F(xiàn)an?S,et?al.A?Hybrid?Method?for?Image?Segmentation?Based?on?Artificial?Fish?Swarm?Algorithm?and?Fuzzy?cMeans?Clustering[J].Computational?and?Mathematical?Methods?in?Medicine,2015(4):110. [3]張?zhí)煲恚×⑿?一種基于SMOTE的不平衡數(shù)據(jù)集重采樣方法[J].計算機(jī)應(yīng)用與軟件,2021,38(09):273279. [4]Nitesh?V?Chawla,Kevin?W?Bowyer,Lawrence?O?Hall.SMOTE:Synthetic?Minority?Oversampling?Technique[J].Journal?of?Artificial?Intelligence?Research,2002,16(1):321357. [5]李志強(qiáng),余炫樸.基于SMOTELR的大學(xué)生學(xué)術(shù)失信預(yù)測研究[J].東北師大學(xué)報(哲學(xué)社會科學(xué)版),2021(04):7683. [6]王文博,曾小梅,趙引川,等.基于SMOTEXGBoost的變壓器缺陷預(yù)測[J].華北電力大學(xué)學(xué)報(自然科學(xué)版),2021,48(05):5460+71. 基金資助:黑龍江省省屬高等學(xué)?;究蒲袠I(yè)務(wù)費(fèi)科研項目(145109132) 作者簡介:宣晶雪(1995—?),女,漢族,黑龍江齊齊哈爾人,碩士,助教,研究方向:系統(tǒng)分析與優(yōu)化研究。