劉定祥,喬少杰,張永清,韓 楠,魏軍林,張榕珂,黃 萍
(1.成都信息工程大學(xué) a.網(wǎng)絡(luò)空間安全學(xué)院; b.軟件工程學(xué)院; c.計(jì)算機(jī)學(xué)院; d.管理學(xué)院, 成都 610225;2.西部戰(zhàn)區(qū)總醫(yī)院, 成都 610083)
針對(duì)現(xiàn)實(shí)生活中產(chǎn)生的大量數(shù)據(jù),人們通過(guò)傳感器等數(shù)據(jù)采集設(shè)備將其收集、整理,形成了計(jì)算機(jī)能夠批量處理的數(shù)據(jù)。通過(guò)對(duì)數(shù)據(jù)的學(xué)習(xí)分析,挖掘潛藏在數(shù)據(jù)背后深層的知識(shí)和規(guī)律,可提升人們對(duì)外界事物的感知和理解能力[1-2]。然而,現(xiàn)實(shí)中這些數(shù)據(jù)大都比例不平衡。例如,癌癥基因檢測(cè)數(shù)據(jù)[3]中,在幾百萬(wàn)個(gè)樣本基因里可能僅有一個(gè)基因是癌癥基因;電信通訊中只有少數(shù)通訊是具有欺詐行為的通訊記錄[4-5];軟件檢測(cè)中也只有不到10%的軟件是具有缺陷的[6]。
不平衡數(shù)據(jù)普遍存在于人類(lèi)生活的方方面面,不僅數(shù)據(jù)分布廣泛,而且數(shù)據(jù)比例不均衡。在不平衡數(shù)據(jù)中數(shù)量多的樣本稱(chēng)為負(fù)樣本,數(shù)量少的樣本稱(chēng)為正樣本。正負(fù)樣本擁有較大的比例差距,例如:全國(guó)1年中雷電天氣(正樣本)天數(shù)占全年天數(shù)的比例不到10%;新生體檢中患肺結(jié)核疾病的學(xué)生人數(shù)占比不到1‰。
在數(shù)據(jù)分類(lèi)評(píng)價(jià)指標(biāo)中,全局分類(lèi)正確率是指分類(lèi)正確的正樣本與負(fù)樣本數(shù)量之和除以總的正樣本與負(fù)樣本的數(shù)量。正樣本分類(lèi)正確率是指分類(lèi)正確的正樣本數(shù)量除以總的正樣本數(shù)量。同理可得負(fù)樣本分類(lèi)正確率。通過(guò)上述定義可以知道:不平衡數(shù)據(jù)中,由于負(fù)樣本數(shù)量遠(yuǎn)多于正樣本,少數(shù)正樣本被錯(cuò)分并不會(huì)大幅度地降低全局分類(lèi)正確率,但正樣本分類(lèi)正確率會(huì)下降。
機(jī)器學(xué)習(xí)[7]利用訓(xùn)練數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練,使模型能夠?qū)W習(xí)到樣本數(shù)據(jù)特征,實(shí)現(xiàn)機(jī)器對(duì)樣本數(shù)據(jù)的自動(dòng)分類(lèi)。精準(zhǔn)分類(lèi)一直是機(jī)器學(xué)習(xí)發(fā)展所必需的,但絕大多數(shù)流行的分類(lèi)器是根據(jù)平衡數(shù)據(jù)進(jìn)行設(shè)計(jì),不平衡數(shù)據(jù)不能夠充分訓(xùn)練分類(lèi)模型,導(dǎo)致分類(lèi)性能下降[8]?,F(xiàn)階段,機(jī)器學(xué)習(xí)大多通過(guò)梯度下降[9]方法訓(xùn)練模型參數(shù),不平衡數(shù)據(jù)訓(xùn)練分類(lèi)模型會(huì)導(dǎo)致分類(lèi)模型的參數(shù)過(guò)多向負(fù)樣本(majority class)傾斜,從而極大地降低了模型對(duì)正樣本(minority class)的分類(lèi)正確率。例如:對(duì)于同一分類(lèi)方法,利用平衡數(shù)據(jù)集對(duì)分類(lèi)模型進(jìn)行訓(xùn)練時(shí),分類(lèi)模型能夠較好地識(shí)別正負(fù)樣本,獲得較高的正負(fù)樣本分類(lèi)正確率;利用不平衡數(shù)據(jù)集對(duì)分類(lèi)模型進(jìn)行訓(xùn)練時(shí),分類(lèi)模型對(duì)正樣本識(shí)別能力弱,降低了正樣本分類(lèi)正確率。
為了解決數(shù)據(jù)不平衡問(wèn)題,許多數(shù)據(jù)不平衡處理方法被提出[10]。Anand等[11]早在1993年就對(duì)不平衡數(shù)據(jù)做了比較深入的研究,發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)反向轉(zhuǎn)播收斂速度慢,其原因是訓(xùn)練集中多數(shù)樣本均屬于同一類(lèi)。與此同時(shí),Krawczyk等[12]針對(duì)不平衡問(wèn)題總結(jié)了不平衡數(shù)據(jù)主要應(yīng)用領(lǐng)域,如表1所示,其中括號(hào)內(nèi)數(shù)字表示統(tǒng)計(jì)應(yīng)用的次數(shù)。表1充分說(shuō)明了不平衡數(shù)據(jù)應(yīng)用在各個(gè)領(lǐng)域,其分布廣,使用頻率高,是機(jī)器學(xué)習(xí)中普遍存在和亟待解決的問(wèn)題。
當(dāng)前,提升分類(lèi)器在不平衡數(shù)據(jù)中的學(xué)習(xí)效果主要采用兩種方法:
1) 對(duì)不平衡數(shù)據(jù)分類(lèi)算法的優(yōu)化。由于現(xiàn)階段的分類(lèi)算法主要是根據(jù)平衡數(shù)據(jù)集進(jìn)行設(shè)計(jì)的,故優(yōu)化不平衡分類(lèi)算法不僅難度大,且在正樣本分類(lèi)正確率上提升不顯著。
2) 對(duì)不平衡數(shù)據(jù)采樣算法的優(yōu)化。采樣算法著手于數(shù)據(jù)層面,能夠有效地解決不平衡數(shù)據(jù)正負(fù)樣本分布不平衡的問(wèn)題,且采樣算法的優(yōu)化設(shè)計(jì)相對(duì)容易,在正樣本分類(lèi)正確率方面性能可得到顯著提升。研究不平衡數(shù)據(jù)采樣算法能夠有效地提升正樣本分類(lèi)正確率。本文著重從數(shù)據(jù)采樣的角度介紹如何對(duì)不平衡數(shù)據(jù)進(jìn)行處理。
表1 不平衡數(shù)據(jù)的典型應(yīng)用
當(dāng)前,采樣方法主要有以下3類(lèi):欠采樣[13-20]、過(guò)采樣[21-40]、混合采樣[41-51],這三類(lèi)方法都有各自的優(yōu)缺點(diǎn)。
1) 欠采樣方法指篩選一些具有代表性的負(fù)樣本,使負(fù)樣本和正樣本達(dá)到比例相當(dāng),即所謂的“數(shù)據(jù)平衡”。其優(yōu)點(diǎn)是訓(xùn)練集達(dá)到了平衡,提升了正樣本分類(lèi)正確率,缺點(diǎn)是丟失了大量的負(fù)樣本特征,模型不能充分地學(xué)習(xí)到負(fù)樣本的樣本特征,降低了負(fù)樣本分類(lèi)正確率,欠采樣過(guò)程如圖1(a)所示。
2) 過(guò)采樣方法是時(shí)下比較流行的方法,其工作原理和欠采樣相反,目的是將現(xiàn)有的少數(shù)正樣本通過(guò)模型生成新的正樣本,使數(shù)據(jù)集中正負(fù)樣本達(dá)到平衡。其優(yōu)點(diǎn)是增加了正樣本數(shù)量和正樣本的多樣性,提升了模型對(duì)正樣本的學(xué)習(xí)量。缺點(diǎn)是生成的正樣本不是真正采集獲得的正樣本,在增加樣本數(shù)量和多樣性的同時(shí)帶來(lái)了樣本噪聲(樣本不具有的特征)。模型學(xué)習(xí)樣本噪聲,降低了模型對(duì)正樣本的分類(lèi)正確率。過(guò)采樣思想如圖1(b)所示。
3) 混合采樣是指將欠采樣和過(guò)采樣結(jié)合,正樣本通過(guò)某種樣本生成模型生成一部分新的正樣本,負(fù)樣本通過(guò)樣本篩選模型篩選一部分具有代表性的負(fù)樣本,達(dá)到正負(fù)樣本數(shù)量平衡?;旌喜蓸又荚跍p少負(fù)樣本的特征丟失,同時(shí)減少正樣本的噪聲生成,達(dá)到正負(fù)樣本數(shù)量平衡,混合采樣過(guò)程如圖1(c)所示。
圖1 不同采樣算法工作原理
本文通過(guò)對(duì)當(dāng)前國(guó)內(nèi)外具有代表性的不平衡分類(lèi)學(xué)習(xí)中的采樣研究進(jìn)行統(tǒng)計(jì)發(fā)現(xiàn):其19%是欠采樣的研究,52%是過(guò)采樣的研究,29%是混合采樣的研究。單從統(tǒng)計(jì)數(shù)據(jù)上可以發(fā)現(xiàn),不平衡數(shù)據(jù)采樣研究中過(guò)采樣的研究較多。通過(guò)整理,將本文討論的研究?jī)?nèi)容匯總?cè)绫?所示。
解決數(shù)據(jù)不平衡問(wèn)題,最簡(jiǎn)單的欠采樣方法是隨機(jī)欠采樣[13]。它通過(guò)隨機(jī)丟棄一部分負(fù)樣本使正負(fù)樣本達(dá)到平衡。但這種做法具有很大的缺陷,因?yàn)殡S機(jī)丟失了大量的負(fù)樣本特征,隨機(jī)欠采樣不能大幅度地提升模型的正樣本分類(lèi)正確率。
欠采樣主要分為兩類(lèi):① 基于聚類(lèi)的欠采樣(clustering based under-sampling):通過(guò)對(duì)負(fù)樣本進(jìn)行聚類(lèi),并在每一個(gè)類(lèi)中選取具有代表性特征的樣本作為負(fù)樣本訓(xùn)練集;② 通過(guò)整合的思想,將負(fù)樣本分成很多份,利用每一份負(fù)樣本和唯一一份正樣本對(duì)多個(gè)分類(lèi)器進(jìn)行訓(xùn)練,最后對(duì)多個(gè)結(jié)果進(jìn)行集成。
表2 典型采樣方法及采樣策略
種類(lèi)重采樣策略文獻(xiàn)出處欠采樣基于聚類(lèi)的思想Yen等(2009),Varassin等(2013),Ng等(2017)基于整合思想Liu等(2009),Tahir等(2012),Zhang等(2018)過(guò)采樣基于K鄰近思想Chawla等(2002),Han等(2005),Bunkhumpornpat等(2009)基于聚類(lèi)的思想Sanchez等(2013),Nekooeimehr等(2016)基于半監(jiān)督的思想Dong等(2016),Ebo等(2017)基于深度神經(jīng)網(wǎng)絡(luò)Konno等(2018)基于進(jìn)化算法思想Maleki等(2017),Lim等(2016)其他思想Ramentol等(2016),Pang等(2013),Barua等(2014)混合采樣隨機(jī)欠采樣+隨機(jī)過(guò)采樣Seiffert等(2008)SMOTE+Kmeans戴翔等(2015)Borderline+Random馮宏偉等(2017)SMOTE+聚類(lèi)+majority votingParchuabsupakij等(2018),Cao等(2014)
為了解決欠采樣的隨機(jī)性問(wèn)題,Yen等[14-15]將負(fù)樣本進(jìn)行聚類(lèi),選取有代表性的樣本作為訓(xùn)練集,以盡可能地提取具有代表性的負(fù)樣本特征,減少負(fù)樣本的特征丟失,優(yōu)化訓(xùn)練效果,在提升對(duì)正樣本識(shí)別率的同時(shí)減少負(fù)樣本的錯(cuò)分率。雖然通過(guò)聚類(lèi)使得訓(xùn)練集包含了更加全面的特征,但依然無(wú)法避免樣本特征丟失的缺陷。Ng等[16]認(rèn)為樣本的分布信息有助于代表性樣本的選取,通過(guò)對(duì)負(fù)樣本進(jìn)行聚類(lèi)獲取其分布信息,選取每一個(gè)類(lèi)中具有代表性的樣本,計(jì)算樣本的敏感度,再根據(jù)敏感度選取k個(gè)負(fù)樣本和k個(gè)正樣本,將這2k個(gè)樣本作為訓(xùn)練集。Varassin等[17]將欠采樣的方法運(yùn)用到DNA剪切位點(diǎn)的預(yù)測(cè)中,通過(guò)對(duì)負(fù)樣本進(jìn)行聚類(lèi),選取距聚類(lèi)中心最近的樣本作為代表性的負(fù)樣本。
Liu等[18]針對(duì)欠采樣提出了一種將負(fù)樣本劃分為多份的思想對(duì)模型進(jìn)行訓(xùn)練,然后對(duì)結(jié)果進(jìn)行集成,其基本思想為:隨機(jī)將負(fù)樣本分成和正樣本數(shù)量相當(dāng)?shù)娜舾煞?,然后?duì)每一份負(fù)樣本和僅有的一份正樣本進(jìn)行訓(xùn)練,這樣可以訓(xùn)練出若干個(gè)模型,再將每一個(gè)模型的分類(lèi)結(jié)果進(jìn)行集成得到最終結(jié)果。由于考慮了所有負(fù)樣本的特征,所以應(yīng)用這一方法可以有效地提升正樣本與負(fù)樣本的分類(lèi)正確率,其算法流程如下所示:
算法1 簡(jiǎn)單集成欠采樣算法輸入:所有正樣本P,所有負(fù)樣本N,|p|<|N|,數(shù)據(jù)集個(gè)數(shù)T輸出:分類(lèi)預(yù)測(cè)結(jié)果1.選擇合適的模型Xi,將N劃分為T(mén)個(gè)子數(shù)據(jù)集{N1,N2,N3,…,NT};2.For i=1,2,3,…,T 利用P和Ni對(duì)模型Xi進(jìn)行訓(xùn)練,得到結(jié)果Ri; EndFor3.將T個(gè)結(jié)果{R1,R2,R3,…,RT}進(jìn)行集成,得到最終結(jié)果;
該方法考慮了所有負(fù)樣本的特征,能夠獲得較高的正樣本與負(fù)樣本分類(lèi)正確率,但是對(duì)于一些處于樣本邊界的數(shù)據(jù),并不能有效地提升分類(lèi)性能。因?yàn)樵跊](méi)有強(qiáng)化學(xué)習(xí)邊界樣本的情況下,分類(lèi)器大概率會(huì)出現(xiàn)錯(cuò)分的情況。Zhang等[19]提出了一種反向隨機(jī)欠采樣的方法,其思想是將負(fù)樣本分成比正樣本少的若干份,將每一份負(fù)樣本和正樣本作為訓(xùn)練集,然后對(duì)多個(gè)結(jié)果進(jìn)行集成得到最終結(jié)果。由于欠采樣后每一個(gè)訓(xùn)練集中負(fù)樣本比正樣本少,所以稱(chēng)為反向欠采樣。實(shí)驗(yàn)結(jié)果表明:反向欠采樣具有一定的有效性與可靠性。Tahir等[20]針對(duì)上述問(wèn)題提出了一種尋找正樣本和負(fù)樣本邊界的欠采樣方法。首先將負(fù)樣本進(jìn)行反向欠采樣,產(chǎn)生若干個(gè)負(fù)樣本少于正樣本的訓(xùn)練集;然后尋找每一個(gè)訓(xùn)練集中正負(fù)樣本的邊界,將這些邊界進(jìn)行擬合,得到最終的樣本邊界,進(jìn)而通過(guò)邊界對(duì)樣本進(jìn)行分類(lèi)。實(shí)驗(yàn)結(jié)果表明:此方法在二分類(lèi)和多分類(lèi)問(wèn)題上均取得了較高的正樣本分類(lèi)正確率。
過(guò)采樣方法主要指通過(guò)數(shù)學(xué)模型或者方法合成正樣本。由于合成樣本的方法是人為設(shè)定的,使得生成的正樣本會(huì)包含一些原正樣本不具有的特征,即噪聲數(shù)據(jù)。該特征被分類(lèi)器學(xué)習(xí)進(jìn)而造成分類(lèi)正確率下降。如何使生成的正樣本具有豐富多樣的正樣本特征,且使得正樣本均勻分布在樣本空間是過(guò)采樣方法研究的關(guān)鍵與核心[21]。已有過(guò)采樣方法較多,不同方法具有各自的優(yōu)缺點(diǎn)。最簡(jiǎn)單的過(guò)采樣方法是隨機(jī)過(guò)采樣[22],其思想是隨機(jī)復(fù)制正樣本,單純地使得正負(fù)樣本比例達(dá)到相對(duì)平衡。雖然模型對(duì)正樣本的分類(lèi)正確率有一定的提高,但其最大的缺點(diǎn)在于生成的正樣本與初始正樣本一樣,不具有多樣性,并不能大幅度地提升正樣本的分類(lèi)正確率。
為了解決隨機(jī)過(guò)采樣的局限性,提升樣本的多樣性,Chawla等[23]提出了SMOTE方法。SMOTE算法的主要過(guò)程如下所示:
算法2 基于K鄰近的SMOTE過(guò)采樣算法輸入:原始樣本數(shù)據(jù)集N,采樣比率P輸出:新的平衡數(shù)據(jù)集Nnew1.對(duì)于每一個(gè)正樣本Xi,計(jì)算Xi到正樣本集合N中所有樣本的歐式距離,得到其K鄰近;2.根據(jù)采樣比率計(jì)算生成的正樣本數(shù)量,從其K鄰近中隨機(jī)選擇相應(yīng)數(shù)量的鄰近配對(duì);3.對(duì)每個(gè)配對(duì)的樣本(Xi,Xn)按照如下公式生成新的正樣本,直到達(dá)到采樣比率: Xnew=Xi+rand(0,1)?|Xi-Xn|;
SMOTE方法是最具代表性的過(guò)采樣方法,其基本思想是在每一個(gè)正樣本和其K鄰近的樣本之間隨機(jī)地生成一個(gè)新的樣本。由于生成的樣本是兩個(gè)樣本之間的隨機(jī)值,所以該方法解決了樣本多樣性的問(wèn)題。 Han等[24]分析了SMOTE方法的不足,提出了Borderline SMOTE方法,認(rèn)為在正樣本的邊界區(qū)域樣本容易被分類(lèi)器錯(cuò)分,因而要強(qiáng)化邊界區(qū)域數(shù)據(jù)的訓(xùn)練。算法思想:找到正樣本的邊界區(qū)域,對(duì)處于邊界區(qū)域的正樣本采用SMOTE方法進(jìn)行樣本生成。由于增加了邊界樣本的數(shù)據(jù)量,強(qiáng)化了邊界樣本的學(xué)習(xí),正樣本分類(lèi)正確率相比SMOTE方法有一定的提升。但SMOTE和Borderline SMOTE方法均通過(guò)尋找K鄰近生成樣本,在選取K鄰近樣本時(shí),均未考慮存在選取到負(fù)樣本的情況。Bunkhumpornpat 等[25]提出了Self-Level-SMOTE方法,通過(guò)計(jì)算K鄰近附近正樣本的權(quán)重來(lái)生成正樣本,避免了生成樣本跨越正樣本邊界的問(wèn)題。
基于聚類(lèi)的過(guò)采樣方法思想是:為了將具有相同特征的正樣本聚在一起,在每一個(gè)類(lèi)中通過(guò)樣本生成的方法生成樣本。由于對(duì)正樣本進(jìn)行了聚類(lèi),所以處于每一個(gè)類(lèi)中的樣本都會(huì)有新樣本生成,避免了生成樣本過(guò)于集中在某一個(gè)類(lèi)中,使得生成的正樣本能夠均勻地分布在正樣本的樣本空間,提升了正樣本分類(lèi)正確率。Sanchez等[26]將正樣本進(jìn)行聚類(lèi),根據(jù)需要生成的樣本數(shù)量在每一個(gè)類(lèi)中單獨(dú)進(jìn)行過(guò)采樣。由于聚類(lèi)后在同一個(gè)類(lèi)中的樣本具有相似的屬性,新生成的樣本不會(huì)跨越類(lèi)邊界,同時(shí)減少了樣本生成的盲目性,提升了采樣的效果。Nekooeimehr等[27]利用層次聚類(lèi)對(duì)正樣本進(jìn)行聚合,在每一個(gè)層內(nèi)部進(jìn)行過(guò)采樣,并對(duì)邊界樣本進(jìn)行識(shí)別,對(duì)處于邊界的樣本不進(jìn)行過(guò)采樣,避免了生成樣本跨越邊界的問(wèn)題。
不平衡數(shù)據(jù)集中有一些數(shù)據(jù)集不平衡比例較大,正樣本數(shù)量非常少,通過(guò)簡(jiǎn)單地樣本生成不能有效地生成具有多樣性的樣本。Dong等[28]利用半監(jiān)督的方法解決正樣本過(guò)于稀少的問(wèn)題,不斷把新生成的樣本合并到原來(lái)的樣本中進(jìn)行下一輪迭代,從而達(dá)到正負(fù)樣本平衡。Ebo等[6]認(rèn)為:無(wú)論是SMOTE方法,還是通過(guò)高斯分布或者基于特征生成的模型都是基于K鄰近生成的,K鄰近生成的新樣本會(huì)跨越正樣本的邊界,如圖2所示。
圖2 基于K鄰近(K=4)的樣本生成示意圖
通過(guò)圖2可以發(fā)現(xiàn):正樣本(用實(shí)心五角星表示)被選取時(shí),基于K鄰近方法生成的樣本有部分跨越了樣本邊界(虛線(xiàn)以外)。Ebo等[6]提出了一種染色體遺傳理論的過(guò)采樣方法MAHAKIL,通過(guò)計(jì)算每一個(gè)正樣本和正樣本中心的馬氏距離,按距離大小排序,將距離較大的一半和距離較小的一半分別作為父親樣本和母親樣本進(jìn)行交配,生成新的樣本,然后利用半監(jiān)督的思想迭代生成需要的樣本數(shù)量,具體過(guò)程如算法3所示。
算法3 基于多樣性的MAHAKIL過(guò)采樣算法輸入:原始數(shù)據(jù)集N,生成比例P輸出:和生成比例P相當(dāng)?shù)臄?shù)據(jù)集1.將數(shù)據(jù)集N分成正樣本Nmin和負(fù)樣本Nmaj,獲取正樣本的個(gè)數(shù)NNmin和負(fù)樣本的個(gè)數(shù)NNmaj;2.根據(jù)生成比例P得到樣本生成后總的正樣本數(shù)量NG=NNmaj?P;3.while NNmin MAHAKIL方法按照半監(jiān)督的原理生成樣本,在增加樣本多樣性的同時(shí)不會(huì)降低樣本的有效性。算法實(shí)現(xiàn)簡(jiǎn)單,生成的新樣本在多數(shù)數(shù)據(jù)集上不會(huì)跨越樣本邊界,且生成的樣本分布均勻,在計(jì)算成本、時(shí)間成本、采樣效果方面均取得較好的效果。由于MAHAKIL方法按照距離樣本中心的馬氏距離進(jìn)行聚類(lèi),導(dǎo)致該方法在數(shù)據(jù)小析取項(xiàng)[29-31]的問(wèn)題上存在缺陷。小析取項(xiàng)又稱(chēng)為類(lèi)內(nèi)不平衡問(wèn)題,是指正樣本分布并不都在一個(gè)連續(xù)的樣本空間,可能分布在兩個(gè)或者多個(gè)不連續(xù)的樣本空間,其結(jié)構(gòu)如圖3所示。 圖3 正樣本類(lèi)內(nèi)分布不平衡的情況(數(shù)據(jù)小析取項(xiàng)) Konno等[32]將深度神經(jīng)網(wǎng)絡(luò)技術(shù)應(yīng)用于過(guò)采樣中,其思想是:通過(guò)深度神經(jīng)網(wǎng)絡(luò)(DNN)提取正樣本特征作為樣本基本特征,在基本特征上加入一部分偽特征(pseudo feature)產(chǎn)生新的樣本。該方法的特點(diǎn)在于偽特征的加入能增加樣本的多樣性。通過(guò)深度神經(jīng)網(wǎng)絡(luò)能夠有效地提取樣本特征,具有較好的普適性,但存在一些不足,例如:偽特征中仍會(huì)產(chǎn)生許多噪聲,特征提取過(guò)程中會(huì)有部分樣本特征丟失。算法思想如圖4所示。 樣本生成過(guò)程中減少噪聲是影響過(guò)采樣性能的關(guān)鍵因素之一。為了減少噪聲,同時(shí)提升生成樣本的多樣性,學(xué)者們提出了一些基于進(jìn)化算法的過(guò)采樣方法[33-35]。進(jìn)化算法的基本原理是通過(guò)選擇、交叉、變異等操作在問(wèn)題空間尋找最優(yōu)解,其主要步驟包括:首先,選擇合適的正樣本分別作為父親類(lèi)和母親類(lèi);然后,父親類(lèi)樣本和母親類(lèi)樣本進(jìn)行交叉生成新的樣本;最后,在新樣本上進(jìn)行變異操作,增加樣本的多樣性。當(dāng)前較新的進(jìn)化算法是Lim等[36]提出的基于進(jìn)化理論的過(guò)采樣算法ECO-Ensemble。該方法通過(guò)優(yōu)化正樣本中的類(lèi)內(nèi)和類(lèi)間的樣本生成比例,使得生成的樣本具有多樣性和均勻分布的特性。 圖4 基于深度神經(jīng)網(wǎng)絡(luò)的過(guò)采樣模型 目前,將過(guò)采樣方法應(yīng)用于機(jī)器學(xué)習(xí)技術(shù)的研究日益普及。Ramentol等[37]將模糊粗糙集的編輯技術(shù)應(yīng)用于過(guò)采樣中,取得了較好的正樣本分類(lèi)正確率。Pang等[38]利用不平衡時(shí)間序列和稀疏混合的高斯模型對(duì)正樣本進(jìn)行過(guò)采樣,降低了過(guò)采樣的隨機(jī)性。Moreo等[39]認(rèn)為要提取樣本的分布特征,根據(jù)樣本分布特征生成新的正樣本,使生成的正樣本具有合理的分布,其缺點(diǎn)在于:不同的數(shù)據(jù)具有不同的分布特征,基于特征分布來(lái)生成新樣本的方法不具有普適性。Barua等[40]提出了一種根據(jù)樣本權(quán)重生成新樣本的過(guò)采樣方法MWMOTE。首先,算法識(shí)別一些分類(lèi)器比較難識(shí)別的正樣本;然后計(jì)算這些正樣本和最近負(fù)樣本的歐式距離,根據(jù)距離大小賦予正樣本相應(yīng)的權(quán)重,依照權(quán)重對(duì)正樣本進(jìn)行聚類(lèi);最后在每一個(gè)類(lèi)中應(yīng)用SMOTE方法對(duì)樣本進(jìn)行過(guò)采樣。該方法提升了比較難識(shí)別(權(quán)重較大)的樣本的學(xué)習(xí)效果。為了解決數(shù)據(jù)不平衡的問(wèn)題,已有研究雖然取得了一些進(jìn)展,提升了不平衡數(shù)據(jù)分類(lèi)正確率,但仍存在諸多不足,典型過(guò)采樣研究方法簡(jiǎn)介如表3所示。 表3 典型過(guò)采樣研究方法簡(jiǎn)介 過(guò)采樣方法算法特點(diǎn)隨機(jī)過(guò)采樣平衡了正負(fù)樣本訓(xùn)練集,產(chǎn)生的樣本不具有多樣性SMOTE過(guò)采樣方法生成樣本具有多樣性、但生成樣本有可能跨越邊界Borderline SMOTE強(qiáng)化了邊界樣本的學(xué)習(xí)基于聚類(lèi)的過(guò)采樣方法生成樣本更符合樣本類(lèi)內(nèi)的分布基于深度神經(jīng)網(wǎng)絡(luò)特征提取的過(guò)采樣方法具有很好的普適性,樣本特征容易丟失,產(chǎn)生噪聲較多基于半監(jiān)督思想的過(guò)采樣方法解決樣本稀少問(wèn)題,但新樣本噪聲較多基于樣本分布特征的過(guò)采樣方法樣本生成效果好,不具有普適性基于進(jìn)化理論的過(guò)采樣方法樣本生成效果好,實(shí)現(xiàn)困難,代價(jià)大 混合采樣是將過(guò)采樣方法與欠采樣方法結(jié)合以達(dá)到平衡正負(fù)樣本的采樣方法,其主要從以下兩個(gè)方面提升正樣本與負(fù)樣本分類(lèi)正確率[41]:① 不會(huì)造成大量的負(fù)樣本特征丟失,模型能學(xué)習(xí)到足夠多的負(fù)樣本特征;② 不會(huì)產(chǎn)生過(guò)多的噪聲,模型學(xué)習(xí)到的噪聲少。 為了驗(yàn)證混合采樣的性能,Seiffert等[42]將隨機(jī)過(guò)采樣和隨機(jī)欠采樣技術(shù)結(jié)合,通過(guò)實(shí)驗(yàn)驗(yàn)證了混合采樣技術(shù)能夠顯著提升決策樹(shù)的正樣本分類(lèi)正確率。戴翔等[43]綜合過(guò)采樣與欠采樣的優(yōu)點(diǎn),將SMOTE算法運(yùn)用于少數(shù)類(lèi)樣本的生成,利用K-means聚類(lèi)對(duì)負(fù)樣本進(jìn)行欠采樣,提升了正樣本與負(fù)樣本的分類(lèi)正確率。Li等[44]將混合采樣技術(shù)運(yùn)用于支持向量機(jī)SVM中,并利用K鄰近方法對(duì)混合采樣的結(jié)果做進(jìn)一步約減,解決了數(shù)據(jù)混淆的問(wèn)題,提高了支持向量機(jī)的泛化性能。Cervantes等[45]利用欠采樣和支持向量機(jī)得到初始SVs和超平面,將這些實(shí)例作為遺傳算法的初始種群。原始數(shù)據(jù)集包含生成和演化的數(shù)據(jù),通過(guò)學(xué)習(xí)達(dá)到最小化不平衡數(shù)據(jù)的目的。該方法提高了支持向量機(jī)在不平衡數(shù)據(jù)集上的泛化能力。高鋒等[46]提出一種基于鄰域特征的混合采樣技術(shù),根據(jù)樣本領(lǐng)域分布特征賦予采樣權(quán)重,利用局部置信度的動(dòng)態(tài)集成方法對(duì)不同的數(shù)據(jù)選擇不同的分類(lèi)器,并將不同分類(lèi)器結(jié)果集成。實(shí)驗(yàn)結(jié)果表明,在查全率和查準(zhǔn)率上該混合采樣技術(shù)都有較大的提升。馮宏偉等[47]認(rèn)為,位于邊界區(qū)域的樣本是最容易錯(cuò)分的樣本,于是針對(duì)邊界樣本進(jìn)行SMOTE過(guò)采樣以強(qiáng)化邊界樣本的學(xué)習(xí),然后針對(duì)負(fù)樣本進(jìn)行隨機(jī)欠采樣。該方法的正樣本與負(fù)樣本分類(lèi)正確率較經(jīng)典的采樣方法有較大的提升。Gazzah等[48]提出的方法不是單純地進(jìn)行過(guò)采樣和欠采樣,進(jìn)行過(guò)采樣時(shí)重點(diǎn)考慮具有代表性的正樣本,進(jìn)行欠采樣時(shí)丟棄相關(guān)性較小的負(fù)樣本。Cao等[49]認(rèn)為正負(fù)樣本比例大時(shí),單純應(yīng)用混合采樣的效果不理想,將混合采樣和集成的思想結(jié)合能夠有效地提升模型正樣本與負(fù)樣本的分類(lèi)正確率?;诩傻幕旌喜蓸臃椒üぷ髟砣鐖D5所示。 算法基本思想:首先,將正樣本進(jìn)行一次過(guò)采樣,并隨機(jī)地將負(fù)樣本欠采樣成與正樣本相當(dāng)?shù)娜舾煞?;然后,將每一份?fù)樣本和正樣本進(jìn)行混合,形成多個(gè)訓(xùn)練集,得到多個(gè)訓(xùn)練好的分類(lèi)器;最后,將不同分類(lèi)器的結(jié)果進(jìn)行集成,得到最終結(jié)果。模型通過(guò)該方法能夠充分學(xué)習(xí)負(fù)樣本特征,是目前比較流行的混合采樣方法[50-51]。 圖5 基于集成的混合采樣方法工作原理 不平衡數(shù)據(jù)分類(lèi)問(wèn)題是當(dāng)前機(jī)器學(xué)習(xí)領(lǐng)域比較熱門(mén)的研究?jī)?nèi)容,已經(jīng)吸引越來(lái)越多學(xué)術(shù)界和工業(yè)界專(zhuān)家對(duì)其進(jìn)行廣泛和深入的研究。本文詳述了不平衡分類(lèi)問(wèn)題中采樣方法的研究現(xiàn)狀和發(fā)展趨勢(shì),介紹了欠采樣、過(guò)采樣和混合采樣3大類(lèi)采樣方法原理和典型算法。應(yīng)用這些方法可以提高不平衡數(shù)據(jù)分類(lèi)的正確率。 為了進(jìn)一步研究更高效穩(wěn)定的不平衡學(xué)習(xí)方法,未來(lái)可以從以下幾個(gè)方面展開(kāi)研究: 1) 在樣本信息獲取中,樣本信息獲取不完善是導(dǎo)致不平衡分類(lèi)學(xué)習(xí)性能下降的最根本原因。對(duì)樣本的物理、化學(xué)屬性進(jìn)行分析,以便多角度、多方位獲取更多的樣本屬性,提升正負(fù)樣本的區(qū)分度,達(dá)到提升不平衡分類(lèi)學(xué)習(xí)性能的目的。 2) 在樣本聚類(lèi)中,通過(guò)單一的距離指標(biāo)進(jìn)行聚類(lèi)不能全面地衡量樣本間的距離,應(yīng)結(jié)合多個(gè)距離指標(biāo)進(jìn)行聚類(lèi),并引入普適高效的聚類(lèi)方法提升聚類(lèi)效果。 3) 在過(guò)采樣特征提取中,需要研究多層次的樣本特征提取模型,強(qiáng)化樣本特征的提取,生成噪聲量少、多樣性豐富的新樣本,提升過(guò)采樣的有效性。 4) 在強(qiáng)調(diào)邊界的采樣方法中,需要研究有效的邊界尋找方法,結(jié)合多個(gè)評(píng)價(jià)指標(biāo)對(duì)樣本邊界進(jìn)行擬合,并對(duì)樣本進(jìn)行降噪處理,提升樣本邊界的有效性。 5) 基于進(jìn)化算法的過(guò)采樣中引入更多參數(shù),優(yōu)化生成樣本的分布,提升生成樣本的多樣性與有效性。3.4 基于深度神經(jīng)網(wǎng)絡(luò)的過(guò)采樣方法
3.5 基于進(jìn)化算法的過(guò)采樣方法
3.6 其他過(guò)采樣方法
4 混合采樣方法
5 結(jié)束語(yǔ)