崔麗娜
(長治幼兒師范高等??茖W校信息技術(shù)教學部,長治 046000)
隨著大數(shù)據(jù)時代的到來,數(shù)據(jù)已經(jīng)成為一種重要的戰(zhàn)略性資源,數(shù)據(jù)工程領域呈現(xiàn)出一種“6V”特性,即容量大(Volume)、種類多(Variety)、速度快(Velocity)、可變性(Variabil?ity)、真實性(Veracity)、價值密度低(Value),這種“6V”特性又決定了大數(shù)據(jù)本身特有的復雜性,非平衡數(shù)據(jù)就是一類最典型的復雜數(shù)據(jù)?,F(xiàn)實世界中存在大量非平衡數(shù)據(jù)問題,例如在信用卡交易欺詐的檢測中,更關心欺詐用戶的識別,但非法的欺詐交易只是偶爾發(fā)生,大部分記錄都是正常交易;再如在患者腫瘤情況的檢測中,腫瘤呈陽性的比例要遠少于腫瘤呈陰性的比例,但在檢測中需要準確發(fā)現(xiàn)嚴重的陽性腫瘤患者,以進行及時的治療;此外,非平衡分類問題在雷達圖像監(jiān)測、金融貸款管理、企業(yè)破產(chǎn)預測、電信設備故障檢測、文本分類、垃圾郵件過濾等實際領域中都非常常見。
目前,針對非平衡問題的理論及應用領域,已經(jīng)提出了多種解決非平衡分類問題的機器學習方法,支持向量機作為一種典型的機器學習模型,也在非平衡數(shù)據(jù)問題中得到了較為成功的應用。目前,支持向量機處理非平衡數(shù)據(jù)分類問題大體上包含三種思路:一是對訓練數(shù)據(jù)的重采樣,對大量的多數(shù)類樣本進行下采樣,對稀少的少數(shù)類樣本進行上采樣,通過這種方法達到數(shù)據(jù)的近似平衡分布,提高分類的性能;二是對數(shù)據(jù)集進行偏置性的權(quán)值設置,即通過對少數(shù)類樣本與多數(shù)類樣本設置不同的權(quán)值,以使得重要的少數(shù)正類樣本盡可能強制分類正確;三是通過抽樣得到初始超平面之后,通過一定的啟發(fā)式規(guī)則調(diào)整分類超平面使其逼近最優(yōu)分類超平面,提高對少數(shù)類數(shù)據(jù)的識別效率。
雖然這些方法可以提高支持向量機處理非平衡分類問題的性能,但都存在一些局限?;诓蓸硬呗缘腟VM非平衡分類方法盡管使得數(shù)據(jù)分布趨于平衡,但下采樣可能會將包含重要信息的數(shù)據(jù)丟棄,而上采樣會增加訓練的開銷,導致原本學習效率就不高的SVM效率進一步降低,此外由于強行無根據(jù)地進行人為的訓練樣本分布改變,導致了實際參與訓練樣本的分布與測試集樣本不再符合機器學習中訓練樣本與測試樣本獨立同分布的大前提,得到的結(jié)果缺乏可信性和可解釋性;基于權(quán)值調(diào)整策略的SVM非平衡分類方法雖然通過對不同類樣本設置不同的權(quán)值,使得少數(shù)類樣本在分類過程中錯分的概率減小,一定程度上提高了正類樣本分類的準確率,但其權(quán)值設置沒有統(tǒng)一的理論依據(jù),不同的數(shù)據(jù)、不同的情況可能需要設置的權(quán)值分布就不同,因此,這種方法中權(quán)值設置時一個瓶頸問題,同時也缺乏相應理論支撐;基于超平面調(diào)整的SVM非平衡分類方法往往是在得到初始分類超平面之后,根據(jù)一定的啟發(fā)式規(guī)則進行超平面的一次性調(diào)整,調(diào)整超平面的方向和幅度也一般都是通過實驗測試進行,缺乏相應理論和依據(jù),實驗結(jié)果缺乏可再生性和可解釋性。
針對傳統(tǒng)SVM無法有效處理非平衡數(shù)據(jù)分類的問題,本文結(jié)合主動學習具有很好的人機交互作用的特點,提出一種新的非平衡SVM分類方法,該方法先將多數(shù)的負類樣本進行劃分并采樣,再與正類樣本合并訓練得到初始分類器,在此基礎上根據(jù)負類剩余樣本集中樣本到分類器的距離,逐次選擇主動學習中的關鍵信息樣本加入到負類訓練樣本集中,同時刪除負類訓練樣本集中相對次要的非關鍵信息樣本,始終保持訓練集樣本分布的平衡,有效提高SVM對于非平衡數(shù)據(jù)分類的泛化性能。
傳統(tǒng)的SVM在處理非平衡數(shù)據(jù)的分類問題中,經(jīng)訓練得到的分類超平面總是向少數(shù)類樣本偏斜,使少數(shù)正類樣本被錯誤歸類,失去了對重要正類樣本的識別能力。本文以在二分類問題為例,假設樣本有橫軸和縱軸兩個特征,且在這二維特征上均符合正太分布,分別以(-1,-1)與(+1,+1)為中心構(gòu)造兩類樣本,其中正類樣本和負類樣本的規(guī)模分別?。?00,500)、(100,900)、(50,950)、(20,980)和(10,990)這5種從平衡到不平衡的情況,然后采用傳統(tǒng)SVM在這種二分類樣本上進行訓練,圖1和圖2分別為線性核和高斯核在兩類不同非平衡性的樣本上得到的分類超平面。圖1表明,隨著正負類樣本集不平衡程度的增加,分類超平面更加偏向少數(shù)類樣本,當正類樣本和負類樣本比例偏差達到一定程度時(如圖中的50:950),兩類數(shù)據(jù)無法分開,即SVM已經(jīng)無法得到分類超平面。從圖2可以看出,雖然隨著樣本不平衡性的增加,分類超平面一直都可以得到,但學習得到的分類超平面明顯偏向于少數(shù)正類樣本的分布區(qū)域,即對重要的少數(shù)正類樣本缺乏識別性能。
圖1 基于線性核SVM的非平衡數(shù)據(jù)分類面(正類,負類)
圖2 基于高斯核SVM的分類面(正類,負類)
主動學習(active learning,AL)是一種應用于解決大規(guī)模機器學習問題的典型策略,已經(jīng)在圖像處理、語音識別、信息提取、計算生物學等許多領域得到實際應用。主動學習的本質(zhì)就是構(gòu)建一種關鍵信息樣本選擇的啟發(fā)式規(guī)則,根據(jù)該規(guī)則主動地選擇訓練樣本中對于學習任務最為重要的關鍵信息樣本加入訓練集來參與訓練,并通過循環(huán)迭代得到最終的機器學習結(jié)果。在主動學習過程中,由于只有少量的關鍵信息樣本參與訓練,因此訓練集規(guī)模較小,噪聲樣本影響較少,學習效率較高。由于支持向量機是一類小樣本學習器,其雖然泛化性能較好,但其由于要構(gòu)造核矩陣并進行運算,訓練時間復雜度為(),其中為樣本規(guī)模,因此當訓練集樣本規(guī)模較大時,無法進行高效學習。
目前,針對SVM無法處理大規(guī)模復雜數(shù)據(jù)學習的問題,已經(jīng)結(jié)合主動學習方法,提出了一些基于主動學習的SVM改進學習算法,如Tong等選取距離超平面最近的樣本作為重要信息樣本參與訓練,提高了SVM的學習效率,使SVM的近似超平面可以盡快地收斂于最優(yōu)超平面,并將其應用于文本分類的實際問題;Schohn等認為當前分類器中不易識別的樣本是最重要的,利用這些樣本來構(gòu)造信息樣本集,設計出Uncertainty Sampling等采樣方法提取重要信息樣本。盡管這些主動SVM分類方法通過構(gòu)建啟發(fā)式的關鍵信息樣本提取規(guī)則,提取含有重要分類信息的樣本加入訓練集迭代主動學習,提高了學習效率。但這些方法都是針對平衡數(shù)據(jù)分類問題的,對于非平衡數(shù)據(jù)的分類問題并不能使用。因此,如何結(jié)合主動學習模型,抽取非平衡分類問題中更有價值的信息樣本,以提高傳統(tǒng)SVM處理非平衡數(shù)據(jù)的分類性能是一個值得研究的問題。
本文結(jié)合主動學習的思想,提出一種基于主動學習的針對非平衡數(shù)據(jù)分類的SVM改進分類方法。該方法首先將規(guī)模較大的負類樣本劃分為與正類樣本個數(shù)一致的簇,計算出每個簇中心作為負類訓練樣本集,將其與正類樣本合并訓練,得到初始分類超平面。由于對SVM最優(yōu)分類超平面起決定作用的樣本往往分布在超平面附近,越遠離分類超平面的樣本越無關,因此在剩余的大規(guī)模負類樣本集中根據(jù)樣本到近似超平面的距離,選擇主動學習的關鍵信息樣本(即距離當前分類超平面最近的負類樣本),同時刪除負類訓練樣本集中距離超平面最遠的樣本,以始終保持SVM訓練樣本中不同類別樣本分布的平衡性,有效提高SVM對于非平衡數(shù)據(jù)分類的泛化性能。
根據(jù)負類剩余樣本集中每個樣本到超平面的距離,即可選擇主動學習當中需要加入的關鍵信息樣本和需要刪除的非關鍵信息樣本,二者的選擇方式見如式(3)、式(4):
關鍵信息樣本:
非關鍵信息樣本:
基于主動學習的非平衡SVM分類算法
(4)使用新訓練集訓練SVM模型,得到分類器,并測試其分類性能。
(5)根據(jù)式(2)計算負類剩余樣本集中樣本到分類超平面的距離,并根據(jù)式(3)從負類剩余樣本集中選擇關鍵信息樣本,并對負類訓練樣本集和負類剩余樣本集進行更新,更新方法如下:
(6)根據(jù)式(2)計算負類訓練樣本集中樣本到分類超平面的距離,并根據(jù)式(4)從負類訓練樣本集中選擇非關鍵信息樣本,并對負類訓練樣本集和負類剩余樣本集進行更新,更新方法如下:
(7)得到更新后的負類訓練樣本集與正類樣本集合并構(gòu)成新的訓練樣本集,轉(zhuǎn)到(4)繼續(xù)迭代執(zhí)行,直到迭代次數(shù)達到要求為止。
(8)輸出整個過程中得到的一系列分類器及一系列評測值。
(9)算法結(jié)束。
為驗證ISVM_AL方法的有效性,實驗中將該方法與標準SVM基于聚類的非平衡SVM(ISVM_C)分類方法進行對比研究。ISVM_C算法如下。
基于聚類的非平衡SVM分類算法
(4)使用新訓練集訓練SVM模型,得到分類器,并測試其一系列評測指標。
(5)算法結(jié)束。
為驗證ISVM_AL分類算法的性能,本文分別在人工構(gòu)造的非平衡數(shù)據(jù)集和多個典型的非平衡UCI數(shù)據(jù)集上都進行了測試。人工構(gòu)造的非平衡數(shù)據(jù)集呈正態(tài)分布,正類和負類分別以(+1,+1)和(-1,-1)為中心,以(1 0,0 1)為協(xié)方差矩陣,構(gòu)造訓練集中負類樣本與正類樣本的比例為500∶500、900∶100和980∶20。測試集也同樣方法構(gòu)造,但數(shù)量規(guī)模擴大10倍,圖3所示為構(gòu)造的訓練集樣本分布情況;標準非平衡UCI數(shù)據(jù)集如表1所示,這些數(shù)據(jù)集可從網(wǎng)站http://www.ics.uci.edu/~mlearn上下載,為提高實驗的測試準確性,在UCI數(shù)據(jù)集上采用五折交叉驗證的方式,即將數(shù)據(jù)集五等分,其中一份作為測試集,剩余的四份合并作為訓練集,實驗中取五次實驗的均值作為統(tǒng)計結(jié)果。實驗中,將ISVM_AL方法與標準支持向量機(SVM)和基于聚類的非平衡SVM分類方法(ISVM_C)進行了對比。
圖3 正態(tài)分布數(shù)據(jù)集
表1 實驗采用的UCI數(shù)據(jù)集
為有效衡量所提出的基于主動學習的非平衡SVM分類方法的性能,本文在多種不同的非平衡分類指標上進行了全方位的測試。涉及到的測試指標如下:
(1)準確率()。用于測算所有測試樣本中算法預測正確的比例:
(2)召回率()。用于測算實際正類樣本中被正確預測的比例:
(3)特效性()。用于測算實際負類樣本中被正確預測的比例:
(4)值。該指標綜合衡量正類和負類樣本的分類準確率,具體如下:
各評價指標涉及到的變量意義如表2所示。
表2 相關變量的意義
對于人工構(gòu)造的正態(tài)分布數(shù)據(jù)集,三個數(shù)據(jù)集的差異主要體現(xiàn)在不同類別的平衡度上,由于數(shù)據(jù)集分布簡單,所以三種方法當中均直接采用線性核進行訓練測試,由于模型選擇不是本文重點考慮的問題,所以三種模型的懲罰參數(shù)均取默認值1。經(jīng)三種方法訓練測試,得到的實驗結(jié)果見表3,實驗中ISVM_AL方法的迭代步數(shù)默認取15。
表3 正態(tài)分布數(shù)據(jù)集上的實驗結(jié)果
從表3可以看出,對于類型分布平衡的數(shù)據(jù),三種方法得到的結(jié)果完全一致,這是由于當類別完全平衡時,本文所提出的ISVM_AL方法和對照的基于聚類的ISVM_C方法都退化為簡單的SVM方法,因此得到的結(jié)果完全一致;而對于(b)組非平衡分布數(shù)據(jù),SVM方法對正類樣本分類效果較差,因而導致其對應的和值都比較低,盡管基于聚類的ISVM_C對于正類樣本分類效果較好,但其在分對正類樣本的同時也導致了大量的負類的錯分樣本,因此其對應的值和值都不高,而本文提出的ISVM_AL方法一方面采用聚類方法達到了不同類別之間樣本的平衡,對于正類樣本得到了較好的分類準確率,同時采用了基于關鍵樣本提取的負類樣本選擇更新方法,負類樣本的錯分率也較低,因此其對應的的值和值都較好;此外,在另一組類別差異度更大的數(shù)據(jù)集上,SVM完全無法進行分類,即將全部的正類樣本都錯誤地識別為負類,而ISVM_C方法盡管取得了較好的正類分類正確率,但負類樣本的錯分率非常高,而本文提出的ISVM_AL方法在提高正類樣本分類正確率的同時,同時負類樣本的錯分率也較低,在綜合反映正負類樣本分類正確率的指標上,與ISVM_C相比,ISVM_AL提高了15%以上。
對于標準數(shù)據(jù)集,三種模型的懲罰參數(shù)均取默認值1,由于這四個標準數(shù)據(jù)集均不是線性可分的,因此都采用高斯核進行訓練測試,核參數(shù)為默認值,即取特征數(shù)的倒數(shù)。經(jīng)三種方法訓練測試,實驗得到的各測試指標值如圖4所示,實驗中ISVM_AL方法的迭代步數(shù)默認取15。
圖4 標準數(shù)據(jù)集上的測試結(jié)果對比
由于標準SVM和ISVM_C兩種方法并不涉及模型參數(shù),因此在圖4中,SVM和ISVM_C兩種方法得到的結(jié)果并不隨著參數(shù)變化而變化,而對于本文提出的ISVM_AL方法,其性能隨著迭代過程的改變而改變,且初始狀態(tài)下,也是對負類樣本進行了與正類樣本規(guī)模相等的信息抽取,這一點與ISVM_C方法完全一致,因此其初始值和ISVM_C方法是相等的。但隨著算法迭代次數(shù)的增加,ISVM_AL方法對于正類樣本依然保持了較好的分類正確率,同時對于負類樣本的分類正確率有了明顯的提高,從而有效提高了分類的精度值和值,這充分說明本文提出的ISVM_AL方法一方面有效提取了負類樣本的重要信息,保持了不同類樣本的規(guī)模平衡,提高了正類樣本的分類性能,同時通過主動學習的方法有效地抽取了負類樣本集中重要的信息樣本加入訓練,從而在不影響正類樣本分類的情形下,也有效提高了負類樣本的分類性能,在不同類樣本的分類效果之間得到了有效的折中。另外,為了進一步直觀地觀測分類效果,本文給出了數(shù)據(jù)集Thyroid上采用標準ISVM_C和ISVM_AL(迭代次數(shù)為10)的分類超平面(如圖5所示)。從圖中可以看出,在分類超平面邊界附近,本文提出的ISVM_AL方法聚集了更多包含重要信息的負類樣本。
圖5 ISVM_C和ISVM_AL得到的分類超平面
綜上所述,本文提出的基于主動學習的非平衡SVM分類方法通過對負類樣本進行壓縮替換,保證了不同類樣本規(guī)模的平衡性,提高了對于非平衡問題中正類樣本的分類正確率,同時采用主動學習方法有效提取負類樣本中的關鍵信息樣本,刪除非關鍵信息樣本,在保持樣本分布平衡的同時又保留了重要信息,從而在不同類樣本的分類性能之間得到了較好的折中。
針對傳統(tǒng)非平衡支持向量機處理非平衡數(shù)據(jù)分類問題時無法有效平衡正負類樣本分類性能而導致泛化性能差的問題,本文結(jié)合主動學習的思想,提出一種新的非平衡SVM的分類方法ISVM_AL。該方法先對多數(shù)類樣本劃分采樣,并與正類樣本結(jié)合構(gòu)成平衡的訓練集并初始分類器,然后采用主動學習方式從負類剩余樣本集中選擇關鍵信息樣本逐次加入到負類訓練樣本集,同時刪除負類訓練樣本集中相對次要的非關鍵信息樣本,從而始終保持負類訓練樣本集與正類訓練集樣本規(guī)模的平衡性,提高了SVM對于非平衡數(shù)據(jù)分類任務不同類樣本的分類性能。