徐玲玲,遲冬祥
上海電機學院 電子信息學院,上海201306
科學技術的不斷創(chuàng)新發(fā)展使得數(shù)據(jù)迅速膨脹并呈爆炸性增長,從錯綜復雜的海量數(shù)據(jù)中挖掘出潛在的價值成為機器學習和數(shù)據(jù)挖掘領域最為熱門的話題。傳統(tǒng)的分類問題大體是假設數(shù)據(jù)平衡,但在諸多應用領域這種假設往往是不成立的,即數(shù)據(jù)集中某一類的數(shù)量顯著多于另一類,因此形成了不平衡數(shù)據(jù)集(imbalanced data sets)[1],此時傳統(tǒng)的分類算法如決策樹、樸素貝葉斯、KNN、SVM等基于精度評價標準的分類算法也不能很好地適用于不平衡數(shù)據(jù)集。一般稱樣本數(shù)量極端少的一類為少數(shù)類(minority class),樣本數(shù)量特別多的類別為多數(shù)類(majority class),正類和負類之間的比例稱之為不平衡比例(Imbalanced Ratio,IR),這種廣泛存在的樣本數(shù)量不平衡問題使得在處理不平衡數(shù)據(jù)集分類時容易發(fā)生錯誤分類,尤其在不平衡比例非常高的情況下,會造成很大的分類損失。例如在癌癥疾病診斷中,把患者錯誤診斷為正常,會使病人錯失最佳治療時機,嚴重的還會造成生命威脅;又如在欺詐檢測中,把欺詐事件誤判為正常的代價遠大于把正常的誤判為異常,甚至造成不可預估的損失。
近年來,上述數(shù)據(jù)不平衡現(xiàn)象在各行各業(yè)愈發(fā)突出,引起了眾多專家學者的高度關注[2],提出解決不平衡數(shù)據(jù)集的分類策略也層出不窮,總結起來可以歸為兩大類,一類是從數(shù)據(jù)本身出發(fā)對數(shù)據(jù)集重構,以此改變樣本數(shù)量的分布結構,使不平衡數(shù)據(jù)集內不同類別之間的數(shù)量達到相對平衡。另一類針對傳統(tǒng)分類模型整體分類精度高卻對少數(shù)類識別能力低的特點,分別從分類算法和分類思想層面,提出了一系列有針對性、偏向對少數(shù)類更加關注、提高少數(shù)類分類精度的改進策略。
本章主要通過介紹不平衡數(shù)據(jù)集存在的基本問題,如不平衡數(shù)據(jù)集的特征描述、常見的應用場景、一般的分類過程以及不平衡數(shù)據(jù)集分類困難的主要來源,提供了對類不平衡數(shù)據(jù)集全面且深入的剖析。
數(shù)據(jù)不平衡問題主要是指數(shù)據(jù)集中各類別樣本數(shù)量分布不均衡,由于不平衡數(shù)據(jù)集分類問題的特殊性,用一般的分類算法對其進行分類操作時,往往易受“少數(shù)服從多數(shù)”原則影響。顯而易見,分類器為了提高整體的分類精度,會自然地忽略少數(shù)類對分類的影響并將其劃分為多數(shù)類。依據(jù)這樣的劃分結果確實能得到一個較高的分類性能,卻不能帶來相對高的利用價值。正所謂“物以稀為貴”,類不平衡問題中數(shù)量稀少的少數(shù)類帶來的價值遠遠超過多數(shù)類,集中研究它會給人們帶來巨大的潛在價值。在醫(yī)療檢測、異常檢測、故障分析、信用卡欺詐等場景中無一例外地存在不平衡數(shù)據(jù)集分類的困擾。
機器學習的分類過程主要包括:獲取原始數(shù)據(jù)集、數(shù)據(jù)預處理、分類模型構建、模型評估四部分,不平衡數(shù)據(jù)集也常遵循著以下分類流程。
(1)獲取原始數(shù)據(jù)集:數(shù)據(jù)集是機器學習算法必不可少的元素,獲取數(shù)據(jù)集也是機器學習研究的第一步,較為常見的標準測試數(shù)據(jù)集是UCI數(shù)據(jù)集。
(2)數(shù)據(jù)預處理:原始數(shù)據(jù)可能是雜亂無章、紛繁復雜的,直接用這樣的數(shù)據(jù)集進行建模訓練往往會給分類器帶來極高的訓練成本,卻得不到較好的分類效果。通常會在對不平衡數(shù)據(jù)集分析后,進行一些預處理操作,為訓練模型減少后顧之憂。
(3)分類模型構建:這是從數(shù)據(jù)中學習從而建立一個分類模型(分類器,classifier),然后對新的輸入進行輸出預測的過程。構建分類模型從來不是一勞永逸的事情,需要根據(jù)不平衡數(shù)據(jù)集的內在特征,構建適合的分類模型。
(4)模型評估:通過一系列的評估指標去判斷一個分類器模型的分類效果。
分類是機器學習研究的基本問題,就算面對一組平衡的數(shù)據(jù)集,分類問題本身也沒有一套較為完善的處理算法,不平衡數(shù)據(jù)集又以其內在的復雜性和特殊性,使得這一領域的研究還存在諸多有待解決的困難,其分類困難的主要原因如下。
(1)數(shù)據(jù)采樣困難:分類問題常帶來的是大量數(shù)據(jù),但在不平衡數(shù)據(jù)集中少數(shù)類樣本所占比值往往遠不及整體樣本的百分之一。雖然會采取一系列的采樣策略去平衡數(shù)據(jù),而現(xiàn)存的采樣方法普遍存在諸如過擬合、易丟失多數(shù)類樣本信息、增加冗余信息等缺陷。
(2)算法選擇困難:常見的較為成熟的分類算法如決策樹、隨機森林、支持向量機等雖已取得長足的發(fā)展,但它們對不平衡數(shù)據(jù)中少數(shù)類的識別率低,不能很好地適應不平衡數(shù)據(jù)集的特點。
(3)數(shù)據(jù)識別困難:噪聲通常是數(shù)據(jù)集中不可避免的因素,少數(shù)類樣本遇上噪聲無疑會降低分類器對少數(shù)類的識別能力。特別當噪聲數(shù)據(jù)的數(shù)量與少數(shù)類樣本數(shù)量持平或多于時,可能出現(xiàn)分類器同時學習噪聲和少數(shù)類的風險。因此,盡可能多地去除不平衡數(shù)據(jù)集中的噪聲尤為重要,也與后續(xù)分類器順利分類息息相關。
(4)性能評價困難:性能評價對衡量一個分類器的優(yōu)劣具有重要的評判價值,也為選擇合適的分類器提供了不可或缺的參考價值?;跍蚀_率和錯誤率的評價指標會為了追求整體較高的準確率和較低的錯誤率,不惜以犧牲少數(shù)類為代價將未知樣本向多數(shù)類傾斜,忽略了少數(shù)類樣本的分類精度,因而不能很好地反映模型的好壞。
數(shù)據(jù)重構策略是獨立于分類算法、在數(shù)據(jù)層面上對原始數(shù)據(jù)分布進行預處理的過程,旨在將不平衡數(shù)據(jù)集轉換成較平衡數(shù)據(jù)集,然后采用對平衡數(shù)據(jù)的分類方法進行學習分類和性能評估。目前最為常見的數(shù)據(jù)重構策略有特征選擇和重采樣技術。
有時數(shù)據(jù)集中的數(shù)據(jù)是不相關的、冗余的或是有噪聲的,特征選擇的目的是在不丟失有用信息的前提下,采用“取其精華,去其糟粕”的思想,從原始特征空間中選擇較優(yōu)的特征,剔除劣等特征,從而在原始特征中選擇更適合不平衡數(shù)據(jù)集、能更好地反映不平衡數(shù)據(jù)集特點的訓練子集,使構建的分類器模型達到最優(yōu)的性能。
常見的特征選擇方法大致可分為三類:過濾式(filter)、包裹式(wrapper)和嵌入式(embedding)。以下分別介紹了三種特征選擇方法的特點、分析了面對不平衡數(shù)據(jù)集時它們做出的一系列改進方法。
(1)過濾式特征選擇算法(filter)
過濾式算法與分類器獨立,在訓練分類器之前先利用距離測度、信息測度和相關性測度等特征選擇方法對初始特征進行“過濾”,再使用過濾后的特征對模型訓練。文獻[3]便提出三種filter 技術:高權重(HW)、差分少數(shù)重復(DMR)和平衡少數(shù)重復(BMR),有效地從不平衡分布數(shù)據(jù)集中識別和選擇出重要信息的特征。Relief[4]是一種典型的基于filter 原理的特征選擇方法,根據(jù)二分類中每個樣本的特征與其最近的樣本之間的差異來估計特征的重要性,為分類貢獻大的特征賦予較大的權值,Relief 算法簡單、運行效率高、對數(shù)據(jù)類型也沒有限制,然而它在廣泛應用的同時,暴露出不適合處理有干擾的數(shù)據(jù),也不適合處理不平衡數(shù)據(jù)等缺陷。為了彌補這些缺陷,菅小艷等[5]提出基于Relief 算法的閾值-Relief 干擾數(shù)據(jù)特征選擇算法,消除了干擾數(shù)據(jù)對分類結果的影響。
特征選擇方法多采用歐氏距離來衡量樣本之間的差異,以識別出有助于分類的特征。歐氏距離簡單易計算,卻只局限于兩個樣本之間的相似度,忽略了數(shù)據(jù)的整體結構以及類內的不平衡,導致分類器的分類性能較差。Shahee 等[6]由此提出了基于距離的特征選擇方法(ED-Relief),其特點是采用一種新的距離度量,利用歸一化JF散度的幾何平均值以及類之間的分離來同時處理類內和類間的不平衡,突破了傳統(tǒng)僅基于類間不平衡特征選擇的局限。
由于filter 算法獨立于分類器,只是通過分析原始特征集的內在特性,再結合相應的評價準則來選擇特征子集,通常會降低分類器的準確率。
(2)包裹式特征選擇算法(wrapper)
包裹式特征選擇算法[7]與分類器相結合,直接把最終將要使用的分類器的性能作為特征子集的評價準則,旨在通過啟發(fā)式或順序式搜索等方式為給定的分類器選擇出能夠取得較高準確率、有利于其性能的特征子集。Yang等[8]提出的基于集成的包裹式特征選擇方法,從類分布高度不平衡的數(shù)據(jù)中進行特征選擇,通過采樣方法從原始的不平衡數(shù)據(jù)集中創(chuàng)建多個平衡數(shù)據(jù)集,然后使用在平衡數(shù)據(jù)集上訓練的基分類器集成來評估特征子集。Das等[9]正是分析了過濾和包裹式方法在特征選擇中的優(yōu)缺點,從而提出一種新的混合算法,它利用提升技術,將wrapper 方法的一些特征融合到一種快速的特征選擇filter 方法中。實驗結果表明,該混合算法不僅在訓練速度上優(yōu)于單一的wrapper 方法,并且可以很好地擴展到具有數(shù)千個特征的數(shù)據(jù)集。
雖然包裹式特征選擇方法為給定分類器進行優(yōu)化,獲得了比過濾式特征選擇方法更好的性能,但它需要不斷地訓練和測試分類器以找到最優(yōu)的特征組合,需要的計算代價大,遍歷時間長。
(3)嵌入式特征選擇算法(embedding)
不同于過濾式和包裹式方法,嵌入式算法沒有將特征選擇過程和分類器訓練過程明顯區(qū)別,而是將這兩者有機融合在一起,在訓練分類器的過程中自動進行特征選擇。不僅能使所訓練的分類器具有較高的準確率,還能大大節(jié)省計算開銷。Maldonado等[10]針對高維不平衡數(shù)據(jù),采用嵌入式特征選擇方法選擇原始數(shù)據(jù)集中不同類型的特征來權衡對少數(shù)類樣本的重要性,從而篩選出對有效分類出少數(shù)類樣本更有意義的特征,同時達到降維的目的,更有利于分類器的訓練。Liu 等[11]提出代價敏感的嵌入式特征選擇方法,在基于CART[12]決策樹算法結構的基礎上,增加了一種處理不平衡數(shù)據(jù)集的索引加權方法以達到提升分類器分類性能的目的。
一個好的特征選擇可以提高分類器的學習速度、減少內存消耗、簡化模型。文獻[13]便全面介紹了上述三種特征選擇方式的優(yōu)缺點及其各自適用的應用場景。
特征選擇側重對數(shù)據(jù)進行“選擇”,選擇更有助于分類的特征進行訓練,重采樣技術則是一種異于特征選擇的數(shù)據(jù)重構策略,通過調整多數(shù)類和少數(shù)類之間的樣本分布結構,達到削弱數(shù)據(jù)集不平衡度的目的。
3.2.1 欠采樣(Under-Sampling)
欠采樣策略通過減少部分多數(shù)類樣本數(shù)量來降低類間不平衡比例,使樣本數(shù)量趨于平衡。最簡單的欠采樣策略是隨機欠采樣(Random Under-Sampling,RUS),即從多數(shù)類樣本中隨機選取一些樣本進行剔除。常見的欠采樣策略如圖1所示。
圖1 欠采樣分類策略
編輯最近鄰(Edited Nearest Neighbor,ENN)[14]欠采樣算法主要刪除那些類別與其最近三個鄰近樣本類別中有兩個或以上不同類別的樣本,在ENN 的基礎上鄰域清理法(Neighborhood Cleaning Rule,NCL)[15]進一步識別訓練集中的樣本,若該樣本屬于少數(shù)類且它的三個最近鄰中包含兩個或以上的多數(shù)類,便將三個最近鄰中的多數(shù)類刪除;若該樣本屬于多數(shù)類且它的三個最近鄰中包含兩個或以上的少數(shù)類樣本,則把該多數(shù)類樣本直接刪除,NCL能精準地刪除更多的多數(shù)類。壓縮最近鄰法(Condensed Neatest Neighbor,CNN)[16]反其道而行之,盡量保留決策邊界附近可能具有價值的多數(shù)類樣本,移除了遠離決策邊界的多數(shù)類樣本,將剩下的多數(shù)類與少數(shù)類樣本組合成新的數(shù)據(jù)集訓練。Tomek Links[17]被用來識別噪聲樣本和邊界樣本,它計算來自不同類別的兩個樣本之間的距離,若在數(shù)據(jù)集剩下的樣本中找不到任何一個樣本與它們的距離更近,則稱這兩個少數(shù)類樣本與多數(shù)類樣本互為最近鄰(稱Tomek對),Tomek對中可能存在一個噪聲或這兩個樣本位于兩類樣本的分類邊界區(qū)域。通過找到所有的Tomek對,便可以刪除多數(shù)類樣本中的噪聲或邊界上的多數(shù)類樣本,從而消除類之間的重疊。單邊選擇[18](one-sided selection)欠采樣算法,利用CNN算法刪除遠離邊界的樣本點,利用Tomek對刪除噪聲樣本點和邊界樣本點,兩種方法的結合使采樣后的樣本更具有學習價值。Garcia等[19]則提出了一種進化欠采樣(Evolutionary Under-Sampling,EUS)方法,旨在從原始訓練集中選擇數(shù)據(jù)樣本的最佳子集,使用不同的適應度函數(shù),以在不平衡數(shù)據(jù)集的類分布和分類器性能之間取得良好的平衡。
上述通過減少多數(shù)類的數(shù)量來平衡數(shù)據(jù)集的欠采樣技術,簡單高效易實現(xiàn)但易忽略多數(shù)類潛在的信息,特別是當不平衡比例非常高的時候需要剔除較多的多數(shù)類樣本信息,嚴重影響了分類器的泛化能力。為了緩解這一問題,提出了兩種算法,其一是EasyEnsemble[20]算法,將不平衡原始數(shù)據(jù)集劃分為多數(shù)類數(shù)據(jù)集和少數(shù)類訓練集兩部分,對多數(shù)類隨機欠采樣獨立生成與少數(shù)類樣本數(shù)目相當?shù)亩鄠€訓練子集,并將生成的每個子集和少數(shù)類結合起來訓練學習多個子分類器,然后將構建的子分類器加權融合成一個最終的分類器模型。其二是BalanceCascade[20]算法,前者是分類器串行的級聯(lián)算法,后者則是分類器并行的算法。該算法反復迭代隨機欠采樣與分類器訓練這兩個過程,每迭代一次把子分類器中正確分類的多數(shù)類樣本從訓練數(shù)據(jù)集中移除,再對多數(shù)類樣本集隨機欠采樣,直到訓練數(shù)據(jù)集中多數(shù)類樣本數(shù)目少于少數(shù)類樣本數(shù)目為止。雖然這兩種算法緩解了欠采樣存在的問題,但分批訓練多個分類器增加了訓練時間和學習成本。
以上討論的大都是基于K 近鄰的欠采樣方法,在不平衡數(shù)據(jù)集的背景下,聚類[21]以其“物以類聚,人以群分”,感知樣本間的相識度,對類別歸納,對新的輸入進行輸出預測的思想獲得了廣泛的關注。從表1 的AUC對比值中,可以看出基于聚類的欠采樣在不平衡數(shù)據(jù)集中獲得了較好的效果[22]。Lin等[23]同樣通過實驗證明了基于聚類的欠采樣策略可以降低從多數(shù)類中移除潛在有用數(shù)據(jù)的風險,使構造的分類器優(yōu)于使用基于隨機欠采樣的分類器。文獻[24]提出基于聚類的欠采樣方法來選擇具有代表性的數(shù)據(jù)作為訓練數(shù)據(jù),以提高少數(shù)類的分類精度。
表1 UCI數(shù)據(jù)集上三種欠采樣的AUC值對比
圖2 過采樣分類策略
除了基于K 近鄰和基于聚類的欠采樣方法外,基于進化論的遺傳算法也時常被用來探究多數(shù)類樣本之間的特性,如Drown等[25]通過遺傳算法對多數(shù)類樣本欠采樣,同時去除了噪聲和冗余數(shù)據(jù),使得采樣后的數(shù)據(jù)更利于分類器訓練。文獻[26]等提出基于遺傳算法的欠采樣GAUS(Genetic Algorithm Based Under-Sampling)方法,使用遺傳算法對樣本選擇,彌補了單一使用欠采樣算法易丟失潛在有效信息的不足,使分類器的性能更加穩(wěn)定。
3.2.2 過采樣(Over-Sampling)
與欠采樣相對應的過采樣技術采用增加不平衡數(shù)據(jù)集中少數(shù)類數(shù)量的策略,通過一系列方法合成新的少數(shù)類樣本,并添加到原始數(shù)據(jù)集中,從而均衡數(shù)據(jù)集。隨機過采樣(Random Over-Sampling,ROS)同樣是最簡單的過采樣策略,從樣本少的類別中隨機復制采樣,再將采樣得來的樣本添加到數(shù)據(jù)集中。過采樣策略實現(xiàn)思想簡單,但以這樣簡單隨機復制的方法來增加少數(shù)類樣本,易造成過擬合,使模型沒有很好的泛化能力,新合成樣本的加入也會增加樣本訓練時間。為了降低分類算法過擬合的可能性,過采樣策略處理不平衡數(shù)據(jù)集引起了眾多專家學者的廣泛關注,經(jīng)典的SMOTE 過采樣算法應運而生。常見的過采樣分類策略如圖2所示。
SMOTE(Synthetic Minority Over-sampling Technique)是由Chawla 等人[27]提出的基于隨機過采樣算法的一種改進的線性插值過采樣方法。該算法通過對少數(shù)類進行分析,取每一個少數(shù)類樣本點xi,沿著連接它們在剩余少數(shù)類中隨機選擇出的k 個最近鄰的樣本點x?i,并以0~1 之間的采樣倍率進行線性插值,從而產(chǎn)生新的合成數(shù)據(jù)(synthesized data),其合成原理如公式(1)所示,合成示意圖如圖3所示。
圖3 SMOTE算法合成數(shù)據(jù)示意圖
SMOTE算法不僅有效彌補了隨機過采樣簡單復制少數(shù)類合成新樣本易造成模型過擬合、泛化能力不強等缺陷,還以其設計過程簡單易實現(xiàn),具有較強的魯棒性等優(yōu)勢,為人們研究不平衡數(shù)據(jù)集提供了強有力的理論基礎,后續(xù)衍生出一系列基于SMOTE 算法原理的采樣策略,文獻[28]綜述了自SMOTE 算法被提出15 年來系列擴展算法及它帶來的影響和將迎來的挑戰(zhàn)。
從表2中也可以明顯看出SMOTE算法在不同不平衡數(shù)據(jù)集分類器中的AUC值明顯高于其他重采樣算法[29]。
表2 三種重采樣方法在不同不平衡數(shù)據(jù)集使用C4.5分類的AUC值比較 %
MSMOTE[30]是一種典型的優(yōu)化算法,它彌補了SMOTE合成數(shù)據(jù)時對數(shù)據(jù)集中少數(shù)類分布特征和對潛在噪聲欠考慮的不足,通過計算少數(shù)類樣本與訓練數(shù)據(jù)樣本間的距離,將少數(shù)類樣本劃分為安全、邊界和潛在噪聲三類,并對安全樣本隨機選擇k 最近鄰樣本點、對邊界樣本只選擇最近鄰樣本點,來進行SOMTE采樣,對潛在噪聲不進行任何操作。Borderline-SMOTE[31]則利用k 近鄰規(guī)則將少數(shù)類樣本分為噪聲、邊界和安全三個區(qū)域,重點關注那些容易被錯誤分類的邊界樣本,分析和識別邊界中的少數(shù)類樣本,只對邊界上的少數(shù)類進行SMOTE 過采樣,減少了對所有的少數(shù)類進行過采樣的處理時間、強化了邊界數(shù)據(jù)的學習。自適應合成抽樣算法(adaptive synthetic sampling,ADASYN)[32],同樣是對少數(shù)類進行劃分并針對其特征采取不同的處理方式合成新樣本。但ADASYN方法側重于根據(jù)樣本分類的難易程度為少數(shù)類樣本賦予不同的權重,并不斷自適應調整,不僅減少了原始不平衡數(shù)據(jù)分布帶來的偏差,而且自適應地將決策邊界轉移到難以學習的樣本上。然而它易受離群點的影響,當一個少數(shù)類樣本的K 近鄰都是多數(shù)類樣本時,會被賦予相當大的權重,進而會在其周圍合成較多的樣本。此外蔣華等[33]發(fā)現(xiàn)無論是SMOTE還是ADSYN 方法在合成新樣本時都忽略了數(shù)據(jù)集分布特點,從而提出將兩者相結合來合成少數(shù)類樣本,使不同類別樣本點邊界更加清晰,分類性能明顯優(yōu)于兩者單獨使用。文獻[34]正是認識到SMOTE算法在沒有考慮多數(shù)類的情況下泛化了少數(shù)類區(qū)域的現(xiàn)象,提出了Safe-Level-SMOTE 算法,它在合成數(shù)據(jù)之前使用最近鄰少數(shù)樣本為每一個少數(shù)類計算一個安全級別,沿著同一條線根據(jù)不同的安全級別賦予不同的采樣權重,由于只在安全區(qū)域生成所有合成樣本,使得每個新合成的樣本的位置將更接近最大安全級別,獲得了更好的性能。盡管諸多SMOTE 改進算法獲得了較好的成效,但仍然無法解決數(shù)據(jù)集中少數(shù)類樣本分布邊緣化和計算復雜度較大的問題,為此趙清華等[35]提出TSMOTE(Triangle SMOTE)算法和MDSMOTE(Max Disatance SMOTE)算法,前者著重關注新樣本產(chǎn)生的區(qū)域,避免所產(chǎn)生的新樣本使數(shù)據(jù)集分布邊緣化;后者只關注少數(shù)類樣本質心點和距離質心最遠的少數(shù)類樣本點,在這兩個樣本點連線之間隨機產(chǎn)生新樣本。
雖然上述SMOTE改進算法合成新數(shù)據(jù)采取的技術各不相同,核心仍是在選定的線段上線性插值。Luo等[36]針對SMOTE線性插值的不足提出利用不平衡三角形合成數(shù)據(jù)(the Imbalanced Triangle Synthetic Data method,ITSD),充分利用數(shù)據(jù)空間里將多數(shù)類和少數(shù)類分開的機器學習分類超平面,從超平面的兩端取三個數(shù)據(jù)構成不平衡三角形,最大限度地利用了少數(shù)類和多數(shù)類數(shù)據(jù)?;诟咚垢怕史植嫉腉aussian-based SMOTE[37]算法,結合特征空間中的高斯概率分布,解決了SMOTE傾向于以高概率在同一條直線上合成數(shù)據(jù)易造成過擬合的問題。它不再以0~1間均勻分布的隨機數(shù)生成數(shù)據(jù),而是采用介于0~從高斯分布中啟發(fā)式選擇數(shù)字,使SMOTE算法產(chǎn)生的新合成樣本不顯著偏離直線。
以上主要是針對線性可分數(shù)據(jù)集的討論,實際應用中也不乏非線性可分的數(shù)據(jù)集,為了解決非線性數(shù)據(jù)集的分類難題,常使用核方法對其高維映射,然后在核空間線性分類[38]。王莉等[39]提出的基于核空間的過采樣算法(NKSMOTE),首先利用非線性映射函數(shù)將樣本映射到一個高維的核空間,在核空間中將少數(shù)類分成不同的類別,然后根據(jù)類別的不同賦予不同的向上采樣倍率,再結合K 近鄰合成新的樣本。Lin等[40]為了減少特征空間投影過程中的信息損失,提出新的核自適應子空間過采樣(MOKAS)算法,利用核變體中不變特征析取的能力來自適應子空間進行自組織映射,盡可能地保留了原始特征在映射過程中信息的完整性。
3.2.3 混合采樣(Hybrid-Sampling)
欠采樣方法縮小了樣本訓練空間、降低了學習成本,但易造成潛在有用信息遺失;過采樣方法雖擴大了樣本訓練空間,卻增加了訓練時間,新合成的樣本也增加了過擬合的風險?;旌喜蓸覽41]將過采樣和欠采樣融合在一起,一定程度彌補了二者的缺點,也能兼顧他們的優(yōu)點,往往能夠取得比采用單個采樣策略更好的效果。
Padmaja等[42]對不平衡數(shù)據(jù)集中的多數(shù)類樣本隨機欠采樣,并在對少數(shù)類樣本進行SMOTE 過采樣時摒棄了使用歐氏距離來衡量樣本間的距離,改用插值度量(VDM)來計算距離的混合采樣方式平衡原始數(shù)據(jù)集。歐陽源遊[43]為了緩解過采樣可能存在合成無用新樣本以及噪聲樣本對分類產(chǎn)生干擾等問題,提出基于錯分思想的混合采樣算法,以錯分樣本為基礎有指導地、針對性地合成新樣本,避免了盲目產(chǎn)生新樣本的風險。為了解決基于聚類的欠采樣易造成訓練集過度稀疏,SMOTE 過采樣時常引入較多噪聲等問題,林舒楊等[44]使用SMOTE過采樣算法結合聚類欠采樣方法。張明等[45]引進“變異系數(shù)”找出樣本的稀疏域和密集域,針對稀疏域中的少數(shù)類樣本,提出BSMOTE過采樣算法;對密集域中的多數(shù)類樣本,提出了改進的欠采樣方法(IS)形成新的多數(shù)類樣本集。
數(shù)據(jù)重構策略重點調整數(shù)據(jù)內部分布結構,使不平衡數(shù)據(jù)集趨于平衡。分類模型的改進策略則盡可能地保留原始數(shù)據(jù)的分布特征和數(shù)據(jù)集的內在結構,旨在調整傳統(tǒng)的分類算法或提出對現(xiàn)有分類思想進行優(yōu)化和改進,使其適應不平衡數(shù)據(jù)集的內在特征,從而提高對少數(shù)類樣本的識別能力。本章所闡述的分類模型改進策略主要是從分類算法和分類思想這兩方面對不平衡數(shù)據(jù)集分類進行優(yōu)化和改進。
傳統(tǒng)的分類算法在機器學習和數(shù)據(jù)挖掘領域取得了較為成熟的發(fā)展,也衍生出一系列經(jīng)典的分類算法[46],如K 最近鄰、支持向量機、樸素貝葉斯、決策樹等已得到了廣泛的應用。然而這些分類算法大都是基于樣本數(shù)據(jù)間平衡的假設,當類不平衡時便出現(xiàn)了分類器明顯向多數(shù)類偏移的共性問題。不平衡數(shù)據(jù)集的算法改進策略最大程度地保留了原始數(shù)據(jù)集的所有信息,因而受到了不少研究學者的青睞。
4.1.1 K 最近鄰
K 最近鄰(K-NearestNeighbor,KNN)[47]是一種經(jīng)典的數(shù)據(jù)挖掘分類算法,測量不同樣本之間的距離進行分類,大體思想是計算給定樣本與剩下其他樣本之間的距離,選出距離該樣本最近的K 個鄰近值,如果這K 個樣本大多屬于某個類別,則該樣本同屬于這一類別。當面對不平衡數(shù)據(jù)集時,KNN 算法卻沒有發(fā)揮屬于它的優(yōu)勢,因為其K 最近鄰通常會受到多數(shù)類的影響,多數(shù)類在K 近鄰中占主導地位使得分類結果向多數(shù)類偏移,少數(shù)類分類精度下降。為了緩解不平衡數(shù)據(jù)的影響,Tan等[48]提出的近鄰加權算法(Neighbor-Weighted KNearest Neighbor,NWKNN),對K 近鄰中的少數(shù)類賦予較大權重,為多數(shù)類賦予較小權重,將其應用于文本分類領域,取得了較好的成果。在選擇K 近鄰時通常采用歐氏距離來測量各樣本間的距離,作為一種定量距離度量公式,顯然并不適用于二分類不平衡數(shù)據(jù)集非此即彼的分類規(guī)則。Batista 等[49]由此提出了使用異質值差度量(HVDM)距離函數(shù)來實現(xiàn)KNN 算法,該距離函數(shù)使用歐式距離來定量衡量樣本間的距離;使用VDM距離來定性考慮樣本的每個可能值分類的相似性,能夠更好地描述不平衡數(shù)據(jù)集中樣本間的差異和距離。
4.1.2 支持向量機
支持向量機(Support Vector Machine,SVM)[50]是基于統(tǒng)計學習理論的機器學習方法,在訓練集的樣本空間中找到一個能夠將類別不同的樣本劃分開的最優(yōu)邊界或最大間隔超平面。當數(shù)據(jù)集中各個類別的數(shù)量比例是均衡時,支持向量機生成的決策邊界是理想分界面;然而當面對不平衡數(shù)據(jù)集時或各類別間的數(shù)量比呈現(xiàn)高度不平衡狀態(tài)時,支持向量機所訓練的分類器會明顯將決策邊界偏向少數(shù)類,與理想的分界面形成一定的偏差(如圖4 所示),受分類邊界偏移的影響,新樣本進行分類時易被錯分為多數(shù)類,造成少數(shù)類預測精度比多數(shù)類的預測精度低。Imam等[51]考慮到傳統(tǒng)支持向量機處理類不平衡時決策邊界的偏移,在訓練不平衡數(shù)據(jù)集建立支持向量機模型時,根據(jù)模型結果引入附加參數(shù)自動對決策邊界進行修正,使其趨近理想分界面,從而消除SVM對多數(shù)類的偏差。同樣為了矯正偏移的決策邊界,文獻[52-54]引入權重參數(shù)來調整SVM 的分類決策函數(shù),以此提高少數(shù)類樣本對分類器的貢獻,使分類平面向多數(shù)類樣本傾斜,解決了類不平衡對SVM 造成的影響。
圖4 數(shù)據(jù)不平衡數(shù)據(jù)集下SVM的分類邊界的偏移
楊等[55]直接將少數(shù)類作為訓練目標,提出基于樣本重要性的支持向量機(IISVM),首先將訓練集按照樣本的重要性重新組織規(guī)劃,然后在新訓練集上顯式設置早停止條件,既節(jié)省了分類器學習訓練的時間又高效地實現(xiàn)了對少數(shù)類的識別。Batuwita等[56-57]則利用在不平衡數(shù)據(jù)集上訓練支持向量機模型得到的分離超平面,選擇距離類邊界區(qū)域最近且信息量最大的數(shù)據(jù)樣本,再使用這些選定的樣本進行重采樣,避免了采樣的盲目性,還處理了異常值和噪聲,極大縮短了SVM的訓練時間。
雖然SVM 在許多應用領域取得了不錯的分類效果,當面對分類數(shù)據(jù)集呈現(xiàn)非線性分布的情況時,卻很難找到超平面將樣本分開。此時核方法的引入巧妙地將非線性映射到一個高維核空間,進而在高維映射的核空間分離樣本,例如Zhang等[58]首先使用標準的支持向量機算法來獲得一個近似的超平面,然后根據(jù)統(tǒng)計分析中的保角變換和卡方檢驗,結合每個樣本到支持向量機分類器的距離,得到一個新尺度的核函數(shù)來修正近似超平面,解決了數(shù)據(jù)分布不均勻而導致的分類器性能下降的問題。
4.1.3 決策樹
決策樹(Decision Tree,DT)算法是機器學習領域經(jīng)典算法之一,利用樹形結構、基于規(guī)則進行分類決策,將樣本數(shù)據(jù)根據(jù)其特征的重要性進行分割,遞歸地生成決策樹,樹的葉子節(jié)點代表著最終決策結果。傳統(tǒng)的使用信息增益或信息熵作為選擇決策樹分裂特征的度量準則在面對類不平衡數(shù)據(jù)時效果欠佳[59],Cieslak等[60]為此提出使用海林格距離作為決策樹分裂準則來建立海林格距離決策樹(Hellinger Distance Decision Tree,HDDT),有效提升了決策樹在類不平衡數(shù)據(jù)下分類的魯棒性。Liu 等[61]對基于關聯(lián)規(guī)則的分類方法進行優(yōu)化,用類置信度代替置信度,提出類置信度比例決策樹(Class Confidence Proportion Decision Tree,CCPDT),充分考慮了類之間的聯(lián)系,提高了決策樹的健壯性和對類大小的敏感性。然而決策樹在訓練數(shù)據(jù)的過程中可能會生成復雜的樹結構,易造成過擬合的現(xiàn)象。
4.1.4 樸素貝葉斯
樸素貝葉斯(Naive Bayes,NB)[62]是基于Bayes 定理的簡單概率歸納算法,在各屬性間相互獨立的假設下,根據(jù)樣本的后驗概率對樣本進行分類,該算法不需要對參數(shù)調整和估計,對缺失數(shù)據(jù)不敏感,效率高且具有廣泛的適用范圍,常應用于文本分類、推薦系統(tǒng)等領域進行決策與分析,但由于類不平衡數(shù)據(jù)的內在特征,使得后驗概率與實際結果存在較高的偏差,影響了樸素貝葉斯分類性能。蔣盛益等[63]便提出一種對樸素貝葉斯的后驗概率進行加權運算的算法,結合基于整個數(shù)據(jù)集的類別分布構造能自適應數(shù)據(jù)分布的代價敏感函數(shù),使偏差盡量減小,顯著提高了分類性能。姚宇等[64]進一步提出基于數(shù)據(jù)平滑與加權補集的樸素貝葉斯優(yōu)化算法,并將其應用于文本分類中解決類不平衡及數(shù)據(jù)稀疏問題。韓忠明等[65]將貝葉斯思想引入不平衡分類任務,用類別的間隔似然函數(shù)代替后驗分布中樣本的概率似然函數(shù),優(yōu)化了不平衡類的分類判別依據(jù),從而提高不平衡數(shù)據(jù)的分類精度。
樸素貝葉斯這一基于概率論的分類方法雖簡單易實現(xiàn),但其各屬性間需要獨立的前提假設和將各特征屬性對分類影響一致視為相同的規(guī)則,在實際應用中很難滿足,制約了它在類不平衡數(shù)據(jù)中的發(fā)展。
4.1.5 基于神經(jīng)網(wǎng)絡的分類策略
神經(jīng)網(wǎng)絡(Neural Network)[66]分類算法是運用類似于大腦神經(jīng)突觸聯(lián)接結構,對信息進行分析處理的模型,傳統(tǒng)神經(jīng)網(wǎng)絡主要通過梯度下降算法迭代調整權值的方式來縮小訓練誤差,將其應用于不平衡數(shù)據(jù)集時,由于多數(shù)類樣本數(shù)多于少數(shù)類樣本,導致梯度下降方向受多數(shù)類影響,以縮小訓練誤差為目的的迭代會使得決策邊界向少數(shù)類樣本傾斜,降低了少數(shù)類樣本的識別率。文獻[67]便采用反向傳播算法對神經(jīng)網(wǎng)絡訓練,然后應用粒子群優(yōu)化算法(PSO)去訓練網(wǎng)絡中的數(shù)據(jù),從而輸出預測值,優(yōu)化了神經(jīng)網(wǎng)絡的決策邊界,以此解決類不平衡數(shù)據(jù)集對神經(jīng)網(wǎng)絡分類的影響。張文東等[68]則提出一種改進的神經(jīng)網(wǎng)絡算法,在輸入層與隱藏層之間加入一層特征受損層,剔除了部分冗余特征值,降低了數(shù)據(jù)集的不平衡度。神經(jīng)網(wǎng)絡常與SMOTE 過采樣結合起來處理類不平衡問題,如基于SMOTE 的互補神經(jīng)網(wǎng)絡[69]和基于SMOTE 的去噪自編碼神經(jīng)網(wǎng)絡[70],不僅均衡了數(shù)據(jù)集,還有效降低了數(shù)據(jù)冗余和噪聲。NNSMOTE[71]則彌補了SMOTE 線性插值的不足,采用神經(jīng)網(wǎng)絡非線性插值的思想來合成新的少數(shù)類,使合成的樣本豐富多樣,能更靈活地擬合原少數(shù)類樣本的分布。值得注意的是,訓練神經(jīng)網(wǎng)絡時,需要較多的參數(shù),如權值和閾值等,增加了訓練成本和時間。
神經(jīng)網(wǎng)絡得到了如此廣泛的應用,提出了一系列基于神經(jīng)網(wǎng)絡的算法,其中最為常見且在類不平衡應用中獲得了較為深入的研究當屬于極限學習機和深度學習。
(1)極限學習機
極限學習機(Extreme Learning Machine,ELM)是由Huang等[72]提出的一種機器學習算法,主要通過隨機初始化輸入層和隱藏層的權重參數(shù),并利用最小二乘法求解輸出層權重的方式來訓練單隱層前饋神經(jīng)網(wǎng)絡,相比于傳統(tǒng)的前饋神經(jīng)網(wǎng)絡,在保證學習精度的前提下實現(xiàn)了更快的速度,同時避免了迭代訓練過程。ELM 也因其泛化能力強,訓練速度快等優(yōu)點被廣泛運用于故障診斷[73]、遙感圖像分類等諸多實際應用領域。但當面對不平衡數(shù)據(jù)集時,同樣面臨著分類算法向多數(shù)類偏移的問題,針對這一現(xiàn)象很多學者也相繼提出了不同的極限學習機處理類不平衡的算法。較為常見的便是為樣本賦予不同的權重而引申出來的加權極限學習機[74-77],略有區(qū)別的是Zhang[76]將模糊記憶應用于ELM 的每個輸入,使得不同的輸入對輸出權值的學習產(chǎn)生不同的貢獻,于化龍等[77]基于此進一步提出了模糊加權極限學習機,引入模糊集的概念,充分挖掘每個樣本在特征空間中的分布信息并對其各自的權重進行模糊化與個性化設置,以最大化分類性能。
(2)深度學習
正如上述所述,機器學習已經(jīng)在不平衡數(shù)據(jù)集處理方法中取得了較好的研究成果[78],而深度學習雖然近年在某些方面取得了不錯的進展,但是其在類不平衡情況下的研究還是非常少的。從圖5 機器學習和深度學習處理流程對比圖中,可以很明顯地看到深度學習省去了機器學習中人工建立特征工程的步驟,能自動地學習特征和預測結果之間的關聯(lián),自動了解樣本的數(shù)據(jù)分布特征,也能從簡單特征中提取復雜的特征。特別是在大數(shù)據(jù)背景下,深度學習的出現(xiàn)無疑為機器學習開辟了一個新的領域,真正實現(xiàn)了“自主學習”。
圖5 機器學習與深度學習處理流程對比
深度學習(Deep Learning,DL)[79]是源于人工神經(jīng)網(wǎng)絡的機器學習方法,不同于極限學習機的單隱層結構,深度學習是具有多個隱藏層的神經(jīng)網(wǎng)絡,采用多層級的模型結構,對輸入的樣本數(shù)據(jù)進行層次化提取與分析,因而具有更強的自主學習和泛化能力。如Dong等[80]提出了一種新的類不平衡深度學習方法,利用批量優(yōu)化過程對少數(shù)類中難以分類的樣本進行批量學習,對少數(shù)類增量校正。常見的深度學習模型有生成式對抗網(wǎng)絡(Generative Adversarial Networks,GAN)、卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)等。
生成對抗網(wǎng)絡[81]能夠學習原始樣本數(shù)據(jù)分布特征,進而生成具有相似分布的新樣本。Lee等[82]便設計了一個用于故障檢測與診斷的深層神經(jīng)網(wǎng)絡,利用經(jīng)驗模態(tài)分解(EMD)能譜數(shù)據(jù)通過GAN 生成的新樣本,得到了比傳統(tǒng)過采樣技術更好的故障診斷結果。解曉波[83]認為不平衡數(shù)據(jù)集分類困難的主要原因是數(shù)據(jù)集中樣本類別不協(xié)調,因此著眼于少數(shù)類樣本,提出了基于生成對抗網(wǎng)絡的數(shù)據(jù)集增強方法,充分利用生成對抗網(wǎng)絡中生成器的強擬合能力最大程度擬合少數(shù)類樣本的分布,再用較為成熟的生成器去生成與多數(shù)類數(shù)量趨于均衡的少數(shù)類樣本。
卷積神經(jīng)網(wǎng)絡(CNNs)因其能夠將自動特征提取和判別分類器集成在一個模型中的特性,在深度學習領域受到廣泛的關注。如文獻[84]為了解決背景圖像塊與目標圖像塊數(shù)量不平衡問題,利用卷積神經(jīng)網(wǎng)絡對目標進行檢測,只隨機選取背景圖像塊的10%進行訓練,極大地降低了訓練成本。陳志等[85]在使用卷積神經(jīng)網(wǎng)絡訓練過程中,為損失函數(shù)引入類別標簽權重,從而強化少數(shù)類對模型參數(shù)的影響,極大緩解了不平衡數(shù)據(jù)集分類難的問題。Xie[86]則巧妙地將卷積和生成對抗網(wǎng)絡結合,提出了深卷積GAN(DCGAN)模型來模擬少數(shù)類的原始分布,從整體的類分布中學習,從而生成新的數(shù)據(jù)來解決不平衡問題。
分類算法側重通過對分類器改進和優(yōu)化來適應不平衡數(shù)據(jù)集的內部分布結構,而分類思想上的改進則保持了各類分類器原有的屬性特征,根據(jù)不平衡數(shù)據(jù)集的特征采用不同的學習思想進行分類改進,但它們最終的分類實現(xiàn)往往還是要借助于傳統(tǒng)的分類器。
4.2.1 代價敏感學習
不平衡數(shù)據(jù)集分類過程中,數(shù)量稀少的少數(shù)類往往是需要重點關注的研究對象,傳統(tǒng)的分類器并不對各個類別的錯分代價加以區(qū)分。代價敏感學習(Cost Sensitive Learning)[87]針對分類器對少數(shù)類的錯分代價遠遠大于對多數(shù)類的這一特點,給予少數(shù)類更高的錯分代價,從而使構建的分類器對少數(shù)類有較高的識別率和關注度,并最小化錯誤分類所帶來的影響,即使面對大型數(shù)據(jù)集也能取得相當好的效果。
MetaCost[88]便是一種典型的代價敏感元學習方法,通過估計訓練樣本的后驗概率密度,并結合代價矩陣來計算每個訓練樣本的理想類別,然后根據(jù)理想類別修改原訓練樣本的類別得到新的訓練集,最后使用基于錯誤率的分類器學習此新的訓練集。Zhou 等[89]則將代價敏感引入神經(jīng)網(wǎng)絡中,深入研究了采樣和閾值移動對訓練代價敏感神經(jīng)網(wǎng)絡的影響。
如上分析可知,代價敏感根據(jù)不同的類別對分類影響的重要程度給予相應的權重,迫使分類器更加關注權值大的類別,常與其他主流的分類算法結合使用獲得了更好的分類效果。雖然在很多實際運用中取得了較大的成功,但也存在模型過擬合的風險,而準確地確定誤分類成本也是需要有足夠多的先驗知識來支撐的,同樣需要付出很大的學習代價去確定代價參數(shù),數(shù)據(jù)內在特征也為代價敏感學習用于類不平衡數(shù)據(jù)帶來巨大的挑戰(zhàn)。
4.2.2 集成學習
集成學習[90]是在原始訓練集上訓練多個子分類模型,預測時根據(jù)每個子分類器的分類結果進行加權投票,得到最終預測結果來綜合決策分類的技術,即將多個分類器組合起來,形成一個強大的分類器,如圖6 所示。集成算法增加了分類器的多樣性,按集成組合方式的不同,大致可分為三類,分別是Bagging、Boosting 以及隨機森林。
圖6 基于集成學習的方法
(1)Bagging
Bagging[91]是子學習器間不存在強依賴關系,可同時生成的并行化套袋算法,主要思想是使用Bootstraping方法從原始數(shù)據(jù)集中隨機有放回地抽取數(shù)據(jù)樣本,形成一個新的訓練集,進行多次同樣的隨機抽取得到多個獨立的訓練集,對生成的多個訓練集來最小化預測方差,獨立地為每個訓練集生成一個分類器,然后將它們各自的模型采用投票或加權的方式得到分類結果。通常在使用Bagging 算法之前會對原始數(shù)據(jù)集進行重采樣,得到均衡的數(shù)據(jù)集來集成訓練分類器的每個子分類器,有效地避免了重采樣技術的潛在缺點,增強了弱分類器的性能。例如文獻[92]使用SMOTE過采樣和欠采樣技術與Bagging 結合得到SMOTEBagging 和UnderBagging to OverBagging(UOBag)等套袋算法。RB-Bagging[93](Roughly Balanced-Bagging)算法則利用一種新的采樣技術改進了現(xiàn)有的基于Bagging的不平衡數(shù)據(jù)處理方法中每一個子分類器的類分布與期望的分布完全相同的現(xiàn)狀,使每個子集的類分布變得略有不同,以此增加訓練模型的多樣性。
(2)Boosting
Boosting[94]是子學習器間存在強依賴關系,須以串行方式生成的序列化提升算法。Boosting 在對每個模型序列進行擬合時,會更加關注那些序列中容易錯分或難以處理的數(shù)據(jù),即每次迭代都是對上一輪結果的優(yōu)化、提升。AdaBoost[95]是典型具有代表性的Boosting 提升算法,它可以自適應地修改權重以減少預測偏差,從而提高分類器性能并有效地防止過擬合。該算法主要使用整個數(shù)據(jù)集對每個分類器進行串行訓練,在每一輪訓練之后,將更多的精力放在分類難度大的樣本數(shù)據(jù)上,經(jīng)過多次迭代后,錯誤分類的數(shù)據(jù)樣本權重都會增加,而正確分類的數(shù)據(jù)樣本權重則會減少。AdaCost[96]是AdaBoost的變體,它為了減少累積的錯誤分類成本,在迭代過程中利用錯分代價來更新數(shù)據(jù)集中樣本的分布,降低了固定和可變的錯誤分類成本。
同樣,提升算法與采樣技術結合,衍生出SMOTEBoost[97]等一系列基于采樣技術的Boosting 算法在處理不平衡數(shù)據(jù)集的分類問題中也獲得顯著的成效。盡管Boosting 算法具有較高的準確率,但它的串行迭代過程,時常會降低訓練速度、增加訓練時間和學習成本。
(3)隨機森林
隨機森林(Random Forest,RF)[98]是Bagging的一個擴展變體,利用Bootstrap隨機重采樣技術和節(jié)點隨機分裂技術構建多棵決策樹,通過投票得到最終分類結果。其各子樹間相對獨立,各自選擇部分樣本進行訓練或對特征按重要程度篩選出對分類貢獻較大的特征來分裂,避免了過擬合的風險,可擴展性強,受噪聲和異常值影響較小,即使是面對高維特征也能獲得較優(yōu)的分類結果。盡管如此,隨機森林遇到類不平衡數(shù)據(jù)時,分類效果仍欠佳。為了使隨機森林算法能夠適用于不平衡數(shù)據(jù)的分類,目前提出了兩種主流的優(yōu)化方案,一種是結合預處理的隨機森林優(yōu)化算法,另一種則是改進自身構建過程的隨機森林優(yōu)化算法。如文獻[99]針對這兩種解決方案提出了平衡隨機林(BRF)和加權隨機林(WRF),實驗結果表明這兩種方法均能提高少數(shù)類的預測精度。魏正韜等[100]從數(shù)據(jù)層進行預處理,提出基于不平衡數(shù)據(jù)對隨機森林算法進行新的改進,對采樣結果增加約束條件來改進重采樣方法,削弱采樣對類不平衡的影響,保證算法隨機性的同時利用生成的不平衡系數(shù)對每個決策樹進行加權處理,以此提高不平衡數(shù)據(jù)敏感決策樹在最終投票時的權重。文獻[101]則從算法構建自身出發(fā),在構造隨機森林算法過程中為處于劣勢地位的少數(shù)類賦予較高的投票權重,提高了少數(shù)類樣本識別率。
4.2.3 單類學習
數(shù)據(jù)集中數(shù)據(jù)分布不平衡時,分類器通常都會間接地忽略少數(shù)類對分類結果的影響,傾向于將所有的數(shù)據(jù)劃分為多數(shù)類。為了避免分類器在對樣本分類時受多數(shù)類支配,傳統(tǒng)采用基于區(qū)別的分類方法逐漸淡出了人們的研究視線,探索出了一種基于識別的方法進行學習,單類學習由此應運而生。它只利用感興趣的少數(shù)類數(shù)據(jù)樣本進行學習,對于新的樣本,通過比較該樣本與目標類的相似程度而識別該樣本是否歸屬于目標類,巧妙地將兩類問題轉化成單類問題。在解決不平衡分類問題時,從少數(shù)類到多數(shù)類,單類學習為每個類制定規(guī)則,不斷為每個規(guī)則添加條件。William[102]基于此就提出了一種直接僅用于少數(shù)類的規(guī)則學習算法,該算法以規(guī)則為基礎,在規(guī)則歸納系統(tǒng)中采用分而治之的方法建立迭代規(guī)則,覆蓋了以往未覆蓋的訓練樣本。對可能包含噪聲特征的高維空間下的高度不平衡數(shù)據(jù)集,單類學習效果顯著。Bernhard 等[103]則提出了單類支持向量機(One-Class Support Vector Machine,OCSVM),它把原始數(shù)據(jù)映射到特征空間中,同時把原點作為異常點,將原點和訓練樣本分隔開來的超平面作為決策邊界來實現(xiàn)對新樣本的分類決策。
單類學習僅僅考慮某一個類別的樣本數(shù)據(jù)來解決不平衡問題,雖然能夠有效地減少時間開銷,但也容易對訓練集中的少數(shù)類造成過擬合,而且它完全無視多數(shù)類樣本的相關有用信息,泛化能力明顯下降,多用于數(shù)據(jù)極度不平衡的情況。
4.2.4 主動學習
單類學習只學習感興趣的少數(shù)類樣本,進而識別出新樣本是否屬于少數(shù)類。而主動學習[104]能夠主動去選擇想要學習的數(shù)據(jù),從不帶標簽的數(shù)據(jù)中主動選擇一部分進行標注,然后讓分類器進行訓練和學習,不斷迭代這兩個過程直到達到預先設定的最優(yōu)值。即利用盡可能少的標記數(shù)據(jù)來達到高精度,最大限度地降低獲取標記數(shù)據(jù)的成本。文獻[105]較為詳細地闡述了主動學習對不平衡數(shù)據(jù)的正面影響。主動學習時常會與重采樣技術、SVM算法等結合起來處理類不平衡問題。張永等[106]運用SMOTE 方法均衡部分少數(shù)類樣本,得到初始分類器;然后利用主動學習方法調整分類器精度,有效提高了不平衡數(shù)據(jù)的分類準確率?;谥С窒蛄繖C的主動學習選擇[107-108]策略,從較小的樣本庫中選擇信息數(shù)據(jù)進行主動學習,避免了學習整個數(shù)據(jù)集帶來的開銷。Fu等[109]提出了基于確定性的主動學習(CBAL)算法來確定每個未標記樣本在探索的鄰域內查詢的概率,有效地識別出信息樣本和處理不平衡數(shù)據(jù)分類問題。
表3 各類分類算法總結
表4 各類分類思想總結
以上分別討論了各類分類模型為了適應不平衡數(shù)據(jù)集數(shù)據(jù)分布結構所做出的一系列的改進和優(yōu)化,表3和表4 分別直觀地展現(xiàn)了各類分類算法和分類模型的核心、優(yōu)缺點以及所對應的文獻。
準確率(Accuracy)是分類問題的一項常見的評價指標,反映的是被正確分類的樣本數(shù)量占樣本總數(shù)量比值的大小。對于傳統(tǒng)的數(shù)據(jù)平衡分類問題,準確率能夠很好地反映分類算法的性能。然而對于不平衡問題,少數(shù)類會向多數(shù)類傾斜,導致準確率這一評價指標似乎沒有參考價值。在信用卡欺詐檢測案例中,正常情況的多數(shù)類占總體樣本的比值高達99%,屬于欺詐事件的少數(shù)類占總體樣本數(shù)的1%,如果此時分類器把僅存的1%的欺詐事件歸為多數(shù)正常類,盡管分類器的準確率達到99%,卻忽視了真正關注的少數(shù)類,不僅不能夠檢測出欺詐事件,不能為決策提供有意義的信息,甚至會帶來巨大的損失。因而一般采用召回率(Recall)、精確率(Precision)等單一評價指標和F-measure、G-mean、ROC曲線等綜合評價指標作為不平衡數(shù)據(jù)集的評價指標。為了更好地描述這幾類評價指標,本文首先引入混淆矩陣的相關概念。混淆矩陣[110]將預測分類結果和實際分類結果以矩陣的形式直觀地展示出來。在二分類的不平衡分類問題中,將重點關注的少數(shù)類記為正類,多數(shù)類記為負類?;煜仃嚾绫?所示。
表5 混淆矩陣
表5 中真正類(True Positive,TP)表示樣本集中被正確分為正類的個數(shù);假正類(False Positive,TP)表示樣本集中錯分為正類的個數(shù);假負類(False Negative,TN)表示樣本集中錯分為負類的個數(shù);真負類(True Negative,TN)表示樣本集中被正確分為負類的個數(shù)。
召回率(Recall)指分類正確的正類個數(shù)占所有正類個數(shù)的比例,Recall=TP/(TP+FN),召回率較高的分類器會盡可能多的關注少數(shù)類,盡量避免將少數(shù)類誤分為多數(shù)類。
精確率(Precision)指分類正確的正類個數(shù)占所有被預測為正類個數(shù)的比例,Precision=TP/(TP+FP),精確率較高的分類器會盡可能地避免將多數(shù)類誤分為少數(shù)類。
顯而易見,召回率和精確率有時是一對相互矛盾的指標,即不能保證在擁有較高召回率的同時也擁有較高的精確率。由于不平衡數(shù)據(jù)集分類的復雜性,很難做到僅使用召回率或精確率這樣單一指標就能較準確地評價分類器的性能,為了綜合反映不平衡數(shù)據(jù)集的分類性能,常采用F-measure、G-mean、ROC等作為評價指標。
F-measure[111]又稱F-Score,其計算公式如式(2)所示,α是常取值為1的比例系數(shù)。F-measure可以兼顧精度和召回率并找到它們的最佳組合。
G-mean也是一項綜合評價指標,涉及靈敏度(Sensitive)和特異度(Specificity)兩個單一評價指標,Sensitive=TP/(TP+FN) ,衡量了分類器對正類的識別能力;Specificity=TN/(TN+FP),衡量了分類器對負類的識別能力。其表達式如式(3):
盡管F-measure 和G-mean 對準確率和錯誤率進行了改進和完善,但在比較分類器和各種分布之間的性能時,仍不能起到很好的評估效果。ROC[112]曲線的出現(xiàn)恰如其分地解決了難以在不同樣本分布范圍上比較不同分類器性能的這一問題。
ROC 曲線全稱為接受者操作特性曲線(receiver operating characteristic curve)以假正率(FP_rate)和真正率(TP_rate)為軸,權衡了正確分類的收益和錯誤分類的代價之間的關聯(lián),并以可視化的方式直觀地展現(xiàn)出來。ROC 曲線下方的面積稱為AUC(Area Under Curve)[113],AUC用來定量評價分類器預測的準確性,曲線越接近左上角,值越高,即曲線下方面積越大,預測準確率越高。如圖7所示,圖中L2曲線對應的性能比曲線L1 好,D 點是性能最好的點,B 點則是最差的點,位于CA 直線上的點所代表的是隨機分類器分類的結果,位于CA線之上的點如G點的性能比隨機分類器上的點E好,F(xiàn) 點的性能比隨機分類器差。最理想的情況是TP_rate接近1,F(xiàn)P_rate接近0。圖7中TP_rate=TP/(TP+FN),F(xiàn)P_rate=FP/(FP+TN)。
圖7 ROC曲線
AUC 因其不受分類器種類以及先驗概率的影響,在不平衡數(shù)據(jù)集分類性能評價指標中獲得廣泛的認可??紤]到不同類別的分類代價存在著一定的偏差,Weng等[114]引入了加權AUC指標,它在計算面積時引入成本偏差,更好地反映了類不平衡數(shù)據(jù)集類別間誤分代價的差異。文獻[115]同樣意識到ROC 曲線下的區(qū)域(AUC)由于隱式地對不同的分類器使用不同的誤分類代價分布而存在的嚴重缺陷,提出H 測度,用對稱β分布代替AUC中的隱式成本權重分布來評估分類器在訓練不平衡數(shù)據(jù)集時的性能,即使面對高度不平衡數(shù)據(jù)時該方法也能獲得比AUC更好的評價性能。Drummond等[116]則提出了一種代價敏感評估方法:代價曲線(Cost Curves),彌補了ROC曲線尚存的不足,直觀地反映了分類器期望的總代價,更支持了幾種關鍵的性能評估類型,評估效果更佳。
不可否認ROC曲線為類不平衡數(shù)據(jù)分類評估提供了強大的可視化方法,但當面對不平衡比例非常高,即高度傾斜的數(shù)據(jù)集時,ROC 曲線往往呈現(xiàn)出過于樂觀的圖來展示分類算法的性能,評估效果明顯下降。在這種情況下,精確召回(Precision-Recall,PR)[117]曲線則可以提供一個較為全面、信息量更大的評估曲線。
一些研究認為,類不平衡是造成機器學習算法分類性能受限的根本原因。但在某些情況下,分類算法在類不平衡的各個應用領域也能夠獲得較高的分類性能,由此又引發(fā)了對類不平衡問題新的思考。文獻[118-119]等通過實驗證明,在分類性能上造成阻礙的主要原因不是類分布不均,而是類之間的重疊程度,這常常是多數(shù)類和少數(shù)類邊界模糊造成的。因此,即使解決了類不平衡問題也并不總是有助于分類器性能的提高。一個類中由于樣本數(shù)量不同的多個子簇(也稱小分離項,small disjuncts)而形成的類內不平衡同樣會導致分類器性能的下降[120],由于普遍存在的類間不平衡問題,類內不平衡分布問題往往被忽視。
除此之外,以上對類不平衡數(shù)據(jù)分類方法的討論大都是在有監(jiān)督學習框架下進行的,但實際應用中半監(jiān)督或無監(jiān)督學習廣泛存在,即未充分標注或完全未標注的樣本均可能存在于數(shù)據(jù)集中,如何充分利用僅有標注好的少數(shù)類數(shù)據(jù)或從未標注的數(shù)據(jù)中學習隱藏信息是深入研究類不平衡數(shù)據(jù)又一大需要突破的瓶頸。
信息化時代的到來,數(shù)據(jù)的產(chǎn)生日益增加,如此龐大的數(shù)據(jù)體系雖然可以提供足夠多的信息進行決策,但同樣為對這些大規(guī)模數(shù)據(jù)進行分類提出了新的挑戰(zhàn)。不言而喻,當使用傳統(tǒng)的不平衡數(shù)據(jù)二分類技術去處理大數(shù)據(jù)時,即使分類器能夠獲得較好的分類性能,但所花費的時間以及需要的計算成本必將是巨大的,況且很多二分類分類器在面對不平衡大數(shù)據(jù)時表現(xiàn)得并不友好,分類性能明顯下降。由于巨大的不平衡數(shù)據(jù)可能來自不同的應用領域,產(chǎn)生的數(shù)據(jù)其內部結構所呈現(xiàn)出的多樣性和復雜性,為類不平衡數(shù)據(jù)集的分類帶來了更大的挑戰(zhàn)[121]。正如Katal[122]等指出的在大數(shù)據(jù)類不平衡比例高達10 000∶1的背景下,現(xiàn)有的分類方法對這些大數(shù)據(jù)進行建模和分析將會變得異常困難,其困難具體表現(xiàn)在大數(shù)據(jù)體積大、數(shù)據(jù)格式紛繁復雜、需要在海量數(shù)據(jù)中對重要數(shù)據(jù)進行過濾才能提取有價值的數(shù)據(jù)信息等,現(xiàn)有的分類方法望而卻步,此時不僅急切需要可擴展和高效的分類算法,還需要能夠處理異構數(shù)據(jù)的新方法,來解決大數(shù)據(jù)集下的類不平衡問題。
大數(shù)據(jù)還時常伴隨著高維不平衡數(shù)據(jù)集的出現(xiàn),這使得分類器對少數(shù)類的識別變得更加復雜。特別在高維特征空間下,數(shù)據(jù)分布尤其稀疏,直接導致少數(shù)類難以識別,而高維特征中含有更多的冗余和不相關特征,也為不均衡數(shù)據(jù)分類帶來了額外的難度。現(xiàn)存處理高維數(shù)據(jù)的主要方式是降低數(shù)據(jù)維度來找到一個適合分類的低維空間或是通過特征選擇[123]等預處理方式減少特征數(shù)量來緩解高維不平衡數(shù)據(jù)帶來的問題。但面對數(shù)據(jù)呈現(xiàn)高維和不平衡的雙重特性,目前這兩種處理方式還存在欠缺,有效地分類高維不平衡數(shù)據(jù)仍是亟待解決的問題。
以上研究的分類算法主要是從靜態(tài)的數(shù)據(jù)集中學習,實際應用中數(shù)據(jù)不乏以流的方式呈現(xiàn),如在對動態(tài)不斷更新的網(wǎng)頁中分析數(shù)據(jù)以期建立分類模型時,因其數(shù)據(jù)特征高度動態(tài)變化的特性,對新的樣本類別分布存在不確定性使得分類任務無法如期進行。以上分析可知,數(shù)據(jù)流分布可能隨著時間的推移而改變,會形成概念漂移(Concept Drift)[124]的現(xiàn)象,可能導致數(shù)據(jù)集中多數(shù)類和少數(shù)類的不平衡比例變化,流式數(shù)據(jù)也可能表現(xiàn)出不同程度的類不平衡,導致分類任務更加復雜多變,基于靜態(tài)學習的分類算法儼然難以根據(jù)數(shù)據(jù)集的分布規(guī)律和內在屬性建立分類模型,進而對新樣本進行預測,迫切需要能夠實時處理類不平衡數(shù)據(jù)流的自適應方法。Nguyen等[125]提出新的自適應重用數(shù)據(jù)學習方法來解決類不平衡數(shù)據(jù)流問題便獲得了較優(yōu)的性能。Ryan等[126]則綜合考慮了數(shù)據(jù)流中分布變化和類不平衡問題,提出基于分布散度和元分類的新方法,改進了不平衡分類研究中常用的幾種性能指標,即使對于不平衡度高且極為復雜的數(shù)據(jù)流,它的分類性能也能明顯提高。
雖文獻[127]回顧了學習類不平衡數(shù)據(jù)流中的一系列框架,但是目前對類不平衡數(shù)據(jù)流的研究還是非常稀少,值得今后去進一步研究。
本文主要研究的是類不平衡數(shù)據(jù)下的二分類問題,討論了類不平衡分類的各種策略。雖然這些應對策略可以使用多個二元分類任務序列擴展到多分類問題,但這大都是建立在理想的條件下,多分類問題的分類任務實際情況會復雜得多,很難判斷數(shù)據(jù)集中不同類別之間的聯(lián)系,而且也可能會為了追求某個類別較高的分類性能,而犧牲其他類別的分類性能。當然也存在著多個少數(shù)類和多個多數(shù)類的情況,文獻[128]便深入研究了多少數(shù)類和多多數(shù)類這兩類多分類不平衡問題,提出三種集成方法對總體性能和少數(shù)類性能進行分析,發(fā)現(xiàn)欠采樣技術對少數(shù)類的數(shù)量很敏感,并且在多數(shù)類數(shù)據(jù)中分類器的性能會受到損失,得出一個好的解決多分類問題的方案不是減少多數(shù)類的數(shù)量,而應該克服過采樣帶來的過擬合問題的結論。Zhou等[129]也指出處理具有不同類別錯誤分類代價的多類別任務會比處理兩類別的任務更困難。
另外,分類評估指標一直以來都飽受爭議,又由于類不平衡問題的特殊性,使得對分類器性能的評價變得更加困難,即使是針對二分類任務也鮮有為其量身定制的分類性能評估指標出現(xiàn),而多分類問題的復雜性導致很多適用于二分類問題的評估指標對于多分類問題未必適用。
只有深入了解多分類中類不平衡的本質,才能設計一個較為適合的算法處理該問題。而目前針對不平衡多分類問題的研究仍處于初期,還擁有很大的發(fā)展空間,這也為未來的研究提出了許多開放的挑戰(zhàn)。