張家偉,郭林明,楊曉梅
四川大學(xué) 電氣工程學(xué)院,成都610000
目前,對(duì)于二分類問(wèn)題,機(jī)器學(xué)習(xí)方法大多基于正負(fù)樣本的比例相近這一假設(shè)建立分類模型[1],而在實(shí)際應(yīng)用中,通常會(huì)出現(xiàn)數(shù)據(jù)不平衡現(xiàn)象,這種不平衡常會(huì)給分類器的實(shí)用性帶來(lái)很大的影響,如醫(yī)療領(lǐng)域的腫瘤診斷,假設(shè)腫瘤診斷數(shù)據(jù)集中有100 樣本,其中99 個(gè)正樣本(良性腫瘤),1個(gè)負(fù)樣本(惡性腫瘤),分類器經(jīng)過(guò)訓(xùn)練后,把這100個(gè)樣本都分為了正類,準(zhǔn)確率為99%,然而被誤分的這個(gè)負(fù)樣本卻可能影響診斷結(jié)果。因此,當(dāng)遇到數(shù)據(jù)不平衡問(wèn)題時(shí),以總體分類準(zhǔn)確率為學(xué)習(xí)目標(biāo)的傳統(tǒng)分類算法會(huì)過(guò)多地關(guān)注多數(shù)類,從而使得少數(shù)類樣本的分類性能下降,難以獲得有效的分類模型。
國(guó)內(nèi)外現(xiàn)有對(duì)數(shù)據(jù)不平衡問(wèn)題的解決方法一般有三類:數(shù)據(jù)預(yù)處理、代價(jià)敏感學(xué)習(xí)、集成學(xué)習(xí)分類[2-3]。數(shù)據(jù)預(yù)處理分為過(guò)采樣和欠采樣,過(guò)采樣利用少類樣本生成新樣本來(lái)提升少數(shù)類樣本數(shù)量,應(yīng)用最為廣泛的是SMOTE[4],SMOTE在每個(gè)少數(shù)類樣本與其K 個(gè)近鄰樣本之間的連線上產(chǎn)生合成新樣本。然而SMOTE沒有對(duì)每個(gè)樣本進(jìn)行區(qū)別選擇,這會(huì)導(dǎo)致生成冗余樣本。針對(duì)文獻(xiàn)[4],文獻(xiàn)[5-6]使用聚類、最近鄰的方法改變用于合成新樣本的中心樣本,一定程度避免了生成樣本的冗余現(xiàn)象。欠采樣通過(guò)舍棄多數(shù)類樣本來(lái)平衡數(shù)據(jù)集,如文獻(xiàn)[7-8],雖然保留下來(lái)的樣本相對(duì)具有代表性,但依然有可能丟棄對(duì)分類有用的樣本。代價(jià)敏感學(xué)習(xí)在分類算法中引入代價(jià)函數(shù),通過(guò)最小化錯(cuò)分代價(jià)構(gòu)造分類器,如文獻(xiàn)[9-10]通過(guò)數(shù)據(jù)的非平衡系數(shù)和決策樹的分類準(zhǔn)確度給決策樹加權(quán),增加模型對(duì)少數(shù)類樣本判錯(cuò)的代價(jià),提升少數(shù)類樣本分類正確率。集成學(xué)習(xí)分類把性能較低的多種弱學(xué)習(xí)器通過(guò)適當(dāng)組合形成高性能的強(qiáng)學(xué)習(xí)器,如文獻(xiàn)[11-12]將Adaboost 與過(guò)采樣和欠采樣結(jié)合,提出SMOTEBoost 和RUSBoost 算法,使分類器有更強(qiáng)的魯棒性,提高了分類器準(zhǔn)確率。文獻(xiàn)[13]使用欠采樣和隨機(jī)森林算法根據(jù)氣象參數(shù)預(yù)測(cè)PM2.5濃度,獲得了較好的預(yù)測(cè)精度,文獻(xiàn)[14-17]使用隨機(jī)森林(Random Forest,RF)算法在多種不平衡數(shù)據(jù)分類場(chǎng)景和其他工程領(lǐng)域應(yīng)用中取得了良好的效果,模型泛化能力強(qiáng)。
然而這些方法容易出現(xiàn)兩個(gè)方面的問(wèn)題,數(shù)據(jù)預(yù)處理層面,欠采樣可能會(huì)丟棄對(duì)分類器很重要的有價(jià)值的潛在信息[18],經(jīng)典的過(guò)采樣SMOTE 算法每個(gè)樣本合成相同數(shù)量的新樣本,沒有充分利用那些更具有類別代表性樣本,可能會(huì)產(chǎn)生冗余數(shù)據(jù)。算法層面,隨機(jī)森林算法在分類問(wèn)題方面已經(jīng)得到了廣泛的應(yīng)用,但是,受樣本不平衡影響,在訓(xùn)練階段隨機(jī)選取訓(xùn)練集時(shí)會(huì)加劇訓(xùn)練樣本的不平衡度,其次,每棵決策樹在投票時(shí)權(quán)重都相等,但受訓(xùn)練時(shí)的數(shù)據(jù)影響每棵決策樹的分類效果不同,總會(huì)有一些訓(xùn)練效果不高的決策樹投出錯(cuò)誤的票數(shù),從而影響隨機(jī)森林的分類能力。
為了解決上述問(wèn)題,本文提出了加權(quán)過(guò)采樣和加權(quán)隨機(jī)森林算法。加權(quán)過(guò)采樣策略根據(jù)每個(gè)少數(shù)類樣本相對(duì)于剩余少數(shù)類樣本的歐式距離給每個(gè)樣本分配不同的權(quán)重,利用SMOTE算法合成新樣本過(guò)程中,每個(gè)少數(shù)類樣本生成新樣本的數(shù)量根據(jù)其權(quán)重變化,從而增加更有類別代表性樣本合成數(shù)量。加權(quán)隨機(jī)森林根據(jù)Kappa系數(shù)評(píng)價(jià)決策樹訓(xùn)練效果,給每棵樹分配不同的權(quán)重,每棵決策樹在進(jìn)行投票時(shí),通過(guò)權(quán)重的設(shè)置,提高分類效果好的決策樹的投票話語(yǔ)權(quán),降低效果差的決策樹對(duì)結(jié)果的影響。加權(quán)過(guò)采樣和加權(quán)隨機(jī)森林結(jié)合使用能夠進(jìn)一步提升算法的分類效果。
經(jīng)典的過(guò)采樣SMOTE 算法中,每個(gè)少數(shù)類樣本生成的新樣本數(shù)量是相同的,這會(huì)產(chǎn)生很多對(duì)類別區(qū)分價(jià)值不大的樣本,從而影響之后的分類器訓(xùn)練效果。因?yàn)椴⒉皇敲總€(gè)樣本對(duì)類別區(qū)分的價(jià)值都一樣,離類別中心越近的樣本更能代表本類特征,離邊界越近的樣本能夠更好地區(qū)分不同類別的界限,這兩種樣本包含更多的分類信息,對(duì)分類的價(jià)值更大,希望能夠充分利用樣本與類別中心和邊界的距離,在SMOTE 算法中讓靠近類別中心和邊界的樣本生成新樣本數(shù)量更多。對(duì)此,使用每個(gè)少數(shù)類樣本相對(duì)于剩余少數(shù)類樣本的歐式距離確定每個(gè)樣本的相對(duì)位置,為每個(gè)樣本分配不同的權(quán)重。使靠近類別中心和類別邊界的樣本擁有更大的權(quán)重,在生成新樣本時(shí),每個(gè)樣本根據(jù)權(quán)重確定生成數(shù)量,權(quán)重越大,生成數(shù)量越多。
設(shè)訓(xùn)練集的一個(gè)少數(shù)類的樣本數(shù)為M ,每個(gè)樣本包含C 個(gè)特征。
(1)計(jì)算每個(gè)樣本到其他樣本間的歐氏距離,如式(1)所示:
式中,i=1,2,…,M ,j=1,2,…,M ,i ≠j,Di,j( xi,xj)表示第i 和j 兩個(gè)樣本間歐式距離。
(2)計(jì)算樣本xi到其他樣本距離之和Di,Di越大表示xi越靠近邊界,Di越小表示xi越靠近中心,如式(2)所示:
(3)對(duì)Di進(jìn)行歸一化,如式(3)所示:
(4)計(jì)算RNDi,即為ND 中各元素與ND 均值之差的絕對(duì)值,RNDi越大則表示該樣本越靠近類別中心或者類別邊界,樣本價(jià)值越高,對(duì)分類更有效,它所生成的新樣本數(shù)量就應(yīng)該越多,如式(4)所示:
(5)計(jì)算每個(gè)樣本的權(quán)重,如式(5)所示:
Wi為第i 個(gè)樣本的權(quán)重值。需要生成新樣本的數(shù)量乘以此權(quán)重即為最終該樣本生成新樣本的數(shù)量。
表1展示了新樣本生成數(shù)量隨權(quán)重變化的特點(diǎn),假設(shè)某少數(shù)類有5 個(gè)樣本A、B、C、D、E,需要生成的新樣本總數(shù)為25,那么傳統(tǒng)SMOTE方法中每個(gè)樣本都會(huì)生成5 個(gè)新樣本,為簡(jiǎn)化計(jì)算,給每個(gè)樣本到其他樣本距離之和D 隨機(jī)賦值,如表1 中所示,經(jīng)過(guò)權(quán)重計(jì)算步驟后,每個(gè)樣本的生成數(shù)量不一樣,靠近中心和邊界的樣本生成數(shù)量更多。
表1 權(quán)重計(jì)算示意
設(shè)加權(quán)SMOTE 算法將為訓(xùn)練集的少數(shù)類合成N個(gè)新樣本,N 是正整數(shù)。
(1)對(duì)于該少數(shù)類中第i 個(gè)樣本xi,計(jì)算它到該類其他所有樣本間的歐式距離,得到其k 個(gè)近鄰樣本。
(2)對(duì)于第i 個(gè)樣本xi,從其k 個(gè)近鄰樣本中隨機(jī)選取個(gè)樣本為向下取整。
(3)在(2)中選取的Nw個(gè)樣本中,根據(jù)公式(6)生成Nw個(gè)關(guān)于少數(shù)樣本xi的新樣本。
其中,rand( )0,1 是0 和1 之間的隨機(jī)數(shù)。SMOTE 和加權(quán)SMOTE示意圖如圖1所示。
圖1 SMOTE和加權(quán)SMOTE示意圖
隨機(jī)森林算法是Breiman L[19-21]提出的一種分類算法,它是一種集成機(jī)器學(xué)習(xí)方法,實(shí)質(zhì)是將Bagging算法和random subspace算法結(jié)合起來(lái)構(gòu)建了一個(gè)由多棵互不相關(guān)的決策樹組成的分類器,它改善了決策樹容易發(fā)生過(guò)擬合現(xiàn)象的缺點(diǎn)[22],訓(xùn)練樣本采用自助法重采樣(Bootstrap)技術(shù),從原始數(shù)據(jù)集中有放回重復(fù)隨機(jī)抽取N 個(gè)樣本作為一棵樹的訓(xùn)練集,每次隨機(jī)選擇訓(xùn)練樣本特征中的一部分構(gòu)建決策樹,每棵決策樹訓(xùn)練生長(zhǎng)過(guò)程中不進(jìn)行剪枝,最后采用投票的方式?jīng)Q定分類器最終的結(jié)果。例如,對(duì)一個(gè)訓(xùn)練好的隨機(jī)森林模型,測(cè)試集為X,類別數(shù)為C,決策樹數(shù)量為T,則模型的輸出為:
其中,ht( X )為第t 棵決策樹的輸出,I(?)是一個(gè)指示函數(shù),函數(shù)中參數(shù)為真時(shí),函數(shù)值等于1,否則等于0。
由公式(7)可知,每棵決策樹在投票時(shí)權(quán)重都相等,但是由于每棵樹訓(xùn)練集不同,又互相獨(dú)立訓(xùn)練,所以決策樹的分類精度會(huì)不同,加之受到樣本類別不平衡的影響,會(huì)進(jìn)一步影響決策樹的分類效果,使得一些效果不好的樹投出錯(cuò)誤的票數(shù),從而影響隨機(jī)森林的分類能力。為此本文提出了加權(quán)隨機(jī)森林模型,主要方法是在決策樹訓(xùn)練階段,評(píng)估決策樹的分類效果,并給每棵樹賦予一個(gè)權(quán)重,在隨機(jī)森林算法投票時(shí),每棵樹都要乘對(duì)應(yīng)的權(quán)重值,這樣可以降低訓(xùn)練精度不高的決策樹對(duì)整個(gè)模型的影響。因此,公式(7)中的模型輸出改寫為:
其中wt為第t 棵決策樹的權(quán)重值。
從原始訓(xùn)練集中有放回地隨機(jī)抽取樣本作為每棵樹的訓(xùn)練集,抽取數(shù)量等于原始訓(xùn)練集樣本數(shù)量,由于是有放回抽樣,會(huì)有部分樣本未被抽中,這部分被稱為袋外樣本[23],數(shù)量通常為原始樣本數(shù)量的三分之一,利用袋外樣本作為每棵樹的測(cè)試集來(lái)評(píng)估分類性能,并據(jù)此賦予該決策樹相應(yīng)的權(quán)重,使分類性能更好的決策樹擁有更大的權(quán)重。
對(duì)于使用不平衡數(shù)據(jù)的分類器,常用的分類精確度這個(gè)評(píng)價(jià)指標(biāo)無(wú)法很好地衡量分類能力,因?yàn)樗豢紤]了被正確分類樣本的情況,認(rèn)為多數(shù)類和少數(shù)類的分類錯(cuò)誤同樣重要[24]。因此,使用Kappa 系數(shù)(Kappa Coefficient,CK)來(lái)評(píng)價(jià)決策樹整體分類能力,CK 是1960年Cohen等人提出用于評(píng)價(jià)判斷的一致性程度的指標(biāo),它同時(shí)考慮了各種漏分和錯(cuò)分樣本,代表著分類與完全隨機(jī)的分類產(chǎn)生錯(cuò)誤減少的比例,其計(jì)算結(jié)果為(-1,1),但通常情況下CK 是落在(0,1),CK 值越大說(shuō)明預(yù)測(cè)結(jié)果和實(shí)際結(jié)果一致性越高,分類器性能越好[25]。CK計(jì)算如式(9)所示:
其中,ACC(accuracy)為分類精確度,表示分類的實(shí)際一致性比率,CKc為分類的偶然一致性比率。 ACC 和CKc通過(guò)表2所示的混淆矩陣[26]計(jì)算得到。
表2 二分類混淆矩陣
混淆矩陣中,TP(True Positive)表示實(shí)際是正類,預(yù)測(cè)也是正類的樣本數(shù)。FN(False Negative)表示實(shí)際是正類,預(yù)測(cè)是負(fù)類的樣本數(shù)。FP(False Positive)表示實(shí)際是負(fù)類,預(yù)測(cè)為正類的樣本數(shù)。TN(True Negative)表示實(shí)際是負(fù)類,預(yù)測(cè)為負(fù)類的樣本數(shù)。
為了把更大的權(quán)重分配給更有能力的分類器,文獻(xiàn)[27]研究表明:若一組獨(dú)立的分類器L1,L2,…,LM相互獨(dú)立,精確度為p1,p2,…,pM,那么每個(gè)分類器權(quán)重和對(duì)應(yīng)精確度關(guān)系如公式(12)所示:
用CK 替換公式(12)中的pt,由于CK 的取值范圍為(-1,1),將公式(12)改寫為公式(13):
根據(jù)公式(14),決策樹的CK 值越高,則其分配的權(quán)重也越大,對(duì)最終投票的結(jié)果影響也更大。CK 和權(quán)重W的關(guān)系如圖2 所示。將公式(13)帶入公式(8),就能得到隨機(jī)森林分類器最終的輸出結(jié)果。
圖2 CK 和權(quán)重W 關(guān)系圖
整體算法流程如圖3所示,從數(shù)據(jù)預(yù)處理和算法兩個(gè)層面進(jìn)行改進(jìn),數(shù)據(jù)預(yù)處理階段進(jìn)行過(guò)采樣時(shí),通過(guò)少數(shù)類樣本在類內(nèi)的距離分布區(qū)分其對(duì)分類的重要程度,給每個(gè)樣本加權(quán),減少生成冗余樣本,從數(shù)據(jù)層面提高訓(xùn)練集的質(zhì)量,使后續(xù)分類算法在訓(xùn)練階段能夠獲得更多有效的少數(shù)類樣本信息,從而提高算法對(duì)少數(shù)類樣本的分類正確率,根據(jù)混淆矩陣與第4章的評(píng)價(jià)指標(biāo)計(jì)算公式可知,少數(shù)類樣本分類正確率的提高又能提升整體分類性能。算法改進(jìn)階段通過(guò)CK評(píng)價(jià)每棵決策樹整體分類效果,并根據(jù)CK給每棵決策樹分配投票權(quán)重,減少分類效果不好的決策樹對(duì)結(jié)果的影響,使算法的輸出結(jié)果更加合理,提高對(duì)數(shù)據(jù)集的整體分類性能。因此,這兩個(gè)層面的加權(quán)改進(jìn)是有必要的。
圖3 算法流程圖
為了驗(yàn)證改進(jìn)算法的有效性,從KEEL[28]數(shù)據(jù)集倉(cāng)庫(kù)中選取了5個(gè)非平衡二分類數(shù)據(jù),這些數(shù)據(jù)的信息如表3所示。
表3 實(shí)驗(yàn)數(shù)據(jù)集
對(duì)于不平衡數(shù)據(jù)集,分類精度無(wú)法全面地評(píng)估分類效果,采用特異度(specificity)、CK、G-mean 進(jìn)行評(píng)價(jià),特異度用來(lái)評(píng)價(jià)少數(shù)類樣本分類的正確率。CK 和Gmean 用來(lái)評(píng)價(jià)不平衡數(shù)據(jù)集整體分類性能,G-mean 表示少數(shù)類分類精度和多數(shù)類分類精度的幾何平均值,是保持多數(shù)類、少數(shù)類分類精度平衡的情況下最大化兩類的精度。
將SMOTE(SM)、加權(quán)SMOTE(WSM)、隨機(jī)森林(RF)、加權(quán)隨機(jī)森林(WRF)不同組合形成的算法,即SM+RF、WSM+RF、SM+WRF與本文算法(WSM+WRF)進(jìn)行對(duì)比,實(shí)驗(yàn)這4 種算法在vehicle0 數(shù)據(jù)集上的分類結(jié)果。數(shù)據(jù)集中多數(shù)類樣本和少數(shù)類樣本分別取70%作為訓(xùn)練集,30%作為測(cè)試集,隨機(jī)森林算法中兩個(gè)常用參數(shù)為決策樹的數(shù)量(ntree)和隨機(jī)選擇特征的數(shù)量(mtry),隨著ntree 的增加,隨機(jī)森林分類誤差會(huì)趨于穩(wěn)定,由于隨機(jī)森林具有不會(huì)過(guò)擬合性,將ntree 設(shè)置足夠大。mtry 用來(lái)協(xié)調(diào)分類性能和多樣性之間的平衡[29],將mtry 設(shè)置為特征總數(shù)的平方根。
圖4 和圖5 為在vehicle0 數(shù)據(jù)集上四種算法組合的特異度和G-mean 對(duì)比結(jié)果。由圖可知,隨機(jī)森林算法中決策樹數(shù)量增加到100 棵左右時(shí),specificity 和Gmean 趨于穩(wěn)定。在這兩個(gè)指標(biāo)的表現(xiàn)上,WSM+RF 算法優(yōu)于SM+RF算法,WSM+WRF算法優(yōu)于WSM+RF算法,SM+WRF 算法優(yōu)于WSM+RF,結(jié)果表明,都使用隨機(jī)森林分類器的情況下,加權(quán)SMOTE 比SMOTE 對(duì)不平衡數(shù)據(jù)的處理更有效,經(jīng)過(guò)訓(xùn)練后,能夠使更多的少數(shù)類樣本得到正確的區(qū)分,有助于提高分類器整體分類能力。都使用加權(quán)SMOTE 處理數(shù)據(jù)的情況下,加權(quán)隨機(jī)森林比隨機(jī)森林的分類能力更好。
為了進(jìn)一步驗(yàn)證加權(quán)SMOTE和加權(quán)隨機(jī)森林對(duì)分類結(jié)果的影響,用未過(guò)采樣Ori+RF、Ori+WRF、SM+RF、WSM+RF、SM+WRF 與本文算法在更多數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),分類結(jié)果取決策樹數(shù)量大于100 后的穩(wěn)定值,結(jié)果如表4所示,可以看出,WSM、WRF與Ori和RF相比,都能提升分類結(jié)果的specificity,使少數(shù)類的分類正確率得到提高。通過(guò)表4中Ori+RF和Ori+WRF的結(jié)果可以看出,WRF對(duì)數(shù)據(jù)集的整體的分類效果提升明顯,每個(gè)數(shù)據(jù)集的CK 和G-mean 均有提升,與未改進(jìn)算法相比,CK 最高提升了3.75%,G-mean 最高提升了2.56%。通過(guò)表4、表5中Ori+RF、SM+RF、WSM+RF結(jié)果可以看出,SM的CK和G-mean高于Ori,WSM的CK和G-mean又高于SM,因此,WSM對(duì)數(shù)據(jù)集的整體分類效果也有提升。vehicle0使用WSM+RF算法的CK高于SM+WRF,ecoli1使用WSM+RF算法的CK和G-mean高于SM+WRF,glass1和wdbc使用WSM+RF算法的CK和G-mean低于SM+WRF,這是因?yàn)関ehicle0 和ecoli1 數(shù)據(jù)集的不平衡度比glass1和wdbc高,WSM從數(shù)據(jù)層面的改進(jìn)比WRF從算法層面的改進(jìn)對(duì)分類效果的提升更明顯。本文算法結(jié)合WSM和WRF對(duì)不平衡數(shù)據(jù)集的整體分類效果最好。
圖4 vehicle0數(shù)據(jù)集specificity對(duì)比圖
圖5 vehicle0數(shù)據(jù)集G-mean對(duì)比圖
表4 不同數(shù)據(jù)集上不同算法與本文算法分類結(jié)果對(duì)比
表5 本文算法與其他算法分類結(jié)果對(duì)比
為驗(yàn)證本文提出的加權(quán)SMOTE和加權(quán)隨機(jī)森林算法的有效性,與SMOTEBoost、RUSBoost算法進(jìn)行對(duì)比,如表5所示,可以看出,本文WSM+WRF算法在yeast1、vehicle0、glass1、wdbc 數(shù)據(jù)集上的G-mean 和CK 比其他兩個(gè)算法都有明顯的提升,wdbc 數(shù)據(jù)集上G-mean低于SMOTEBoost算法,但CK 依然比其他兩個(gè)算法高。
針對(duì)數(shù)據(jù)不平衡對(duì)分類器分類性能影響的問(wèn)題,本文在原有的算法基礎(chǔ)上從數(shù)據(jù)層面和算法層面提出了兩種改進(jìn),數(shù)據(jù)層面提出加權(quán)SMOTE算法,根據(jù)少數(shù)類樣本間的相對(duì)歐式距離生成更多有價(jià)值的少數(shù)類樣本,提升分類器訓(xùn)練效果,算法層面提出加權(quán)隨機(jī)森林算法,給分類效果更好的決策樹分配更高的投票權(quán)重,從而提升隨機(jī)森林算法的分類準(zhǔn)確性,通過(guò)在一系列數(shù)據(jù)集上的實(shí)驗(yàn)表明,加權(quán)SMOTE 和加權(quán)隨機(jī)森林算法可以提升少數(shù)類樣本分類準(zhǔn)確率,對(duì)不平衡數(shù)據(jù)集的整體分類效果有顯著的優(yōu)化。但本文改進(jìn)算法也存在一定的局限性,對(duì)不平衡度較高和特征維度較高的數(shù)據(jù)集分類效果提升不明顯,這是因?yàn)樵谔卣骶S度較高時(shí),歐式距離并不能很好地衡量樣本的空間分布,不平衡度較高時(shí),少數(shù)類樣本數(shù)量相對(duì)較少,類別邊界和中心不明顯,這些會(huì)影響到加權(quán)SMOTE的權(quán)重分配,產(chǎn)生冗余樣本,從而影響分類效果。雖然并不是在所有數(shù)據(jù)集上都能夠取得顯著的效果,但本文提出的算法為處理數(shù)據(jù)不平衡分類問(wèn)題提供了一種可選擇參考的思路。在今后的工作中,會(huì)對(duì)不同類型的不平衡數(shù)據(jù)集分類問(wèn)題進(jìn)行更加深入的研究。