• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    一種基于改進(jìn)CGAN的不平衡數(shù)據(jù)集成分類算法

    2023-09-06 04:29:56荊曉娜陰艷超
    關(guān)鍵詞:原始數(shù)據(jù)分類器分類

    劉 寧,朱 波,荊曉娜,陰艷超

    (昆明理工大學(xué) 機(jī)電工程學(xué)院,昆明 650504)

    1 引 言

    傳統(tǒng)的機(jī)器學(xué)習(xí)分類方法通常假設(shè)不同類別的樣本數(shù)量一致或相當(dāng),然而,在實際應(yīng)用中多數(shù)領(lǐng)域所采集到的數(shù)據(jù)集往往存在著不平衡問題,即某個或某些類別樣本的數(shù)量顯著少于其他類別的樣本數(shù)量,如故障診斷[1]、金融欺詐[2]、醫(yī)學(xué)診斷[3],網(wǎng)絡(luò)入侵檢測[4]等領(lǐng)域.在數(shù)據(jù)集不平衡的情況下若直接使用不平衡數(shù)據(jù)集對分類器進(jìn)行訓(xùn)練會導(dǎo)致分類器偏向于多數(shù)類樣本,容易將少數(shù)類誤判為多數(shù)類.事實上,在多數(shù)情況下正確區(qū)分少數(shù)類樣本通常具有更重要的意義,前述各應(yīng)用領(lǐng)域均存在這一特性,因此,在數(shù)據(jù)不平衡條件下提高對少數(shù)類的識別精度顯得十分重要,也成為近年來機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘研究的重點.

    相關(guān)研究表明[5],不平衡數(shù)據(jù)分類的主要困難和挑戰(zhàn)并非因數(shù)據(jù)的不平衡特性造成,而是來自數(shù)據(jù)本身的分類特性,例如少數(shù)類樣本數(shù)太少且不具有代表性、不同類別樣本重疊導(dǎo)致難以形成清晰的分割邊界、少數(shù)類樣本的分布不連續(xù)使得類型分割更加復(fù)雜.針對以上難點,國內(nèi)外學(xué)者主要從數(shù)據(jù)處理、算法改進(jìn)、數(shù)據(jù)處理與算法改進(jìn)相結(jié)合的方式解決不平衡數(shù)據(jù)的分類問題.數(shù)據(jù)處理的主要思想是通過重采樣技術(shù)構(gòu)建平衡數(shù)據(jù)集,使數(shù)據(jù)集中的各類樣本的規(guī)模一致或相當(dāng).在分類算法改進(jìn)方面主要通過構(gòu)造新的算法或?qū)υ械姆诸愃惴ㄟM(jìn)行改進(jìn)提高分類器對少數(shù)類樣本的識別精度.典型方法如集成學(xué)習(xí)[6-8]和代價敏感算法等[9,10],前者主要通過某種策略對訓(xùn)練得到的子分類器進(jìn)行集成.得到一個比單一分類器穩(wěn)定且泛化能力更好的強(qiáng)分類器.后者則是在算法迭代過程中為少數(shù)類樣本設(shè)置更高的代價損失,該方法雖然也能有效提高不平衡數(shù)據(jù)的分類效果,但在多數(shù)情況下由于難以準(zhǔn)確估計出最適合數(shù)據(jù)集特性的誤分類代價,適用性相對較弱[11].因此,本文重點關(guān)注數(shù)據(jù)處理和集成學(xué)習(xí)兩個方面的研究及進(jìn)展.

    數(shù)據(jù)處理最原始的方法包括隨機(jī)過采樣和隨機(jī)欠采樣,兩者雖較易構(gòu)建平衡數(shù)據(jù)集,對不平衡數(shù)據(jù)的分類性能也有所提升,但都存在一定的缺陷,隨機(jī)過采樣容易造成過擬合,產(chǎn)生較多的冗余樣本,隨機(jī)欠采樣則有可能損失部分重要的信息.為了克服以上不足,眾多學(xué)者提出了一系列改進(jìn)型采樣方法.較具代表性的方法如SMOTE[12]及其改進(jìn)方法[13,14].除此之外,也有學(xué)者提出將噪聲過濾技術(shù)與SMOTE方法相結(jié)合,減少或消除合成樣本中的噪聲樣本,如SMOTE-Tomek和SMOTE-ENN,其中SMOTE-Tomek方法通過Tomek links技術(shù)移除采樣后的重疊樣本和噪聲樣本[15],SMOTE-ENN方法則是利用ENN方法(Edited Nearest Neighbor)對采樣后的數(shù)據(jù)集進(jìn)行分類,剔除分類錯誤的樣本進(jìn)而實現(xiàn)數(shù)據(jù)的深度清洗[16].

    Goodfellow等人[17]在2014年提出的生成對抗網(wǎng)絡(luò)(Generative Adversarial Networks,GAN)能夠在不依賴任何假設(shè)的情況下實現(xiàn)對復(fù)雜數(shù)據(jù)分布信息的學(xué)習(xí),生成還原原始數(shù)據(jù)分布的新樣本,將其作為過采樣方法可以提高不平衡數(shù)據(jù)的分類性能,且在多個不同應(yīng)用領(lǐng)域中取得初步成效[18-20].CGAN在GAN的基礎(chǔ)上增加外部標(biāo)簽信息用以指導(dǎo)生成對抗網(wǎng)絡(luò)的訓(xùn)練,在一定程度上避免了GAN模型訓(xùn)練過程中容易出現(xiàn)的梯度消失和模型崩潰等問題.文獻(xiàn)[21]通過訓(xùn)練CGAN并將其作為過采樣方法擴(kuò)增少數(shù)類樣本提高少數(shù)類樣本的分類精度.

    文獻(xiàn)[22]提出的自適應(yīng)增強(qiáng)(Adaptive Boosting,Adaboost)方法作為集成學(xué)習(xí)的經(jīng)典方法,在機(jī)器學(xué)習(xí)的不同領(lǐng)域中有著廣泛的應(yīng)用.隨著Adaboost技術(shù)的不斷發(fā)展,如何將其與數(shù)據(jù)采樣技術(shù)相結(jié)合進(jìn)一步提升不平衡數(shù)據(jù)中少數(shù)類樣本的識別精度成為一個新的研究熱點.如文獻(xiàn)[23]提出的SMOTEBoost方法和文獻(xiàn)[24]提出的RUSBoost方法,與SMOTEBoost方法相比,RUSBoost該方法可以降低訓(xùn)練的時間復(fù)雜度,但由于隨機(jī)欠采樣所獲得的數(shù)據(jù)可能會造成重要樣本信息的丟失,因此該方法在處理樣本容量較大的數(shù)據(jù)集更具優(yōu)勢.以上將數(shù)據(jù)采樣技術(shù)和Adaboost方法相結(jié)合的方式可以在不同程度上提高不平衡數(shù)據(jù)的分類性能,通常也能比使用單個方法獲得更好的分類性能,然而,在這個過程中如何進(jìn)一步提高采樣后的樣本質(zhì)量,以及如何對Adaboost方法進(jìn)行改進(jìn)使其更好的處理不平衡數(shù)據(jù)仍需要進(jìn)一步關(guān)注和研究.

    雖然以上研究及現(xiàn)存的不平衡數(shù)據(jù)分類算法在處理不平衡數(shù)據(jù)時亦可取得不錯的分類效果.但也暴露出一定的問題.在數(shù)據(jù)處理層面,既有的SMOTE及其改進(jìn)方法較隨機(jī)過采樣方法有了明顯的提升,但本質(zhì)上都是從少數(shù)類樣本的局部鄰域出發(fā),通過線性插值的方式合成新的樣本,沒有充分利用數(shù)據(jù)的分布信息,導(dǎo)致生成的新樣本不能較好地模擬真實數(shù)據(jù)的分布特征,對不平衡數(shù)據(jù)的分類性能提升有限.GAN及其相關(guān)模型能夠不依賴任何先驗假設(shè),通過數(shù)據(jù)驅(qū)動的方式實現(xiàn)對復(fù)雜數(shù)據(jù)分布信息的學(xué)習(xí),生成類似原始數(shù)據(jù)分布特征的合成樣本,將其作為過采樣方法處理不平衡數(shù)據(jù)十分有利,然而這些模型在訓(xùn)練過程中都存在一個問題,即需要帶標(biāo)簽的樣本數(shù)量達(dá)到一定規(guī)模才能有效學(xué)習(xí)數(shù)據(jù)的分布特性,若不平衡數(shù)據(jù)中少數(shù)類樣本規(guī)模較小或樣本量絕對稀少則難以保證模型充分學(xué)習(xí)到少數(shù)類樣本的分布特征,從而降低生成樣本的質(zhì)量.在算法層面,現(xiàn)有的分類算法并非為處理不平衡數(shù)據(jù)設(shè)計的,如何對現(xiàn)有的分類算法進(jìn)行改進(jìn),使其能更好的適應(yīng)不平衡數(shù)據(jù)也是不平衡數(shù)據(jù)分類任務(wù)的一個難點.

    針對上述問題,本文同時從數(shù)據(jù)層面和算法層面對不平衡數(shù)據(jù)分類方法進(jìn)行改進(jìn),提出了一種基于改進(jìn)CGAN的不平衡數(shù)據(jù)集成分類方法(ICGANBoost,Improved CGAN Oversampling Method and Adaboost).一方面,首先采用SMOTEENN方法擴(kuò)增既有的少數(shù)類樣本并使其達(dá)到一定規(guī)模,使CGAN模型可以充分學(xué)習(xí)到少數(shù)類樣本的分布信息,提高生成樣本的質(zhì)量.另一方面,通過改進(jìn)原始Adaboost方法,將不平衡數(shù)據(jù)分類的常用評價指標(biāo)F1值引入弱分類器權(quán)重的計算過程中,使改進(jìn)后的Adaboost方法能更好的適用于不平衡數(shù)據(jù)的分類.本文方法在8組公開數(shù)據(jù)集與其他經(jīng)典方法的對比實驗結(jié)果表明,本文所提出的過采樣方法能有效學(xué)習(xí)少數(shù)類樣本的分布特性,根據(jù)分布學(xué)習(xí)結(jié)果產(chǎn)生的新樣本對少數(shù)類樣本進(jìn)行擴(kuò)補(bǔ)充后,可使少數(shù)類樣本分布連續(xù)性得到增強(qiáng),生成的少數(shù)類樣本也更具代表性,避免了傳統(tǒng)SMOTE方法從局部領(lǐng)域出發(fā)得到的樣本易出現(xiàn)在邊界附近導(dǎo)致類型重疊.所提出的集成分類模型能獲得更好的分類效果.

    2 相關(guān)理論

    2.1 SMOTE與SMOTEENN

    SMOTE方法的主要思想是從少數(shù)類樣本點的局部鄰域出發(fā),在少數(shù)類樣本與其K近鄰樣本之間采用隨機(jī)線性插值法合成新的少數(shù)類樣本,樣本合成公式為:

    xnew=xi+ε×(xj-xi)

    (1)

    其中xnew為合成的少數(shù)類樣本,xi為第i個少數(shù)類樣本,xj為第i個少數(shù)類樣本的第j個近鄰樣本;ε為[0,1]之間的隨機(jī)數(shù).

    SMOTEENN方法在SMOTE方法的基礎(chǔ)上添加數(shù)據(jù)清洗功能,首先采用ENN方法對SMOTE采樣后每一個樣本進(jìn)行標(biāo)簽預(yù)測處理,然后保留預(yù)測標(biāo)簽與真實標(biāo)簽相同的樣本.與SMOTE方法相比,由于該方法對采樣后的數(shù)據(jù)進(jìn)行清洗,能夠清除一定數(shù)量的噪聲樣本,通常也能獲得更好的分類性能,也因此成為一種廣受關(guān)注的SMOTE改進(jìn)方法.

    2.2 GAN與CGAN

    GAN是2014年基于零和博弈理論提出的一種生成式模型,該模型由生成器G和判別器D兩部分組成,在訓(xùn)練過程中,生成器可將輸入的多維隨機(jī)噪聲轉(zhuǎn)化為接近真實數(shù)據(jù)分布的生成樣本,判別器則對輸入的數(shù)據(jù)進(jìn)行判斷,判斷輸入的數(shù)據(jù)是真實數(shù)據(jù)還是生成數(shù)據(jù).隨著訓(xùn)練的進(jìn)行,G和D的性能不斷加強(qiáng)并最終達(dá)到平衡點,理論上可以生成與真實數(shù)據(jù)無限接近的生成樣本.GAN模型的結(jié)構(gòu)如圖1所示,目標(biāo)函數(shù)為:

    圖1 生成對抗網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 Framework of generative adversarial network

    (2)

    式中:x為真實樣本,Pr為真實樣本分布;Pz為隨機(jī)噪聲;z為隨機(jī)噪聲為,G(z)為生成樣本.D(x)為輸出概率.

    Mirza等人[25]在GAN的基礎(chǔ)上提出了CGAN,與GAN相比,CGAN增加了外部標(biāo)簽信息用以指導(dǎo)生成對抗網(wǎng)絡(luò)的訓(xùn)練,不僅可以同時對多個類別樣本的信息進(jìn)行學(xué)習(xí),在一定程度上也避免了GAN模型訓(xùn)練過程中容易出現(xiàn)的梯度消失和模型崩潰等問題.CGAN的目標(biāo)函數(shù)在GAN的基礎(chǔ)上做了修改,新的目標(biāo)函數(shù)如公式(2)所示:

    Ez~Pz{log[1-D(G(z|y))]}

    (3)

    2.3 Adaboost方法

    Adaboost方法作為Boosting技術(shù)的代表算法,通過訓(xùn)練多組弱分類器并采取某種策略將其組合達(dá)到更好的分類效果.該方法的獨特之處在于其不會隨著迭代次數(shù)和樣本復(fù)雜度的增加而發(fā)生過擬合,Freund等人在文獻(xiàn)[26]中的實驗結(jié)果表明,隨著訓(xùn)練輪數(shù)的增加,訓(xùn)練誤差將趨近于零,測試誤差會繼續(xù)下降并收斂至某一界限,Adaboost方法具體步驟如算法1.

    算法1.AdaBoost算法

    輸入:訓(xùn)練數(shù)據(jù)集S={(x1,y1),(x2,y2),…,(xi,yi)},i=1,2,…,n,yi∈{1,-1},迭代次數(shù)T,基分類器為g;

    Step 1.初始化樣本權(quán)重分布:D1=(w11,w12,…,w1n);w1i=1/n,i=1,2,…,n.

    Step 2.Fort=1 toT

    a)根據(jù)當(dāng)前訓(xùn)練樣本的權(quán)值分布訓(xùn)練基分類器gt(xi)

    b)計算當(dāng)前分類器在訓(xùn)練集上的分類誤差:

    (4)

    c)計算當(dāng)前弱分類器在最終分類器中所占的權(quán)重:

    (5)

    d)更新樣本權(quán)值分布,其中Zt為歸一化因子:

    (6)

    Step 3.組合基分類器并輸出分類結(jié)果:

    (7)

    2.4 不平衡數(shù)據(jù)分類評價指標(biāo)

    針對不平衡數(shù)據(jù)分類性能的評價,整體的分類精度并不能較好的評價一個分類模型的優(yōu)劣,因此本文采用F1值、AUC和G-mean這3個指標(biāo)對不平衡數(shù)據(jù)的分類性能進(jìn)行評價.

    1)F1值,精確率和召回率的調(diào)和平均,是不平衡數(shù)據(jù)分類評價常用的評價指標(biāo):

    (8)

    其中,pression和recall分別表示準(zhǔn)確率和召回率.

    2)G-mean值,用于度量分類器在兩類數(shù)據(jù)上的平均性能:

    (9)

    其中,TPR和TNR分別表示真實正類率和真實負(fù)類率.

    3)AUC值,用于衡量分類性能的綜合指標(biāo).

    (10)

    其中,FP、FN分別表示負(fù)類樣本被誤判為正類,正類樣本被誤判為負(fù)類的樣本數(shù)量,N和M分別表示數(shù)據(jù)集中正類樣本和負(fù)類樣本的數(shù)目.

    3 本文方法

    3.1 基于改進(jìn)CGAN的過采樣方法

    條件生成對抗網(wǎng)絡(luò)(Conditional Generative Adversarial Networks,CGAN)可以在不依賴先驗假設(shè)的情況下實現(xiàn)對復(fù)雜數(shù)據(jù)分布特征的學(xué)習(xí),生成類似原始數(shù)據(jù)分布的高質(zhì)量樣本,以此作為一種過采樣方法對不平衡數(shù)據(jù)處理十分有利.然而,當(dāng)不平衡數(shù)據(jù)集中少數(shù)類樣本較少或絕對稀少時難以保證CGAN充分學(xué)習(xí)其分布特性,從而造成生成的樣本質(zhì)量欠佳.基于此,本文首先從數(shù)據(jù)方面對不平衡數(shù)據(jù)進(jìn)行處理,對CGAN做以改進(jìn),提出了一種混合SMOTEENN與CGAN的不平衡數(shù)據(jù)處理方法,該方法首先從既有的少數(shù)類樣本出發(fā),采用SMOTEENN方法快速生成多個少數(shù)類樣本,使少數(shù)類樣本達(dá)到一定的規(guī)模,保證CGAN能充分學(xué)習(xí)到少數(shù)類樣本的分布特征;然后在此基礎(chǔ)上訓(xùn)練出能夠較好學(xué)習(xí)到少數(shù)類樣本分布特征的CGAN模型;最后利用CGAN模型中的生成網(wǎng)絡(luò)重新生成指定數(shù)量的新樣本增大少數(shù)類樣本的規(guī)模并構(gòu)建最終平衡數(shù)據(jù)集.整個方法的具體步驟如算法2所示.

    算法2.SMOTEENN_CGAN

    輸入:原始不平衡數(shù)據(jù)集

    輸出:數(shù)據(jù)平衡化處理后的平衡訓(xùn)練集

    Step 1.歸一化不平衡數(shù)據(jù)集D并將其劃分為訓(xùn)練集S和測試集T,記訓(xùn)練集S中少數(shù)類樣本和多數(shù)類樣本的數(shù)量分別為N0、N1,以及構(gòu)建最終平衡數(shù)據(jù)集所需合成樣本的數(shù)量syn_Num=N1-N0

    Step 2.從訓(xùn)練集S中隨機(jī)選擇一個少數(shù)類樣本xi,根據(jù)歐式距離搜索每個少數(shù)類樣本xi的k近鄰樣本.

    Step 3.生成一個[0,1]之間的隨機(jī)數(shù)ε,從xi的k近鄰樣本中隨機(jī)選取一個樣本xj,根據(jù)公式(1)合成新樣本.

    Step 4.將合成的新樣本xnew加入訓(xùn)練集的少數(shù)類樣本中,判斷訓(xùn)練集S是否達(dá)到平衡,若訓(xùn)練集S達(dá)到平衡則執(zhí)行Step5,否則重復(fù)步驟step 2,Step 3.

    Step 5.采用ENN算法對訓(xùn)練集S進(jìn)行分類,刪除分類錯誤的樣本,得到訓(xùn)練集S′.

    Step 6.分別記S′中的少數(shù)類樣本及標(biāo)簽為S0′、y0,隨機(jī)生成batch_size個服從高斯分布的多維噪聲集合Z,同時從樣本集S0′中抽取batch_size個正類樣本X.

    Step 7.基于噪聲Z、真實樣本X和標(biāo)簽y0分別訓(xùn)練判別網(wǎng)絡(luò)和生成網(wǎng)絡(luò),根據(jù)優(yōu)化目標(biāo)計算二者的損失.

    Step 8.判斷CGAN模型是否收斂,若模型收斂則保存該模型并執(zhí)行Step 9,否則重復(fù)Step 6,Step 7.

    Step 9.隨機(jī)生成syn_Num個服從高斯分布的噪聲集合Z1,將其和樣本標(biāo)簽一同作為生成網(wǎng)絡(luò)的輸入即可生成syn_Num個符合原始數(shù)據(jù)分布特性的少數(shù)類樣本.

    Step 10.將生成的syn_Num個少數(shù)類樣本與原始訓(xùn)練集S合并即可得到最終平衡訓(xùn)練集S″.

    3.2 基于F1值計算弱分類器權(quán)重的Adaboost方法

    原始Adaboost方法根據(jù)公式(4)所得到的分類錯誤差計算當(dāng)前弱分類器的權(quán)重,通過公式(5)和公式(7)可以看出分類誤差較低的弱分類器在最終分類器中占有更高的權(quán)重.然而,基于公式(4)所得到的分類誤差是依據(jù)訓(xùn)練樣本的整體分類情況所得到,當(dāng)數(shù)據(jù)集不平衡時,該分類誤差難以體現(xiàn)出不同類別樣本的分類情況及數(shù)據(jù)的不平衡分布.

    F1值作為不平衡數(shù)據(jù)分類中最常用評價指標(biāo),相較于其他評價指標(biāo)能更好的體現(xiàn)出分類器對不平衡數(shù)據(jù)的分類性能,因此本文通對Adaboost方法進(jìn)行改進(jìn),提出一種基于F1值的弱分類器權(quán)重計算方法,使改進(jìn)后的Adabosot方法能更好的適應(yīng)不平衡數(shù)據(jù)的分類,改進(jìn)后分類錯誤率的計算公式如下:

    (11)

    其中,F1t為當(dāng)前弱分類器gt(x)在訓(xùn)練集上得到的F1值.

    (12)

    3.3 基于改進(jìn)CGAN的不平衡數(shù)據(jù)集成分類方法

    原始不平衡數(shù)據(jù)集經(jīng)過算法2處理后會得到一個平衡數(shù)據(jù)集,然后采用3.2節(jié)所提出的基于F1值計算弱分類器權(quán)重的Adaboost方法對算法2所獲得的平衡數(shù)據(jù)集進(jìn)行訓(xùn)練即可得出本文提出的ICGANBoost算法,其詳細(xì)步驟及相關(guān)python代碼如算法3所示.

    算法3.ICGANBoost

    輸入:數(shù)據(jù)集{(x1,y1),(x2,y2),…,(xi,yi)},i=1,2,…,n,yi∈{1,-1},迭代次數(shù)T,基分類器為g;

    1.trainX,testX,trainY,testY=getData();

    2.synN=Counter(trainY[-1])-Counter(trainY[1]);

    3.synSample=genSamples(class_for,synN);

    4.addL=np.ones(syn_Sample,1);

    5.trainXY=np.concatenate((trainX,trainY),axis=1);

    6.synXY=np.concatenate((synSample,addL),axis=1);

    7.totalXY=np.concatenate((trainXY,synXY),axis=0);

    8.newX=totalXY[:,0:-1];

    9.newY=totalXY[:,-1];

    10.allPre= np.zeros((len(testX),1));

    11.InitializeD[i]=1/(n+synN)fori=1,…,n+synN;

    12.fortin range(T):

    13.g.fit(newX,newY,D);

    14.trainPred=g.predict(newX);

    15.testPred=g.predict(testX);

    16.F1=metrics.f1_score(newY,trainPred);

    19.D=calWeight(newY,trainPred,beta,D);

    20.allPre+=beta*testPred;

    21.returnG(x)=np.sign(allPre);

    1)首先對原始數(shù)據(jù)進(jìn)行歸一化處理并將其劃分為訓(xùn)練集trainX、測試集testX、標(biāo)簽trainY和標(biāo)簽testY;調(diào)用算法2訓(xùn)練好的SMOTEENN_CGAN模型生成synN個少數(shù)類樣本(第1~3行).

    2)將生成的少數(shù)類樣本synSample及所賦標(biāo)簽與原始訓(xùn)練集trainX及標(biāo)簽trainY合并即可得到平衡訓(xùn)練集newX及其標(biāo)簽newY,然后對newX中的每個樣本平均分配相同的權(quán)值.(第4~12行).

    4)由當(dāng)前弱分類器在測試集上的預(yù)測值及在最終分類器所占權(quán)重可以得出前t個弱分類器在測試集上的加權(quán)預(yù)測值allPre,然后更新訓(xùn)練樣本的權(quán)值分布(第18~20行)

    5)重復(fù)執(zhí)行步驟2)和步驟3),達(dá)到迭代次數(shù)T時輸出集成分類器的預(yù)測值,結(jié)束循環(huán).(第21行)

    4 實驗結(jié)果及分析

    本文實驗硬件環(huán)境為Intel(R)Core(TM)i5-8250U CPU@1.60GHz,運行內(nèi)存為8G,軟件環(huán)境為windows10操作系統(tǒng),實驗工具采用python3.7.4,深度學(xué)習(xí)框架選取Tensorflow2.0.0和Keas2.3.1.

    4.1 實驗數(shù)據(jù)與設(shè)計

    為驗證本文方法的有效性和實用性,實驗采用8組不同應(yīng)用背景的KEEL數(shù)據(jù)集,實驗前首先對含有多類別的數(shù)據(jù)集劃分為多數(shù)類和少數(shù)類,然后對不同數(shù)據(jù)集進(jìn)行歸一化處理,將每組數(shù)據(jù)集取樣本數(shù)量的70%作為訓(xùn)練集,其他30%作為測試集,最后取5次實驗結(jié)果的平均值作為本文方法及相關(guān)對比算法的最終結(jié)果進(jìn)行對比分析.將本文數(shù)據(jù)集中多數(shù)類樣本標(biāo)記為-1,少數(shù)類樣本標(biāo)記為1.不同數(shù)據(jù)集信息如表1所示.

    表1 數(shù)據(jù)集基本信息Table 1 Basic information of datasets

    實驗設(shè)計思路:根據(jù)當(dāng)前不平衡數(shù)據(jù)集,首先分別以采樣效果展示和數(shù)據(jù)對比的形式將SMOTEENN_CGAN方法同其他經(jīng)典過采樣方法進(jìn)行比較,驗證將其作為過采樣方法的有效性,然后對本文所提出的ICGANBoost集成分類方法同其他集成分類方法進(jìn)行比較,證明該集成分類方法對不平衡數(shù)據(jù)進(jìn)行分類更具優(yōu)勢.

    4.2 SMOTEENN_CGAN方法驗證與分析

    4.2.1 不同過采樣方法采樣效果對比分析

    為了證明將SMOTEENN_CGAN作為過采樣方法處理不平衡數(shù)據(jù)的有效性,首先通過python3.7的sklearn包隨機(jī)生成一組多數(shù)類樣本數(shù)500,少數(shù)類樣本規(guī)模較小且樣本數(shù)量為50的人工不平衡數(shù)據(jù)集,其次分別采用SMOTE、Borderline-SMOTE、ADASYN、CGAN(直接使用原始數(shù)據(jù)對CGAN進(jìn)行訓(xùn)練)以及本文過采樣方法對數(shù)據(jù)集進(jìn)行過采樣處理并將采樣效果進(jìn)行可視化展示.以上不同過采樣方法的效果對比如圖 2所示.

    圖2給出了原始數(shù)據(jù)集以及采用不同過采樣方法的生成樣本可視化對比圖.其中圖2(a)是原始數(shù)據(jù)集的分布圖,可以看出原始數(shù)據(jù)集中少數(shù)類樣本規(guī)模較小且邊界附近存在少量的噪聲樣本;圖2(b)是SMOTE方法采樣后不同類別樣本的分布圖,可以看出SMOTE方法從局部鄰域出發(fā)并通過線性插值的方法合成新樣本,合成的新樣本與原始樣本差異較小,存在較多的重疊樣本且生成的部分樣本會落在多數(shù)類區(qū)域中,不利于分類器的訓(xùn)練;圖2(c)和圖2(d)分別是Borderline-SMOTE和ADASYN過采樣效果圖,兩者都更側(cè)重于邊界區(qū)域的少數(shù)類樣本,易受到邊界樣本的影響,導(dǎo)致在邊界附近生成更多的噪聲樣本;圖2(e)和圖2(f)分別是在模型參數(shù)相同的前提下對CGAN和SMOTEENN_CGAN模型進(jìn)行訓(xùn)練并將其作為過采樣方法擴(kuò)增少數(shù)類樣本的效果對比圖,總體來看,兩者所生成的新樣本與真實樣本分布基本一致但又不完全相同,能夠有效減緩經(jīng)典過采樣方法出現(xiàn)的樣本重疊等問題,體現(xiàn)了將生成對抗網(wǎng)絡(luò)及相關(guān)模型作為過采樣方法處理不平衡數(shù)據(jù)問題的有效性.但和圖2(f)相比,由于原始數(shù)據(jù)中少數(shù)類樣本規(guī)模的限制,CGAN模型沒有充分學(xué)習(xí)到少數(shù)類樣本的分布特征,最終導(dǎo)致所生成的少數(shù)類樣本比較發(fā)散,在樣本邊界附近會產(chǎn)生噪聲數(shù)據(jù),降低生成樣本的質(zhì)量.而本文方法所生成的樣本能較好的模擬原始數(shù)據(jù)的分布特征,基本都在原始樣本的分布區(qū)域中,且沒有噪聲樣本的產(chǎn)生,說明本文方法首先通過SMOTEENN對原始樣本進(jìn)行擴(kuò)增,使少數(shù)類樣本量達(dá)到一定規(guī)模,然后再訓(xùn)練CGAN模型可以使其充分學(xué)習(xí)到少數(shù)類樣本分布特征,生成與原始樣本差異更大、所提供信息更多的新樣本.

    圖2 不同過采樣方法生成樣本對比圖Fig.2 Visual comparison of synthetic data of different oversampling methods

    然而,僅憑直觀的可視化展示還不足以證明本文過采樣方法在不平衡數(shù)據(jù)分類處理方面的有效性和泛化性,下文將進(jìn)一步對CGAN改進(jìn)前后的合成樣本質(zhì)量進(jìn)行評估,并基于上述評價指標(biāo)和8組公開數(shù)據(jù)集對不同采樣方法的分類性能進(jìn)行比較.

    4.2.2 基于JS散度的生成樣本質(zhì)量評估

    Kullback-Leibler Divergence(KL散度)又稱為KL距離,是在信息熵的基礎(chǔ)上建立起來的,可將其看成數(shù)據(jù)分布的一種“距離”.設(shè)P={p(x1),p(x2),…,p(xn)},Q={q(x1),q(x2),…,q(xn)}為連續(xù)區(qū)間D中兩個不同的概率密度函數(shù),則P和Q之間的KL距離如公式(13)所示:

    (13)

    其中:P(x)>0,Q(x)>0,由公式(13)可以看出,KL值越小,P和Q的概率分布越相似.

    由于KL距離不具備對稱性,且不滿足三角不等式,因此Lin等人[27]在KL距離的基礎(chǔ)上提出JS散度并用其評估兩個隨機(jī)變量概率分布之間的相似度,JS散度計算公式見式(14):

    (14)

    由公式(14)可以看出,JS散度越小,P和Q的分布越相似,因此本文采用JS散度對CGAN改進(jìn)前后所生成的少數(shù)類樣本進(jìn)行評估,用其驗證CGAN改進(jìn)后所生成的少數(shù)類樣本質(zhì)量更高,可以更好的模擬原始數(shù)據(jù)的分布特征.

    在4.2.1節(jié)的基礎(chǔ)上,首先采用SMOTEENN_CGAN和CGAN模型隨機(jī)生成與少數(shù)類樣本規(guī)模相同的少數(shù)類樣本,然后計算生成樣本與原始樣本不同特征值下的JS散度,表2為5次實驗結(jié)果及平均值,其中PiQi(PiSi)表示原始少數(shù)類樣本第i個特征值與CGAN(SMOTEENN_CGAN)模型生成樣本的第i個特征值的JS散度.

    表2 基于JS散度的生成樣本質(zhì)量評估Table 2 Generative sample quality assessment based on JS divergence

    由表2可以看出,改進(jìn)后的CGAN模型所生成的樣本在不同特征值下與原始樣本的JS散度均更小,說明本文方法生成的少數(shù)類樣本能更好的模擬原始少數(shù)類數(shù)據(jù)分布特征,所生成的樣本質(zhì)量更高.

    4.2.3 不同過采樣方法分類性能對比分析

    將本文所提出的過采樣方法與OR(原始數(shù)據(jù))、SMOTE、ADASYN、CGAN在8組公開數(shù)據(jù)集對F1值、G-mean和AUC評價指標(biāo)進(jìn)行比較.實驗中均采用CART決策樹作為分類器,設(shè)置CGAN的迭代次數(shù)為3000,步長為0.0002,生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)均采用全連接神經(jīng)網(wǎng)絡(luò)、隱藏層采用LeakyRelu激活函數(shù)、輸出層分別采用tanh和sigmoid激活函數(shù).實驗結(jié)果如表3所示(粗體表示最優(yōu)值).

    表3 基于不同過采樣方法得到的分類器評價指標(biāo)Table 3 Metrics of classifier based on different oversampling algorithms.

    由表3的實驗結(jié)果可以看出,本文過采樣方法在數(shù)據(jù)集pima、haberman、page-bloks和glass2上的3個評價指標(biāo)均優(yōu)于其他過采樣算法.尤其在少數(shù)類樣本規(guī)模較小的數(shù)據(jù)集haberman(少數(shù)類樣本個數(shù)為81)和glass2(少數(shù)類樣本個數(shù)為17)上表現(xiàn)突出,以此可以證明本文過采樣方法處理不平衡數(shù)據(jù)尤其是在少數(shù)類樣本數(shù)較少的不平衡數(shù)據(jù)集上表現(xiàn)更有優(yōu)勢.和原始CGAN過采樣方法相比.F1值平均提高了6.3%,G-mean值平均提高了2.3%,AUC值平均提高了5.6%.雖然在個別數(shù)據(jù)集中沒有達(dá)到最好的分類效果,但差距也在可接受的范圍內(nèi),如在ecoli1數(shù)據(jù)集中本文方法所取得的F1值和G-mean略低.但其AUC值最高提高了8%,在wine_red數(shù)據(jù)集中得到的G-mean和AUC值略低.但其F1值取得了最高值.分析其原因可以發(fā)現(xiàn):一方面可能與原始數(shù)據(jù)的結(jié)構(gòu)特征有關(guān)系.原始數(shù)據(jù)中可能存在類重疊樣本.在生成新樣本時可能會引入部分噪聲樣本;另一方面可能是CGAN模型的訓(xùn)練參數(shù)選擇不是很恰當(dāng).模型超參數(shù)的選擇與數(shù)據(jù)集有很大關(guān)聯(lián).

    4.3 ICGANBoost集成學(xué)習(xí)方法驗證與分析

    將本文提出的ICGANBoost集成學(xué)習(xí)分類方法與其他集成學(xué)習(xí)方法在以上公開數(shù)據(jù)集做比較,進(jìn)一步驗證本文所提出的將改進(jìn)CGAN的過采樣方法與改進(jìn)的Adaboost方法相結(jié)合的方式可進(jìn)一步提升不平衡數(shù)據(jù)的分類性能,本節(jié)實驗的弱分類器同樣采用CART決策樹,迭代次數(shù)設(shè)置為20.考慮到Adaboost方法不會隨著訓(xùn)練次數(shù)的增加而發(fā)生過擬合,文中直接在訓(xùn)練集和測試集上開展實驗,實驗結(jié)果如表4所示,表4中的Ada+表示3.2節(jié)所提出的基于F1值計算弱分類器權(quán)重的Adaboost方法,SMOTE和RUS分別表示先用過采樣和欠采樣獲得平衡數(shù)據(jù)集,然后采用Adaboost方法訓(xùn)練所獲得的平衡數(shù)據(jù)集; ICGAN表示先使用SMOTEENN_CGAN方法生成少數(shù)類樣本,再用得到的平衡數(shù)據(jù)集訓(xùn)練Ada+分類器.

    表4 基于不同集成學(xué)習(xí)方法得到的分類器評價指標(biāo)Table 4 Metrics of classifier based on different ensemble learning method.

    由表4的實驗結(jié)果可以看出,基于F1值計算弱分類權(quán)重的Adaboost方法在多個數(shù)據(jù)集中較原始Adaboost方法有一定的提升,和原始Adaboost方法相比.Ada+在8組數(shù)據(jù)集上的F1、G-mean和AUC值平均分別提高了0.82%、0.69%、0.98%.說明通過將F1值引入到弱分類器權(quán)重更新的方式可以給不平衡數(shù)據(jù)分類性能較好的弱分類器賦予更高的權(quán)重,使得改進(jìn)后Adaboost方法更適應(yīng)不平衡數(shù)據(jù)的分類.而 ICGANBoost集成學(xué)習(xí)分類模型在多個數(shù)據(jù)集中有了明顯的提升,其在上述評價指標(biāo)中最高分別提高13.1%.9.3%和12.2%.以此證明本文所提集成方法的有效性;綜合表2和表3可以看出,集成后的各分類指標(biāo)相比于單一分類器有一定的提升,說明將數(shù)據(jù)采樣和集成學(xué)習(xí)相結(jié)合的方式在處理不平衡數(shù)據(jù)分類任務(wù)時可以獲得更好的分類效果.

    5 結(jié) 論

    CGAN作為過采樣方法處理不平衡數(shù)據(jù)時易受到少數(shù)類樣本規(guī)模的限制,在數(shù)據(jù)規(guī)模偏小的情況下難以有效學(xué)習(xí)其分布特征,導(dǎo)致生成的樣本質(zhì)量欠佳.針對上述問題,本文以CGAN和集成學(xué)習(xí)為基礎(chǔ),同時在數(shù)據(jù)層面和算法層面對不平衡數(shù)據(jù)處理方法進(jìn)行改進(jìn),提出了一種基于改進(jìn)CGAN的不平衡數(shù)據(jù)集成分類算法:第1階段首先采用SMOTEENN方法快速生成少數(shù)類樣本,使少數(shù)類樣本達(dá)到一定規(guī)模,保證CGAN能充分學(xué)習(xí)到少數(shù)類樣本的分布特征,提高合成樣本的質(zhì)量;第2階段對原始Adaboost方法進(jìn)行改進(jìn),將F1值引入弱分類器權(quán)重的計算過程中,使改進(jìn)后的Adaboost方法更好的適用于不平衡數(shù)據(jù)的分類.最后用改進(jìn)后的Adaboost方法訓(xùn)練平衡數(shù)據(jù)集得到集成分類模型.以F1值、AUC和G-mean作為評價指標(biāo),在8組公開數(shù)據(jù)集上的對比實驗結(jié)果表明,所提方法可以顯著提高不平衡數(shù)據(jù)的分類精度.未來的研究工作將從兩個方面展開:1)如何對本文方法涉及的模型參數(shù)做進(jìn)一步優(yōu)化,提高算法的運行效率;2)如何將該方法與實際應(yīng)用場景相結(jié)合,解決實際應(yīng)用當(dāng)中的不平衡數(shù)據(jù)分類問題.

    猜你喜歡
    原始數(shù)據(jù)分類器分類
    GOLDEN OPPORTUNITY FOR CHINA-INDONESIA COOPERATION
    分類算一算
    受特定變化趨勢限制的傳感器數(shù)據(jù)處理方法研究
    分類討論求坐標(biāo)
    數(shù)據(jù)分析中的分類討論
    BP-GA光照分類器在車道線識別中的應(yīng)用
    電子測試(2018年1期)2018-04-18 11:52:35
    教你一招:數(shù)的分類
    全新Mentor DRS360 平臺借助集中式原始數(shù)據(jù)融合及直接實時傳感技術(shù)實現(xiàn)5 級自動駕駛
    汽車零部件(2017年4期)2017-07-12 17:05:53
    加權(quán)空-譜與最近鄰分類器相結(jié)合的高光譜圖像分類
    結(jié)合模糊(C+P)均值聚類和SP-V-支持向量機(jī)的TSK分類器
    南充市| 靖西县| 义乌市| 武威市| 聂荣县| 乐至县| 简阳市| 平顺县| 商南县| 潞城市| 枣阳市| 祁东县| 深圳市| 古蔺县| 绥滨县| 景泰县| 泽州县| 桂林市| 孝感市| 金坛市| 上虞市| 长岭县| 安阳县| 鹤庆县| 墨竹工卡县| 南木林县| 汽车| 白玉县| 临沂市| 潜山县| 策勒县| 东明县| 宣城市| 新竹县| 咸丰县| 望江县| 清镇市| 乌兰浩特市| 安康市| 常熟市| 泗洪县|