高 峰,宋 媚,祝 義
江蘇師范大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 徐州 221000
不平衡數(shù)據(jù)是指樣本中某一類的樣本個數(shù)遠(yuǎn)大于其他類的樣本個數(shù)[1]。在二分類問題中,類別樣本數(shù)較多者稱為多數(shù)類(正類),較少者為少數(shù)類(負(fù)類)。在許多實際應(yīng)用中都存在著這個問題,如醫(yī)療診斷[2]、軟件缺陷預(yù)測[3]、信用欺詐檢測[4]等。在數(shù)據(jù)不平衡的分類問題中,由于傳統(tǒng)分類算法考慮的是整體精度的最大化,會導(dǎo)致分類器的學(xué)習(xí)偏向多數(shù)類,而忽略對少數(shù)類的識別,進(jìn)而削弱對少數(shù)類的識別效果,降低了分類器整體性能。然而,少數(shù)類往往才是更加關(guān)注的對象,例如在信用欺詐檢測中,違約樣本(負(fù)類)才是需要重點識別的,錯誤識別存在違約可能的樣本往往要比誤分守信用戶帶來的損失要大。因此,如何有效處理不平衡數(shù)據(jù)對于機(jī)器學(xué)習(xí)分類問題具有重要意義。
目前,對不平衡數(shù)據(jù)集的處理方式主要有兩類:算法層面的改進(jìn)和數(shù)據(jù)層面的改進(jìn)。算法層面是通過修改傳統(tǒng)分類算法機(jī)理或調(diào)整其代價權(quán)重,以減少其對多數(shù)類的決策偏差,但是它們并沒有改善原始數(shù)據(jù)間的類不平衡性,不能提供更多的決策信息,具有一定的使用局限性[5-7],所以在實際應(yīng)用中,更多采用的是數(shù)據(jù)層面的改進(jìn)。數(shù)據(jù)層面即對原數(shù)據(jù)集進(jìn)行重采樣以平衡數(shù)據(jù)分布[8],重采樣包括欠采樣和過采樣兩種。欠采樣即刪除部分多數(shù)類樣本來平衡數(shù)據(jù)集,但由于很容易在刪除過程中丟失掉數(shù)據(jù)的重要信息,造成欠擬合,因此,眾多學(xué)者更傾向于過采樣方法的相關(guān)研究[9]。最經(jīng)典的過采樣方法是Chawla等[10]提出的SMOTE算法,其使用插值法在相鄰的少數(shù)類樣本之間產(chǎn)生新樣本,以平衡原始數(shù)據(jù)分布。后又有眾多學(xué)者根據(jù)SMOTE算法提出了一系列改進(jìn)算法,如Borderline-SMOTE[11]、ADASYN[12]、WKMeans-MOTE[13]等。不難發(fā)現(xiàn),SMOTE及其改進(jìn)算法都是基于插值法生成的“虛擬”樣本,并沒有充分挖掘原始數(shù)據(jù)集中的有用信息,使得生成的新樣本并不能很好的體現(xiàn)數(shù)據(jù)特征,對分類性能提升有限。
結(jié)合上述研究,本文提出了一種基于反事實解釋的過采樣方法,使用基于案例推理的反事實方法進(jìn)行數(shù)據(jù)擴(kuò)充,根據(jù)現(xiàn)有實例的真實特征值(不是插值)合成反事實實例(少數(shù)類樣本),從而填充少數(shù)類,解決類不平衡問題。經(jīng)典的反事實解釋案例是當(dāng)一個智能系統(tǒng)拒絕個人貸款申請時給出的解釋[14],當(dāng)用戶問為什么被拒時,該系統(tǒng)可能會給出:“如果你每個月的收入能再多300美元,那么貸款申請將會被通過”的解釋。在反事實解釋生成方面,主要有擾動式和填充式兩種。擾動的主要思想是對查詢樣本(多數(shù)類)進(jìn)行最小限度的特征調(diào)整,以改變決策區(qū)域,主要方法有ADAM[14]解算器、梯度下降[15]、混合整數(shù)編碼[16]、K-D 樹[17]等。填充式主要是根據(jù)現(xiàn)有數(shù)據(jù)的真實特征值進(jìn)行樣本合成。Smyth 和Keane[18]在2020年提出了一種基于案例推理的反事實生成方法,有效地利用了數(shù)據(jù)的邊界信息。王明等[19]提出了一種基于貪心樹的反事實解釋生成方法:生成鏈接樹,具有更高的數(shù)據(jù)真實性,為反事實解釋的應(yīng)用提供了可能。在應(yīng)用方面,馬舒岑等[20]利用反事實樣本分析結(jié)果生成用戶報告,為貸款失敗用戶改善自身情況提供了確切建議。Temraz 等[21]在氣候?qū)ψ魑锷L的影響研究中,使用基于案例的反事實方法增強(qiáng)數(shù)據(jù)集,改善了氣候破壞時期的后續(xù)預(yù)測。夏子芳等[22]將反事實與知識圖譜進(jìn)行結(jié)合,有效提升了推薦的可解釋性。以上研究都驗證了反事實解釋的可用性。Temraz和Keane[23]也將反事實解釋應(yīng)用于數(shù)據(jù)增強(qiáng),使模型分類性能得到了有效提升,但是其并沒有考慮所生成反事實實例的決策區(qū)域問題。
綜合上述研究,本文針對不平衡數(shù)據(jù)分類問題,在數(shù)據(jù)層面提出了一種基于反事實的數(shù)據(jù)過采樣方法,并對生成的決策邊界的非正確反事實合成樣本進(jìn)行了篩除。為了驗證本方法的有效性,在KEEL與UCⅠ數(shù)據(jù)庫中選取多組數(shù)據(jù)與其他算法進(jìn)行了多維度對比實驗,實驗結(jié)果表明,本文所提方法能明顯提升基本分類器在不平衡數(shù)據(jù)集上的AUC 值、F1 值和G-mean 值,具有良好的泛化性。
基于擾動的反事實解釋生成方法是對查詢樣本的“盲”擾動,有時會合成邊界外的、無效的樣本[14,24-25],這在類不平衡問題中可能存在嚴(yán)重副作用,因為它表示用噪聲數(shù)據(jù)填充少數(shù)類。因此,本文參考了Keane等[18]提出的基于案例的方法生成反事實實例。這種由實例引導(dǎo)的方法,首先捕獲數(shù)據(jù)集中現(xiàn)有實例之間的反事實關(guān)系構(gòu)建“反事實對”,然后查詢樣本(多數(shù)類)依據(jù)KNN算法查找最近已配對實例鄰居并根據(jù)已配對鄰居“反事實對”之間的特征差異來改變其決策區(qū)域。這對于不平衡數(shù)據(jù)集意味著決策邊界的類別改變。
位于決策邊界兩側(cè)相反類中的樣本,依據(jù)一定約束條件(限定特征差異)會形成一對反事實對cf,其捕獲了數(shù)據(jù)集中現(xiàn)有兩實例之間的反事實關(guān)系。如圖1 所示,圓圈與正方形所在決策區(qū)域分別為多數(shù)類與少數(shù)類,x與p為一對原生反事實對,dp為其差異特征;x′為未配對查詢實例,依據(jù)HEOM 距離尋找其最近已配對實例x,將匹配特征mx′與dp組合合成新的實例p′添加到數(shù)據(jù)集中,以改進(jìn)未來的預(yù)測。一些形式化定義如下:
圖1 反事實數(shù)據(jù)生成方法Fig.1 Counterfactual data generation methods
(1)X是一個多數(shù)類集合,P是一個少數(shù)類集合。
(2)反事實對集合CF,一個原生反事實對cf(x,p),x∈X,p∈P。
(3)未配對實例x′的最近鄰已配對實例為x,有F(x)≠F(x′),匹配特征mx′,差異特征dp。
具體步驟如下:
輸入:訓(xùn)練集T,匹配容忍度match_tol,類別特征索引數(shù)組Cat。
輸出:添加了合成樣本后的新數(shù)據(jù)集。
步驟1計算數(shù)據(jù)集T的CF集:將T劃分為多數(shù)類X和少數(shù)類P,對多數(shù)空間中的實例(稱為配對實例)和在少數(shù)空間中的反事實相關(guān)實例(稱為反事實實例)進(jìn)行配對,形成本地反事實對cf(x,p)。每一原生反事實對都有一組匹配特征和一組差異特征,其中的差異決定了樣本所屬類在決策邊界上的變化。其中,mx′是來自x′所對應(yīng)的匹配特征列的具體數(shù)據(jù),dp是來自p所對應(yīng)的差異特征列的具體數(shù)據(jù)。
步驟2對于查詢實例x′,從多數(shù)類中找到其最近鄰已配對實例x,即原生反事實對cf(x,p):對于x′,使用HEOM距離找到其最近鄰x,這是一個涉及原生反事實對cf(x,p)的配對實例。設(shè)F為數(shù)據(jù)某特征,a、b為該特征的兩個具體值,式(1)為HEOM[26]距離計算方式,這種距離度量方式保證了每個特征對總距離的貢獻(xiàn)都在0到1之間。
步驟3轉(zhuǎn)移匹配特征mx′以及差異特征dp:將實例x′所對應(yīng)的匹配特征列的數(shù)據(jù)mx′以及原生反事實對cf(x,p)中p所對應(yīng)的差異特征列數(shù)據(jù)dp轉(zhuǎn)移到新實例p′上,進(jìn)而生成少數(shù)類樣本。
需要注意的是,匹配容忍度是CF中的一個參數(shù),它用于提高數(shù)據(jù)集中良好的原生反事實對的可用性。如果沒有容忍,即要求數(shù)量特征在數(shù)值上須相等,此時發(fā)現(xiàn)的反事實對會很少,新樣本生成效益也可能會大大減少。在尋找一個原生反事實對的匹配和差異特征時,cf通過計算每個特征的最大值減去最小值作為基礎(chǔ)容忍度base。如果兩實例某特征差值在base×(match_tol)范圍內(nèi)則允許匹配,類別特征相同才視為匹配成功。此外,如何定義“好的”反事實配對是該算法的一個關(guān)鍵點。在傳統(tǒng)意義上將一個“好的”反事實對定義為不超過兩個特征差異的配對。在后續(xù)實踐中,也有學(xué)者選用1~3 個[21,27]特征差異的反事實解釋。在本文中,實驗發(fā)現(xiàn),具有2 個差異的原生反事實相對于1、3、4 和5 個能獲得更好的性能。由于匹配容忍度與特征差異個數(shù)的限制,并不是每一個多數(shù)類樣本都有對應(yīng)的反事實樣本,因此,最后生成的反事實合成樣本個數(shù)是不確定的,輸出的新的數(shù)據(jù)集并不是“絕對的”平衡,但新生成的樣本能更好地反映數(shù)據(jù)集的邊界信息差異,更有利于分類器的分類。
個別新生成的實例并不是一個有效的反事實解釋,即可能落在相同決策區(qū)域內(nèi)。例如,圖1中新的反事實實例n′與k′具有相同的類,因為匹配特征值(來自k′)和差異特征(來自n)的組合不足以改變k′的類,如果將此類樣本作為少數(shù)類樣本進(jìn)行數(shù)據(jù)填充,則會產(chǎn)生眾多噪聲,進(jìn)而影響模型的預(yù)測。因此,本文對生成的反事實合成樣本進(jìn)行了篩除,即將訓(xùn)練好的分類器作為基礎(chǔ)模型,去判別新樣本所屬決策區(qū)域。如果判斷n′屬于少數(shù)類區(qū)域即可認(rèn)為p′為好的反事實解釋,否則進(jìn)行以下操作來改變n′的決策區(qū)域:
n′所擁有的來自k′的匹配特征不變,自適應(yīng)迭代與n同類的有序最近鄰,直到有一個類別變化。每個最近鄰的差異特征值導(dǎo)致一個新的候選反事實實例q′,當(dāng)q′的類別發(fā)生變化時,適應(yīng)成功終止;如果沒有近鄰樣本能產(chǎn)生類變化,那么適應(yīng)失敗。
SVM 以結(jié)構(gòu)風(fēng)險最小化為原則,克服了分類器高維、非線性和局部極小點等一系列問題,具有更好的魯棒性,作為基礎(chǔ)分類器的改進(jìn)方案可以實現(xiàn)良好的分類性能[28-29]。目前,已有眾多學(xué)者在不平衡數(shù)據(jù)問題中基于SVM 模型做出了進(jìn)一步研究,例如:改良SVM 算法分類超平面[30]、與SMOTE算法進(jìn)行結(jié)合采樣[31]等,這些研究都有效解決了數(shù)據(jù)不平衡問題。因此,本文也選取SVM作為基本分類器來判別反事實樣本點決策區(qū)域。
綜上,本文方法完整流程如下:
在類不平衡問題的研究中,經(jīng)常會出現(xiàn)模型整體預(yù)測準(zhǔn)確率較高,而少數(shù)類預(yù)測準(zhǔn)確率為0 的狀況,而少數(shù)類樣本往往更是需要重點關(guān)注與處理的。因此,準(zhǔn)確率已不能很好地評估模型效果。針對不平衡數(shù)據(jù)集,有眾多學(xué)者已經(jīng)提出了更合理的評價指標(biāo),如F1、G-mean,兩者均基于混淆矩陣進(jìn)行計算(見表1)。
表1 混肴矩陣Table 1 Confusion matrix
據(jù)表1,可計算如下指標(biāo):
查準(zhǔn)率precision 表示當(dāng)模型預(yù)測為正時的可信度,召回率recall 表示模型將樣本中正類樣本預(yù)測正確的概率。
根據(jù)式(4)可以看出,F(xiàn)1 綜合了precision 和recall兩者,更加關(guān)注少數(shù)類樣本的分類效果,在類不平衡問題中可以很好的評估模型。
G-mean 是recall 和specificity 的幾何均值,兼顧了多少類與少數(shù)類,可用于評估模型整體分類性能。
本文從KEEL和UCⅠ兩大數(shù)據(jù)庫共選取了9組數(shù)據(jù)集進(jìn)行實驗,且兼顧了數(shù)據(jù)類型、數(shù)據(jù)大小、數(shù)據(jù)屬性、數(shù)據(jù)不平衡率(正類樣本總數(shù)/負(fù)類樣本總數(shù)),詳見表2。
表2 數(shù)據(jù)集的基本信息Table 2 Basic information of datasets
為了更全面、準(zhǔn)確的評價算法,選用4 種采樣方法(SMOTE、Borderline1-SMOTE、Borderline2-SMOTE、ADASYN,簡稱SM、B1、B2、ADA)分別在5 個分類器(RF、SVM、Logistic、DT、AdaBoost)上與本文方法進(jìn)行了對比實驗。每次實驗中,都用5 折交叉驗證的5 次平均結(jié)果作為相應(yīng)指標(biāo)最終得分。本文算法的參數(shù)如表3所示,匹配容忍度match_tol設(shè)置為0.1,其決定了數(shù)值型特征匹配的好壞,值越小對于匹配要求越嚴(yán)格。特征差異個數(shù)diff_nums設(shè)置為2,即要求兩實例只有在特征差異個數(shù)不大于2時才視為匹配成功?;诸惼鱏VM的C設(shè)置為1。
表3 算法參數(shù)Table 3 Algorithm parameters
2.4.1 實驗結(jié)果對比與分析
為了保證結(jié)果的穩(wěn)定性,以下實驗都是基于10 次隨機(jī)種子數(shù)不同的5折交叉驗證的平均結(jié)果,即50次結(jié)果的平均。
表4為本文所提方法與4種傳統(tǒng)過采樣方法在9種不平衡數(shù)據(jù)集、5 種不同分類器上的F1 與G-mean 的實驗結(jié)果,黑色粗體表示同一數(shù)據(jù)集、不同采樣方法結(jié)果的最大值。在45 組不同組合的實驗中,本文在35 組中都同時達(dá)到了最高F1與G-mean最大,相較其他方法效果有了明顯提升。其中,在5 種不同的類器上,相較其他方法,9 組數(shù)據(jù)集的平均F1 值分別至少提升了18%、8.5%、11.1%、7.9%、9.7%,平均G-mean 至少提升了4.3%、4.5%、4.4%、2.1%、3.6%。這說明:基于反事實的過采樣方法生成的新樣本更加可信,對于邊界分類可以提供更多有用的信息,可以有效提升分類器對少數(shù)類樣本的識別能力與整體數(shù)據(jù)的分類效果,具有良好的泛化性。
表4 5種方法的F1與G-mean值對比Table 4 Comparison of F1 and G-mean values between 5 methods
如果以每種算法在不同分類器上能取得最高AUC的數(shù)據(jù)集總數(shù)量來評估整體模型,即每種過采樣算法分別在5 個分類器與9 組數(shù)據(jù)集上進(jìn)行交叉組合實驗(共45組實驗)取得最高AUC的實驗組數(shù),本文所提出方法得分也是最高的(見表5):在未經(jīng)采樣處理的情況下,共有3 組實驗取得最高AUC,占比6.7%;經(jīng)SMOTE 采樣后得分最高的有5組,占比11.1%;經(jīng)B1-SMOTE采樣后得分最高的有1組,占比2.2%;經(jīng)SMOTE采樣后得分最高的有1組,占比2.2%;經(jīng)ADASYN采樣后無得分最高實驗組,經(jīng)本文方法采樣后得分最高的共有35組,占比77.8%。
表5 各算法能取得最高AUC的數(shù)據(jù)集數(shù)量Table 5 Number of datasets that each algorithm can achieve highest AUC
為了更直觀地觀察算法整體效果,本文統(tǒng)計了各算法在不同數(shù)據(jù)集上各分類器的平均G-mean與F1值,具體見圖2、圖3。圖2 為每個算法在各分類器上的平均G-mean圖,可以看出,本文算法在不同數(shù)據(jù)集上都有很好的預(yù)測效果,表現(xiàn)穩(wěn)定。圖3是每個算法在各分類器上的平均F1值圖,在9種數(shù)據(jù)集上,本文算法在其中5項上都獲得了最高F1 值,且提升效果明顯;B2 與ADASYN分別在Pi 和Ad 上取得了最優(yōu)F1,但不難發(fā)現(xiàn),本文算法與其差距都甚小,依舊表現(xiàn)良好;在Segment和V0這兩種數(shù)據(jù)集上,未經(jīng)采樣處理的原始數(shù)據(jù)取得了最優(yōu)平均F1值,其他過采樣算法F1值出現(xiàn)了明顯下降,但本文算法減少較小,這也證明了該算法生成的樣本點更加可信,對模型預(yù)測的噪聲更少。
圖2 各算法平均G-mean值圖Fig.2 Average G-mean value plot of each algorithm
圖3 各算法平均F1值圖Fig.3 Average F1 value plot of each algorithm
2.4.2 與其他文獻(xiàn)中的算法對比
表6 為本文算法與其他文獻(xiàn)中所提算法在相同數(shù)據(jù)集上的分類效果對比,其中,分類器都采用了SVM,且取其他算法的最優(yōu)評價指標(biāo)值??梢钥闯觯疚乃惴ㄔ诓煌瑪?shù)據(jù)、不同評價指標(biāo)下都具有一定的優(yōu)勢,這也驗證了本算法的有效性。
表6 基于SVM分類器與其他文獻(xiàn)算法對比Table 6 Comparison with other literature algorithms based on SVM classifier
為解決數(shù)據(jù)不平衡問題,本文提出了一種利用反事實的過采樣方法,相比其他傳統(tǒng)過采樣方法,充分利用了現(xiàn)有實例的特征屬性,生成基于真實數(shù)據(jù)的新樣本,更能挖掘原始數(shù)據(jù)集的有用信息,為了保證反事實合成樣本的有效性,對合成樣本又進(jìn)行了邊界可信清除。通過結(jié)合不同分類器,分別在9組數(shù)據(jù)集上與經(jīng)典過采樣方法進(jìn)行了比較,實驗結(jié)果表明,本方法在AUC、G-mean和F1上都有明顯的提升,且具有良好的魯棒性。
同時,與近年其他文獻(xiàn)中所述算法進(jìn)行了同維度對比,同樣表現(xiàn)出了一定的優(yōu)勢,這也進(jìn)一步驗證了本方法的有效性。本文所提方法是針對二分類問題的,如何利用反事實方法在多分類數(shù)據(jù)不平衡問題中進(jìn)行有效的過采樣,是進(jìn)一步研究的方向。