唐思均
(宜賓職業(yè)技術學院 電子信息與人工智能學院,四川 宜賓 644000)
隨著信息產(chǎn)業(yè)、互聯(lián)網(wǎng)技術及計算機科學技術的發(fā)展和進步,人類已經(jīng)邁入大數(shù)據(jù)時代。在以大數(shù)據(jù)為主要驅動力的社會經(jīng)濟發(fā)展模式下,除數(shù)據(jù)總量之外,數(shù)據(jù)結構也是影響數(shù)據(jù)認知和數(shù)據(jù)應用的重要因素之一[1-2]。當前,伴隨著大數(shù)據(jù)總量的井噴,大數(shù)據(jù)集不平衡問題日益凸顯出來[3-4]。在不平衡大數(shù)據(jù)集中,某個特定的單一類別數(shù)據(jù)類型占據(jù)絕對統(tǒng)治地位,這導致總體數(shù)據(jù)類別與結構分布的不平衡[5],少數(shù)類別數(shù)據(jù)更不容易被識別和利用,進而降低了大數(shù)據(jù)集整體分類的精度及應用的可靠性[6]。數(shù)據(jù)集的非均衡性主要表現(xiàn)為大數(shù)據(jù)集中存在的數(shù)據(jù)類別不均衡、各類樣本在數(shù)據(jù)集中的分布不均衡及個別樣本數(shù)據(jù)的交叉與重疊[7-8]。在海量數(shù)據(jù)規(guī)模條件下,少數(shù)類別數(shù)據(jù)中通常也包含著大量關鍵信息,例如,在醫(yī)學研究領域中,少數(shù)患者的病例樣本對于核心醫(yī)療技術的突破具有重要的意義;在網(wǎng)絡安全防范中,對于個別惡意代碼的檢測與識別,是互聯(lián)網(wǎng)入侵檢測防范的關鍵。
鑒于大數(shù)據(jù)集在總量和結構上的特點,利用機器學習的方法[9]和人工智能方法[10],進行大數(shù)據(jù)分類是必然的選擇。近年來,以人工神經(jīng)網(wǎng)絡方法、樸素貝葉斯方法、遺傳算法、粒子群算法和智能SVM 算法等為代表的機器學習方法,在大數(shù)據(jù)分類中得到了廣泛的應用,也獲得了良好的效果。但是,現(xiàn)有的機器學習方法和人工智能方法在處理非平衡大數(shù)據(jù)過程中,數(shù)據(jù)分類往往更傾向于多數(shù)類別,在數(shù)據(jù)處理的客觀性、準確性和處理效率方面都存在問題,無法獲得更好的數(shù)據(jù)分類效果,而處理非平衡大數(shù)據(jù)的意義在于能夠挖掘出少數(shù)數(shù)據(jù)樣本中蘊含的關鍵信息,并提高大數(shù)據(jù)分類的精度。經(jīng)典SMOTE算法(少數(shù)類樣本合成過采樣)是處理非平衡數(shù)據(jù)集的有效算法之一[11-12],但該算法本身也存在明顯的短板和不足,如插值數(shù)據(jù)的有效性問題、樣本數(shù)據(jù)的邊界控制問題等。為此,本文在經(jīng)典SMOTE 算法的基礎上,進行了深度優(yōu)化和改進,提高分類器的泛化性能與分類準確性,以獲得更好的大數(shù)據(jù)集分類效果。
在非平衡大數(shù)據(jù)集中,多數(shù)類數(shù)據(jù)與少數(shù)類數(shù)據(jù)之間的數(shù)量差距較大,且兩類數(shù)據(jù)之間邊界較為模糊[13],導致數(shù)據(jù)分類的難度高。經(jīng)典SMOTE 算法的思想是以插值的方式,增加少數(shù)類別樣本的數(shù)目,使大數(shù)據(jù)集在數(shù)據(jù)總量上趨近于平衡。以不平衡數(shù)據(jù)集中的任意一個少數(shù)類樣本xq為研究對象,隨機抽取n個位于xq周圍的臨近樣本,樣本集合表示為Z={ }z1,z2,…,zj,…,zn?;谏贁?shù)類樣本xq與臨近集合Z之間的關系插值,增加少數(shù)類樣本的數(shù)量,并得到插值樣本kq:
其中,ξ(0,1)為(0,1)區(qū)間范圍內(nèi)的任意隨機實數(shù),此時所抽取的樣本總數(shù)n為采樣倍率[14]。經(jīng)過插值后少數(shù)類樣本數(shù)據(jù)總量與多數(shù)類樣本數(shù)量可以實現(xiàn)局部的相對均衡[15-16],更有利于提高大數(shù)據(jù)在分類過程中的準確率。但經(jīng)典SMOTE算法在實際應用中存在一定的局限性,主要表現(xiàn)在以下幾個方面:
1)數(shù)據(jù)插值的有效性存在問題,當插值樣本出現(xiàn)在散列數(shù)據(jù)點的中心位置時,不僅無法改善兩類數(shù)據(jù)的分類精度,相反還增加了原有少量數(shù)據(jù)的噪點,影響數(shù)據(jù)分類的效果;
2)經(jīng)過插值處理后,原有少數(shù)類數(shù)據(jù)的分布狀態(tài)和模式會發(fā)生改變,導致數(shù)據(jù)的關鍵特征在分類后無法有效提取,細節(jié)丟失,還會造成孤立數(shù)據(jù)點的過量存在[17];
3)由于隨機性插值的原因,原有兩類樣本之間邊緣模糊性加劇,增加了不同類別數(shù)據(jù)分類的難度[18]。
針對經(jīng)典SMOTE 算法的不足,提出了優(yōu)化的SMOTE 算法,其基本原理是在插值過程中引入數(shù)據(jù)聚類分析思想,并先對少數(shù)類數(shù)據(jù)做預處理,按照少數(shù)類樣本中的數(shù)據(jù)類別特點,賦予樣本數(shù)據(jù)以不同的采樣倍率。經(jīng)過優(yōu)化的SMOTE算法需要避免插值過于隨機,對臨近集合Z中的數(shù)據(jù)做分類處理,即將集合的數(shù)據(jù)進一步分為安全樣本、危險樣本和干擾樣本。如果隨機抽取的集合Z中的全部數(shù)據(jù)為少數(shù)樣本或少數(shù)類樣本占大多數(shù),此樣本為安全樣本;若集合中多數(shù)數(shù)據(jù)樣本多于少數(shù)類數(shù)據(jù)樣本,此樣本為危險樣本;如果集合中的數(shù)據(jù)全部為多數(shù)類樣本,此樣本可以確認為干擾樣本。當少數(shù)類樣本xq的臨近樣本集合不是噪聲樣本時,在樣本zi和zj之間隨機線性插值,生成采樣倍率為n的臨時樣本:
在非均衡大數(shù)據(jù)集中,少數(shù)類樣本xq的線性插值x'q可以表示為
于道邃,敦煌人,少而失蔭,叔親養(yǎng)之,邃孝敬竭誠,若奉其母。至年十六出家,事蘭公為弟子。學業(yè)高明,內(nèi)外該覽,善方藥,美書札,洞諳殊俗,尤巧談論。護公常稱邃高簡雅素,有古人之風,若不無方,為大法梁棟矣。后與蘭公俱過江,謝慶緒大相推重。性好山澤,在東多游履名山。為人不屑毀譽,未嘗以塵近經(jīng)抱。后隨蘭適西域,于交趾遇疾而終,春秋三十有一矣。郗超圖寫其形,支遁著銘贊③〔梁〕釋慧皎:《高僧傳》卷4《于道邃傳》,中華書局,1992年,第169-170頁。。
當少數(shù)類樣本xq的臨近樣本集合確定為噪聲樣本時,為了降低風險,將采樣倍率設定為1。經(jīng)過聚類優(yōu)化后的數(shù)據(jù)插值方式目的性增強,隨機性顯著減弱,算法的基本分類性能能夠得到保證。
對于SMOTE算法而言,改善插值的隨機性,根據(jù)臨近隨機樣本中的數(shù)據(jù)構成插值,并以插值的結果作為數(shù)據(jù)分類的基礎,控制噪點增加,使數(shù)據(jù)邊界模糊的問題得到改善。按照臨近隨機數(shù)據(jù)集合中數(shù)據(jù)類別聚類處理,獲取簇心并以簇心為基點進行過采樣處理,插值后的數(shù)據(jù)邊界更為清晰,有助于后續(xù)利用智能SVM 分類器對非均衡大數(shù)據(jù)集實施分類。按照少數(shù)類樣本xq周圍的臨近樣本內(nèi)部的數(shù)據(jù)結構聚類,假定按照內(nèi)部數(shù)據(jù)結構的不同分為3個簇,簇心選舉及聚類的過程如圖1所示。
圖1 基于聚類思想的數(shù)據(jù)預處理
對少數(shù)類樣本xq臨近樣本數(shù)據(jù)聚類處理后,集合Z中的數(shù)據(jù)被劃分成了3 種類別,此時應有針對性地基于少類樣本簇(A 簇)進行插值,既能夠有效抑制噪聲數(shù)據(jù)規(guī)模的不斷擴大,保持少數(shù)類數(shù)據(jù)的分布狀態(tài),還可以使插值處理后的兩類數(shù)據(jù)邊界更為清晰。針對圖1 中的A 簇進行數(shù)據(jù)的過采樣操作,具體的操作過程如圖2所示。
圖2 少類樣本的過采樣操作
在少類樣本簇心節(jié)點與少類樣本數(shù)據(jù)之間連線,建立關聯(lián)關系,在連線上插值合成樣本。插值樣本一方面避免了在傳統(tǒng)SMOTE算法下插值過于隨機的弊端,另一方面合成數(shù)據(jù)被控制在原來的區(qū)域,不會越界到危險樣本和干擾樣本區(qū)域,兩類數(shù)據(jù)的邊界也不會模糊。改進SMOTE算法的特征屬性插值方式,確保了少數(shù)類數(shù)據(jù)過采樣插值的合理性與可靠性,從根源上杜絕了無效插值和干擾插值,能夠保留原有數(shù)據(jù)集數(shù)據(jù)的分布狀態(tài)和模式。
基于線性插值的過采樣方式得到的數(shù)據(jù)類型過于集中,為使復雜條件下的各指標更加可控,對插值后的樣本做區(qū)間化處理。定義插值后數(shù)據(jù)集中多數(shù)類樣本數(shù)量為Nmax,少數(shù)類樣本數(shù)量為Nmin,計算大數(shù)據(jù)集的非平衡比例?為
則此時需要區(qū)間化均衡處理的過采樣樣本數(shù)據(jù)量m為
給定一組非均衡大數(shù)據(jù)樣本過采樣離散程度區(qū)間集合H={h1,h2,…,hm},區(qū)間化離散程度將避免插值后的數(shù)據(jù)過于集中?;趨^(qū)間化離散程度值對插值后的少數(shù)類樣本集合做區(qū)間化處理,得到一組新的區(qū)間化數(shù)據(jù)集X:
其中,函數(shù)G(x)為高斯隨機函數(shù),經(jīng)過區(qū)間化處理后的樣本數(shù)據(jù)量與插值后的數(shù)據(jù)量保持一致,但樣本區(qū)間的均勻度得到了改善。非平衡大數(shù)據(jù)集在經(jīng)過改進SMOTE 算法插值與均衡化處理后,再基于SVM 算法重新建模,用區(qū)間數(shù)表示大數(shù)據(jù)分類模型的上下界限,則改進后新的非均衡大數(shù)據(jù)集智能SVM分類模型表示如下:
式中,κi表示分類后的數(shù)據(jù)集中的第i個數(shù)據(jù)項;zi表示與xi對應的插值樣本;hj表示與xi不相同的隨機離散程度值。
經(jīng)改進SMOTE算法處理后的大數(shù)據(jù)集平衡度得到改善,再引入?yún)^(qū)間化指標體系后,智能SVM 分類器的功能進一步完善,基于改進SMOTE 算法的數(shù)據(jù)訓練與分類流程如圖3所示。
圖3 基于改進SMOTE算法的大數(shù)據(jù)分類流程
應用改進的SMOTE算法有目的性地針對少數(shù)類樣本插值計算,保證了復制合成的樣本全部為少數(shù)類樣本;而針對合成數(shù)據(jù)的過采樣空間化處理,又解決了數(shù)據(jù)插值過于集中和簇內(nèi)不均衡的狀況。大數(shù)據(jù)集數(shù)據(jù)總量平衡后,再基于改進SMOTE 算法和智能SVM 分類器的特點調(diào)整模型參數(shù)值,將全部待分類的不均衡數(shù)據(jù)代入分類器模型進行訓練,能夠獲得更好的大數(shù)據(jù)分類效果。
為驗證改進SMOTE 分類算法針對非均衡大數(shù)據(jù)的分類性能,搭建一個Hadoop 大數(shù)據(jù)集群系統(tǒng),系統(tǒng)的實驗環(huán)境與軟硬件環(huán)境設置如表1所示。
實驗所用數(shù)據(jù)集來源于加州大學歐文分校的UCI通用數(shù)據(jù)庫,共選擇了6組數(shù)據(jù)集,并計算了少數(shù)類樣本數(shù)量與數(shù)據(jù)集的非平衡度比例,實驗所用樣本數(shù)據(jù)集的具體構成如表2所示。
分類算法的規(guī)模成長性是指在Hadoop 集群節(jié)點數(shù)量不變的前提下,擴大數(shù)據(jù)集規(guī)模的能力,規(guī)模成長性越強,表明算法的性能更強,適用性更好。實驗中集群節(jié)點設定為16 個,分別取1、12、14、18和116倍的原非均衡數(shù)據(jù)集測試,并觀測經(jīng)典SMOTE 算法和改進SMOTE 算法下數(shù)據(jù)集的規(guī)模成長性情況,如表3和表4所示。
表4 改進SMOTE算法數(shù)據(jù)集的規(guī)模成長性 s
根據(jù)表中數(shù)據(jù)顯示,在5 種數(shù)據(jù)集中,每種原型倍數(shù)下改進SMOTE算法的數(shù)據(jù)規(guī)模成長性都優(yōu)于傳統(tǒng)算法,具有更強的規(guī)模數(shù)據(jù)集擴展能力,將會帶來更強的數(shù)據(jù)分類性能。
為了更直觀地對比不同算法下的非均衡大數(shù)據(jù)分類性能,除與經(jīng)典SMOTE算法對比之外,還引入了神經(jīng)網(wǎng)絡方法參與對比。比較3 種分類算法的AUC(Area under the Curve)性能。AUC 是判斷數(shù)據(jù)二次分類性能的重要指標,在不同數(shù)據(jù)集下各算法的AUC指標值如表5所示。
表5 不同算法下的AUC比較
在處理各類非均衡數(shù)據(jù)集過程中,神經(jīng)網(wǎng)絡方法的性能最弱,尤其是數(shù)據(jù)集的屬性較多時,改進SMOTE 分類算法的優(yōu)勢較為明顯。利用MAT‐LAB8.0軟件仿真,分別對比3種算法在不同非均衡數(shù)據(jù)集分類過程中的在G-mean 值和F-measure值。F-measure值的統(tǒng)計分析結果如圖4所示。
圖4 針對各數(shù)據(jù)集不同算法的F-measure值
在F-measure 值的綜合表現(xiàn)方面,基于神經(jīng)網(wǎng)絡的分類方法性能表現(xiàn)最差,改進SMOTE 分類算法的F-measure值超過90%。
G-mean值的統(tǒng)計分析結果如圖5所示。
圖5 針對各數(shù)據(jù)集不同算法的G-mean值
在G-mean 值的測量與統(tǒng)計分析中,經(jīng)典SMOTE 算法的性能衰減過快,尤其是針對屬性數(shù)較多的Iris數(shù)據(jù)集和Heart,神經(jīng)網(wǎng)絡算法的性能表現(xiàn)與經(jīng)典SMOTE 算法相當,而此時改進SMOTE算法針對非均衡大數(shù)據(jù)集分類優(yōu)勢更為明顯。通過算法性能驗證及數(shù)據(jù)對比分析可知,優(yōu)化數(shù)據(jù)插值方式能夠顯著改善經(jīng)典SMOTE 算法的性能,獲得更好的分類效果。
當前大數(shù)據(jù)的應用范圍和領域不斷拓展,對于非平衡大數(shù)據(jù)的研究,逐漸成了數(shù)據(jù)分析和挖掘過程中的一個重點問題。非平衡大數(shù)據(jù)集的主要特征在于數(shù)據(jù)總量和結構的不均衡性,這種數(shù)據(jù)總量和類別上的差異,會導致數(shù)據(jù)分類精度的降低,以及少數(shù)類關鍵數(shù)據(jù)特征提取難度的增加。在一些特定的大數(shù)據(jù)分析場景中,少數(shù)類數(shù)據(jù)中往往包含著關鍵的信息,如果對數(shù)據(jù)集的分類不準確,將導致這些核心數(shù)據(jù)的丟失。盡管經(jīng)典SMOTE算法為非平衡大數(shù)據(jù)分類提供了一條解決路徑,但該算法在同類數(shù)據(jù)插值方面存在局限性,限制了算法性能的發(fā)揮。本文在經(jīng)典SMOTE 算法的基礎上,采用一種分簇理念解決了原有算法在插值方面過于隨機的缺陷,進一步提高了非平衡大數(shù)據(jù)的分類精度。經(jīng)過優(yōu)化的SMOTE算法的優(yōu)勢在于能夠更好地處理數(shù)據(jù)集中多數(shù)類數(shù)據(jù)與少數(shù)類數(shù)據(jù)間的對立關系,改善大數(shù)據(jù)集的不均衡狀況。