














摘 要: "針對(duì)大數(shù)據(jù)環(huán)境下并行支持向量機(jī)(SVM)算法存在冗余數(shù)據(jù)敏感、參數(shù)選取困難、并行化效率低等問(wèn)題,提出了一種基于Relief和BFO算法的并行SVM 算法RBFO-PSVM。首先,基于互信息和Relief算法設(shè)計(jì)了一種特征權(quán)值計(jì)算策略MI-Relief,剔除數(shù)據(jù)集中的冗余特征,有效地降低了冗余數(shù)據(jù)對(duì)并行SVM分類的干擾;接著,提出了基于MapReduce的MR-HBFO算法,并行選取SVM的最優(yōu)參數(shù),提高SVM的參數(shù)尋優(yōu)能力;最后,提出核聚類策略KCS,減小參與并行化訓(xùn)練的數(shù)據(jù)集規(guī)模,并提出改進(jìn)CSVM反饋機(jī)制的交叉融合級(jí)聯(lián)式并行支持向量機(jī)CFCPSVM,結(jié)合MapReduce編程框架并行訓(xùn)練SVM,提高了并行SVM的并行化效率。實(shí)驗(yàn)表明, RBFO-PSVM算法對(duì)大型數(shù)據(jù)集的分類效果更佳,更適用于大數(shù)據(jù)環(huán)境。
關(guān)鍵詞: "SVM算法; MapReduce; CFCPSVM模型; MI-Relief策略; MR-HBFO算法
中圖分類號(hào): "TP311 """文獻(xiàn)標(biāo)志碼: A
文章編號(hào): "1001-3695(2022)02-021-0447-09
doi:10.19734/j.issn.1001-3695.2021.08.0314
Parallel SVM algorithm based on Relief and "bacterial foraging optimization algorithm
Hu Jian1,2, Wang Xiangtai1, Mao Yimin1, Liu Wei2
(1.School of Information Engineering, Jiangxi University of Science amp; Technology, Ganzhou Jiangxi 341000, China; 2.Dept. of Information Engineering, Gannan University of Science amp; Technology, Ganzhou Jiangxi 341000, China)
Abstract: "Aiming at the problems of parallel support vector machine(SVM) algorithm in big data environment such as redundant data sensitivity,difficulty in parameter selection,and low parallelization efficiency,this paper proposed a parallel SVM algorithm using Relief and bacterial foraging optimization(BFO) algorithm based on MapReduce(RBFO-PSVM).Firstly,the algorithm designed a feature weight calculation strategy(MI-Relief),which used mutual information to improve the weight calculation function of Relief algorithm to eliminate redundant features in the data set and effectively reduce redundant data to support parallelism.Secondly,this paper proposed a hybrid BFO algorithm based on MapReduce(MR-HBFO),which selected the optimal parameters of SVM in parallel,and solved the problem of difficult selection of SVM parameters.Finally,it proposed the kernel clustering strategy(KCS) to reduce the size of the data set involved in parallel training,and proposed a cross-fusion cascaded parallel SVM(CFCPSVM) to improve the cascade SVM(CSVM) feedback mechanism.
It
trained SVM by combining with the MapReduce programming framework,and this improved the parallelization efficiency of parallel SVM.Experiments show that the RBFO-PSVM algorithm has a better classification effect on large data sets and is more suitable for large data environments.
Key words: "SVM algorithm; MapReduce; CFCPSVM model; MI-Relief strategy; MR-HBFO algorithm
0 引言
隨著信息技術(shù)的迅速發(fā)展,大數(shù)據(jù)在互聯(lián)網(wǎng)、社交網(wǎng)絡(luò)以及物聯(lián)網(wǎng)等領(lǐng)域得到了廣泛的應(yīng)用。相較于傳統(tǒng)數(shù)據(jù),大數(shù)據(jù)具有類型多樣、數(shù)據(jù)規(guī)模大、流速快和價(jià)值密度低等特征,使得傳統(tǒng)的分類算法難以處理。近年來(lái),并行化技術(shù)的發(fā)展為大數(shù)據(jù)的處理提供了一個(gè)新的視野,而SVM作為一種基于結(jié)構(gòu)風(fēng)險(xiǎn)最小化實(shí)現(xiàn)的分類算法,具有強(qiáng)大的泛化能力和較好的魯棒性[1],被廣泛應(yīng)用于圖像識(shí)別[2]、文本分類[3]、生物醫(yī)學(xué)[4]、人臉識(shí)別[5]、股票預(yù)測(cè)[6]等領(lǐng)域。因此,基于大數(shù)據(jù)的并行SVM算法已經(jīng)成為當(dāng)前并行分類算法的研究熱點(diǎn)。
MapReduce是Google公司提出的一種處理海量數(shù)據(jù)的分布式并行運(yùn)算框架[7],具有操作簡(jiǎn)單、成本低廉、負(fù)載均衡以及系統(tǒng)擴(kuò)展性強(qiáng)等優(yōu)點(diǎn),目前已被廣泛應(yīng)用于大數(shù)據(jù)分析和處理領(lǐng)域。基于此,研究人員設(shè)計(jì)將SVM遷移到MapReduce框架[8],開發(fā)出適用于大數(shù)據(jù)環(huán)境下的并行SVM。例如文獻(xiàn)[9,10]提出的基于MapReduce的并行SVM模型,都在一定程度上提高了并行SVM處理大型數(shù)據(jù)集的能力。然而隨著數(shù)據(jù)復(fù)雜性和多樣性的增加,不相關(guān)的冗余數(shù)據(jù)會(huì)嚴(yán)重影響并行SVM的分類準(zhǔn)確度。為了有效地識(shí)別并刪除數(shù)據(jù)集中的冗余數(shù)據(jù),Cao等人[11]提出了基于MapReduce和自適應(yīng)特征權(quán)值更新的SVM算法(PAFWU-SVM),該算法每次從初始特征空間中選擇多個(gè)特征,并隨機(jī)自適應(yīng)融合,融合后的特征在一定程度上減小了冗余數(shù)據(jù)對(duì)SVM分類的影響;然而該算法改變了初始特征空間分布,忽略了弱相關(guān)特征對(duì)分類的影響。為了從原始特征空間中更加準(zhǔn)確地識(shí)別冗余數(shù)據(jù),Zhang等人[12]提出了基于Relief和混合核函數(shù)的SVM算法,利用Relief進(jìn)行特征選擇,通過(guò)計(jì)算每個(gè)特征的相關(guān)統(tǒng)計(jì)量之和來(lái)評(píng)估特征子集的重要性,根據(jù)特征權(quán)值來(lái)衡量特征區(qū)分類別的能力。該算法有效地降低了冗余數(shù)據(jù)對(duì)SVM性能的干擾,但在計(jì)算特征權(quán)值時(shí)沒(méi)有考慮特征之間的冗余性對(duì)分類的不利影響,導(dǎo)致算法的分類準(zhǔn)確度降低。
雖然降低冗余數(shù)據(jù)的干擾能夠有效地提高并行SVM算法的分類準(zhǔn)確率, 但是參數(shù)的選取對(duì)并行SVM的影響同樣不容忽視。近年來(lái),群智能算法憑借著尋優(yōu)速度快、并行處理能力強(qiáng)和全局尋優(yōu)等優(yōu)勢(shì)[13],被眾多研究者應(yīng)用于并行SVM的參數(shù)尋優(yōu)問(wèn)題中。Hu等人[9]提出了基于杜鵑搜索(cuckoo search,CS)的并行SVM算法,CS算法設(shè)置了萊維隨機(jī)搜索路徑和基于萊維分布的搜索步長(zhǎng),再利用CS和十折交叉驗(yàn)證來(lái)選取SVM的最優(yōu)參數(shù)。滿蔚仕等人[14]提出了基于MapReduce和NPP-PSO的分布式SVM算法,在Hadoop平臺(tái)上實(shí)現(xiàn)了NPP-PSO,將數(shù)據(jù)集劃分成多個(gè)子集,并在map端對(duì)每個(gè)子集使用粒子群優(yōu)化算法并行尋優(yōu),在reduce端提取子集中的最佳適應(yīng)度粒子,從而得到適用于整個(gè)數(shù)據(jù)集的SVM最優(yōu)參數(shù)。以上算法都在一定程度上提高了并行SVM選取最優(yōu)參數(shù)的能力,但也存在尋優(yōu)過(guò)程復(fù)雜、易陷入局部最優(yōu)等問(wèn)題。
在處理大型數(shù)據(jù)集時(shí)參數(shù)的選取嚴(yán)重影響并行SVM的分類性能,然而并行化效率的提高對(duì)并行SVM性能的影響同樣巨大。為了提高并行SVM對(duì)大型數(shù)據(jù)集的并行處理能力,Jadhav等人[15]提出了基于MapReduce框架的級(jí)聯(lián)式并行SVM(MR-PSVM)算法,將級(jí)聯(lián)式SVM遷移到MapReduce框架上,使用map函數(shù)分層訓(xùn)練SVM,在reduce函數(shù)中將SVM訓(xùn)練得到的子集兩兩合并輸入下一層,在最后一層得到全局SVM模型。該算法充分利用MapReduce框架的并行優(yōu)勢(shì),有效地提高了SVM的并行化效率,然而這種并行化結(jié)構(gòu)的反饋機(jī)制耗時(shí)較長(zhǎng),不利于二次迭代訓(xùn)練。為了改進(jìn)耗時(shí)的反饋機(jī)制,Zhang等人[16]提出了一種改進(jìn)的級(jí)聯(lián)式并行SVM模型,該模型通過(guò)比較第二層訓(xùn)練得到的支持向量集的變化來(lái)判斷并行SVM是否收斂到全局最優(yōu),減少了反饋機(jī)制的耗時(shí),有效地提高了并行SVM的并行化效率,然而模型中反饋的數(shù)據(jù)融合過(guò)程計(jì)算量較大,所需內(nèi)存較多。
盡管上述算法取得了一定成就,但也暴露了算法在其他方面的不足。因此,如何設(shè)計(jì)有效且合理的冗余數(shù)據(jù)刪減策略,如何簡(jiǎn)化尋優(yōu)過(guò)程、提高并行SVM的參數(shù)尋優(yōu)能力,如何合理地利用計(jì)算機(jī)資源提高并行SVM的并行化效率仍是亟待解決的問(wèn)題。針對(duì)以上三個(gè)問(wèn)題,本文提出了基于Relief和BFO的并行SVM算法RBFO-PSVM。該算法的主要思想包括:a)提出了基于互信息和Relief算法的特征權(quán)值計(jì)算策略MI-Relief,刪減冗余數(shù)據(jù),降低冗余數(shù)據(jù)對(duì)并行SVM的干擾;b)提出了基于MapReduce的MR-HBFO算法,實(shí)現(xiàn)并行參數(shù)尋優(yōu),提高了并行SVM的參數(shù)尋優(yōu)能力;c)提出了縮減數(shù)據(jù)集和改進(jìn)CSVM反饋機(jī)制的CFCPSVM,并基于MapReduce構(gòu)建CFCPSVM模型,提高了算法的并行化效率。
1 相關(guān)概念及算法介紹
1.1 相關(guān)概念
定義1 "互信息。互信息[17]用于計(jì)算一個(gè)隨機(jī)變量中包含的關(guān)于另一個(gè)隨機(jī)變量的信息量。假設(shè)兩個(gè)隨機(jī)變量 X和Y,p(x)和p(y) 分別是 X 和 Y 的概率密度, p(x,y) 為聯(lián)合概率密度,則互信息MI (X;Y) 可以定義為
MI (X;Y)=∑ x∈X ∑ y∈Y p(x,y) log "2 p(x,y) p(x)p(y) """(1)
定義2 "核平方歐氏距離。核平方歐氏距離[18]用于計(jì)算兩個(gè)向量在再生希爾伯特空間中的歐氏距離。假設(shè) Φ 是一個(gè)從低維的輸入空間 X 到高維的空間的 "Euclid Math OneHAp
映射且存在核函數(shù) K(x i,x j) ,對(duì)于任意 x i,x j∈X ,都有 K(x i,x j)=Φ(x i)·Φ(x j) ,則核平方歐氏距離可以定義為
‖Φ(x i)-Φ(x j)‖2=K(x i,x i)-2K(x i,x j)+K(x j,x j) ""(2)
1.2 相關(guān)算法
1.2.1 Relief算法
Relief算法是一種基于樣本學(xué)習(xí)的多變量過(guò)濾式特征選擇算法[19]。設(shè)有訓(xùn)練數(shù)據(jù)集 D={x i,y i}N i=1 ,樣本 i 為 x i={x i1,x i2,…,x iF} , y i∈{+1,-1} 。兩個(gè)樣本在第 i 維上的差異可用絕對(duì)誤差距離表示,算法每次從樣本集合中隨機(jī)選取樣本 x n(1≤n≤N) ;從 C={c 1,c 2} 中各選擇一個(gè)距離 x n 最近的同類樣本NH (x n) 和異類樣本NM (x n) ,則特征 t∈F 的權(quán)值更新公式為
w t=w t+ 1 r "diff (xt n ,NM t(x n))- 1 r "diff (xt n ,NH t(x n) ""(3)
其中: rgt;1 表示上述過(guò)程的迭代次數(shù)。可知,無(wú)論特征是何種類型,diff (x 1,x 2)都屬于[0,1],式(5)迭代r次后0≤w t≤1 。
1.2.2 細(xì)菌覓食優(yōu)化算法
細(xì)菌覓食優(yōu)化算法(bacterial foraging optimization,BFO)[20]是通過(guò)模擬細(xì)菌覓食行為而提出的一種仿生類優(yōu)化算法,該算法主要模擬細(xì)菌的趨化操作、復(fù)制操作和遷徙操作來(lái)進(jìn)行尋優(yōu)。設(shè)細(xì)菌初始種群大小為 S ,細(xì)菌 i表示為θi={θi 1,θi 2,…,θi D} ,其中D 表示參數(shù)維數(shù), θi(j,k,l) 表示細(xì)菌 i 完成第 j 次趨化、第 k 次復(fù)制和第 l 次遷徙操作后的位置,細(xì)菌的尋優(yōu)操作如下:
a)趨化操作,包括翻轉(zhuǎn)和游動(dòng)兩個(gè)基本動(dòng)作。設(shè) C(i) 為細(xì)菌 i 的游動(dòng)步長(zhǎng), Δ (i) 表示隨機(jī)方向上的單位向量。細(xì)菌 i 的趨化操作可以表示為
θi(j+1,k,l)=θi(j,k,l)+C(i) "Δ (i) ""Δ T (i) Δ (i) """"(4)
b)復(fù)制操作。將細(xì)菌按照適應(yīng)度均值降序排序,淘汰后半部分細(xì)菌,復(fù)制前半部分細(xì)菌,新復(fù)制的細(xì)菌將繼承母體細(xì)菌的位置和步長(zhǎng)。
c)遷徙操作。設(shè)細(xì)菌遷徙操作的執(zhí)行概率為 p ed , r∈[0,1] ,細(xì)菌 i 執(zhí)行遷徙操作的公式為
P i(j,k,l)= "P i(j,k,l) "r gt; p ed
(m′ 1,m′ 2,…,m′ D) "r lt; p ed """"(5)
1.2.3 級(jí)聯(lián)式支持向量機(jī)
級(jí)聯(lián)式支持向量機(jī)(CSVM)[21]將原問(wèn)題分解成多個(gè)相互獨(dú)立的子問(wèn)題,分層優(yōu)化子問(wèn)題,直到最后一層融合成原問(wèn)題的最優(yōu)解。具體操作步驟如下:a)將原數(shù)據(jù)集劃分成多個(gè)相互獨(dú)立的子集;b)使用SMO(sequential minimal optimization)算法[22]并行訓(xùn)練各子集;c)將上層訓(xùn)練得到的支持向量?jī)蓛扇诤陷斎胂乱粚樱貜?fù)步驟b)c)直到只剩下一個(gè)數(shù)據(jù)集;d)構(gòu)造SVM分類器并反饋到第一層;e)將第一層各子集中不滿足KKT條件的樣本與最后一層的數(shù)據(jù)集合并用于下次迭代,直到模型滿足精度要求,迭代停止。CSVM的結(jié)構(gòu)如圖1所示。
2 RBFO-PSVM算法
2.1 算法思想
本文提出的RBFO-MRSVM算法主要包含三個(gè)階段:a)冗余數(shù)據(jù)刪減,提出MI-Relief策略改進(jìn)Relief算法的權(quán)重判定函數(shù),降低冗余數(shù)據(jù)對(duì)并行SVM的干擾;b)并行SVM參數(shù)尋優(yōu),基于MapReduce框架并行訓(xùn)練局部SVM,并提出自適應(yīng)翻轉(zhuǎn)方向和游動(dòng)步長(zhǎng)的MR-HBFO算法,利用MR-HBFO算法對(duì)SVM進(jìn)行參數(shù)尋優(yōu),提高SVM的參數(shù)尋優(yōu)能力;c)并行SVM模型構(gòu)建,提出基于簡(jiǎn)化核空間距離的KCS策略以減小參與訓(xùn)練的數(shù)據(jù)集規(guī)模,通過(guò)改進(jìn)CSVM的反饋機(jī)制得到CFCPSVM模型,并基于MapReduce構(gòu)建CFCPSVM模型,得到全局并行SVM模型。
2.2 冗余數(shù)據(jù)刪減
當(dāng)前大數(shù)據(jù)環(huán)境下的并行SVM算法存在冗余數(shù)據(jù)干擾算法決策面構(gòu)造的問(wèn)題,如果讓冗余數(shù)據(jù)參與訓(xùn)練,將會(huì)使得決策面偏離最大間隔平面中心,從而降低算法的分類準(zhǔn)確度。為了解決此問(wèn)題,本文提出了MI-Relief策略來(lái)識(shí)別并刪除冗余數(shù)據(jù),MI-Relief策略的主要實(shí)現(xiàn)過(guò)程如下:
a)數(shù)據(jù)集劃分。使用MapReduce自帶的數(shù)據(jù)集劃分策略對(duì)原數(shù)據(jù)集進(jìn)行劃分,得到數(shù)據(jù)塊 chunk 1,chunk 2,…,chunk h 。
b)特征權(quán)值計(jì)算。利用Relief算法從特征中選擇一個(gè)樣本,根據(jù)樣本與同類、異類近鄰樣本的絕對(duì)誤差距離計(jì)算特征權(quán)值,迭代 r 次后得到該特征的初始權(quán)值。全部特征計(jì)算完初始權(quán)值后得到按權(quán)值降序排序的特征集合 M={m 1,m 2,…,m n} ,權(quán)值降序排序?yàn)?w 1m 1gt;w 2m 2gt;…gt;w nm n 。
c)特征冗余度計(jì)算。Relief計(jì)算得到的特征權(quán)值只能度量特征區(qū)分類別的能力,未考慮特征之間的冗余度對(duì)分類的影響。為了降低高冗余度特征的權(quán)值,提出基于互信息的特征冗余度度量公式FMI將特征按權(quán)值降序排序,從初始權(quán)值最大的特征開始,依次計(jì)算特征冗余度,并將計(jì)算完冗余度的特征加入到特征集合 S 中。
定理1 "特征冗余度度量[23]公式FMI。假設(shè)計(jì)算完冗余度的特征為 m′ j∈S ,初始化 S={m 1} ,則未計(jì)算冗余度的特征集合 S′=M-S ,特征 m i∈S′ 關(guān)于特征子集 S 的冗余度可以表示為
R i=∑ m′ j∈S "MI (m i;m′ j) ""(6)
d)特征權(quán)值更新。通過(guò)Relief算法計(jì)算特征的初始權(quán)值,接著使用特征冗余度度量公式FMI計(jì)算特征冗余度,為了降低冗余度高的特征的初始權(quán)值,提出特征權(quán)值更新公式FWU重新計(jì)算特征權(quán)值。將計(jì)算好權(quán)值的特征降序排序,取前 k 個(gè)特征 F′ 組成的數(shù)據(jù)集用于后續(xù)工作。
定理2 "特征權(quán)值更新公式FWU。已知Relief算法計(jì)算得到特征 m i 的權(quán)值大小為 w im i , R i 表示特征 m i 的冗余度,令 w′ i 表示特征 m i 更新之后的權(quán)值,則使用特征權(quán)值更新公式FWU重新定義的特征權(quán)值可以表示為
w′ i=w im i-R i/ ∑ n t=1 R2 t """(7)
證明 "根據(jù)式(5)權(quán)值的計(jì)算公式可知0≤[diff (xt n, NM t(x n)) -diff (xt n, NH t(x n))]≤1,迭代r次后∑ r i = 1 "1 r [ diff (xt n, NM t(x n))- diff (xt n ,NH t(x n))]≤1,即初始權(quán)重w t∈[0,1]。特征的冗余度R i,利用歸一化思想轉(zhuǎn)換為R i/ ∑ n t=1 R2 t ,因?yàn)?∑ n t=1 R2 t ≥R i,所以R i/ ∑ n t=1 R2 t ∈[0,1],又因?yàn)闅w一化后與w im i 具有相同的值域,即特征之間的冗余度會(huì)對(duì)特征的初始權(quán)值產(chǎn)生顯著影響,所以可以利用式(9)來(lái)重新度量特征的重要性。證畢。
使用MI-Relief策略刪減冗余數(shù)據(jù)的偽代碼如算法1所示。
算法1 冗余數(shù)據(jù)刪減
輸入:原始數(shù)據(jù)集標(biāo)簽 C={c 1,c 2} ;原始數(shù)據(jù)集特征集合為 F={f 1,f 2,…,f n} 。
輸出:去除噪聲后的特征集合為 F′={f′ 1,f′ 2,…,f′ n} 。
split(); //數(shù)據(jù)集劃分
for each data chunk
map();
for each "f i∈F "do
calculate "w t "by Eq(3); //計(jì)算初始特征權(quán)值
sort feature by "w t "descending order;
end for
for each "m i∈M "do
calculate "R i "by Eq(6); //計(jì)算特征冗余度
calculate "w′ i "by Eq(7); //更新特征權(quán)值
sort feature by "w′ i "descending order;
end for
return the first "k "features to get "F′
2.3 并行SVM參數(shù)尋優(yōu)
目前,基于群智能優(yōu)化的并行SVM算法在模型訓(xùn)練的過(guò)程中使用群智能算法選取合適的參數(shù),能夠明顯提高并行SVM算法的分類性能。BFO算法作為群智能算法的一員, 具有并行搜索和易跳出局部最優(yōu)的特點(diǎn),然而在大型數(shù)據(jù)集的尋優(yōu)過(guò)程中,BFO算法存在后期收斂乏力、尋優(yōu)精度不高、多樣性不足和尋優(yōu)效率低等問(wèn)題。為了解決這些問(wèn)題,提高并行SVM算法的參數(shù)尋優(yōu)能力,本文提出了基于MapReduce的MR-HBFO算法進(jìn)行并行參數(shù)尋優(yōu),MR-HBFO算法具體過(guò)程如下:
a)參數(shù)更新。在參數(shù)更新模塊中,啟動(dòng)MapReduce作業(yè)更新參數(shù)值,map函數(shù)接收帶有標(biāo)志的細(xì)菌,此時(shí)形成的鍵值對(duì)為 〈bacterialID,bacterial〉,其中,bacterialID表示細(xì)菌ID;bacterial表示細(xì)菌個(gè)體包含的參數(shù)信息,包括參數(shù)向量 B =(C,γ)(C表示懲罰系數(shù),γ表示RBF核函數(shù)參數(shù)),趨化次數(shù)N c,復(fù)制次數(shù)N re,遷徙次數(shù)N ed,游動(dòng)步長(zhǎng)ss,翻轉(zhuǎn)方向Φ(j),遷徙概率p ed,個(gè)體最優(yōu)參數(shù)P local,全局最優(yōu)參數(shù)P global。其他系數(shù)如c 1、c 2和r 1、r 2 等,由用戶自行配置。在map函數(shù)中,為了解決尋優(yōu)算法后期收斂乏力的問(wèn)題,提出了自適應(yīng)步長(zhǎng)公式ASS更新細(xì)菌的尋優(yōu)步長(zhǎng)。
定理3 "自適應(yīng)步長(zhǎng)[24]公式ASS。已知 N re 是最大復(fù)制迭代次數(shù), SS max 和 SS min 分別是細(xì)菌的最大和最小游動(dòng)步長(zhǎng), n re 為細(xì)菌 i 當(dāng)前復(fù)制操作的迭代次數(shù),則MR-HBFO算法中自適應(yīng)步長(zhǎng)公式ASS可表示為
SS′ i=(SS max-SS min)× N re-n re N re +SS min ""(8)
同時(shí)為了解決尋優(yōu)算法尋優(yōu)精度不高的問(wèn)題,提出了交互式翻轉(zhuǎn)公式IF更新細(xì)菌的尋優(yōu)方向。
定理4 "交互式翻轉(zhuǎn)公式IF。假設(shè) Δ "rand 表示任意翻轉(zhuǎn)方向, c 1 是細(xì)菌 i 趨向個(gè)體最優(yōu)解的速率, c 2 是細(xì)菌 i 趨向全體最優(yōu)解的調(diào)整率, r 1 和 r 2 是0~1的隨機(jī)數(shù), θ pbest 是個(gè)體最優(yōu)解, θ gbest 是全局最優(yōu)值, N c 為最大趨化次數(shù), n c 為當(dāng)前趨化次數(shù), θ i 表示細(xì)菌當(dāng)前位置,則翻轉(zhuǎn)公式AT可表示為
Δ "t+1(i)=α Δ "rand+(1-α)[c 1r 1(θ pbest-θ i)+c 2r 2(θ gbest-θ i)]
α=(N c-n c)/N c
θi(j+1,k,l)=θi(j,k,l)+SS′ i× "Δ (i) ""Δ T( i) Δ (i) """"(9)
證明 "由于 Δ (i)方向向量受 Δ "rand 和 c 1r 1(θ pbest-θ i)+c 2r 2(θ gbest-θ i) 兩部分控制,所以 Δ (i) 表示的方向是隨 α 的減小而變化的, α 控制細(xì)菌在尋優(yōu)初期的翻轉(zhuǎn)方向以隨機(jī)產(chǎn)生為主,隨著趨化次數(shù)的增加 α 逐漸減小,細(xì)菌的翻轉(zhuǎn)方向主要由自我認(rèn)知部分 c 1r 1(θ pbest-θ i) 和群體交互部分 c 2r 2(θ gbest-θ i) 決定,利用 Δ (i)/ "Δ T (i) Δ (i) "將翻轉(zhuǎn)方向歸一化成單位向量,控制細(xì)菌的趨化方向。證畢。
參數(shù)更新之后,map函數(shù)將參數(shù)更新后的細(xì)菌輸出到reduce函數(shù)。第一個(gè)模塊中的reduce函數(shù)用于對(duì)map的輸出進(jìn)行排序,并將所有結(jié)果合并到一個(gè)輸出文件中;此外,將菌群保存在分布式文件系統(tǒng)中,以供其他兩個(gè)模塊調(diào)用。
細(xì)菌參數(shù)更新的map和reduce函數(shù)的偽代碼如算法2所示。
算法2 細(xì)菌參數(shù)更新
輸入: N c,N re,N ed,ss,p ed,P local,P global 。
輸出: newΦ,newss,newb 。
function map(key: bacterialID ,value: bacterial )
initialization:
bacterialID=key ;
bacterial=value ;
//extract the information from the bacterial
extract_Info( n c,n re,n ed,ss,p ed,P local,P global );
generate random number "r 1 "and "r 2 ;
for each "b i "in "B "do
//update bacterial swimming step and flip direction
for each "j "in "Dimension "do
calculate "newΦ(j) "by Eq(9)
calculate "newss j "by Eq(8)
end for
update( bacterial , newΦ(i) , newss i );
end for
emit( bacterialID,bacterial );
end function
function reduce( key:bacterialID,ValList:bacterial )
for each "Value "in "ValList nbsp;do
emit( key,value );
end for
end function
b)并行尋優(yōu)。在并行尋優(yōu)模塊中啟動(dòng)MapReduce作業(yè),map函數(shù)先從分布式緩存中取得菌群數(shù)據(jù),提取每個(gè)細(xì)菌的參數(shù)向量;接著細(xì)菌執(zhí)行趨化、復(fù)制和遷徙操作,為了更準(zhǔn)確地篩選精英細(xì)菌,提出方差復(fù)制公式FVV度量細(xì)菌的尋優(yōu)能力,解決了尋優(yōu)算法多樣性不足的問(wèn)題。
定理5 "方差復(fù)制[25]公式FVV。已知尋優(yōu)參數(shù)的維度為 d ,令 X(i,j,m) 表示細(xì)菌 i 在第 j 次趨化操作后第 m 維適應(yīng)度的值, ""m 表示當(dāng)前趨化次數(shù)中第 m 維的平均值,則細(xì)菌個(gè)體 i 的適應(yīng)度值方差可以表示為
FVV(i)=∑ N c j=1 ""1 d ×∑ d m=1 [X(i,j,m)- "m]2 """(10)
隨后計(jì)算更新后的菌群的適應(yīng)度。在計(jì)算細(xì)菌適應(yīng)度的過(guò)程中,使用當(dāng)前參數(shù)訓(xùn)練SVM分類器,并為每個(gè)樣本添加一個(gè)標(biāo)記屬性,用于標(biāo)記該樣本是否是候選SV(support vector)或非支持向量;再用測(cè)試集測(cè)試分類器得到正確分類的樣本數(shù)。為了更加準(zhǔn)確地度量細(xì)菌適應(yīng)度、加快算法收斂速度,提出了適應(yīng)度度量公式ASV。
定理6 "適應(yīng)度度量[24]公式ASV。假設(shè)使用當(dāng)前參數(shù)構(gòu)建SVM分類器訓(xùn)練得到正確分類的樣本數(shù) S R ,支持向量個(gè)數(shù) S sv 。若訓(xùn)練集樣本數(shù)為 S ,權(quán)衡系數(shù)為 λ ,則細(xì)菌當(dāng)前的適應(yīng)度可表示為
fitness=λ× S R S +(1-λ)×(1- S sv S ) ""(11)
最后,輸出鍵值對(duì) 〈fitnessID,pfValue〉 ,其中, fitnessID 表示參數(shù)對(duì)應(yīng)的適應(yīng)度, pfValue 表示參數(shù)值和樣本的標(biāo)記屬性。map函數(shù)將新的鍵值對(duì)發(fā)送給reduce函數(shù);reduce函數(shù)整理相同 fitnessID 的 pfvalue 值,按照適應(yīng)度大小在分布式文件系統(tǒng)中降序排序。
并行參數(shù)尋優(yōu)的map和reduce函數(shù)的偽代碼如算法3所示。
算法3 并行參數(shù)尋優(yōu)
輸入:path of HDFS。
輸出:鍵值對(duì) [fitnessID,pfValue] 。
function map(key: fitnessID ,value: pfValue )
initialization:
fitnessID=key ;
pfValue=value ;
//read the bacterial swarm from distributed cache
read( Swarm );
for each "bacterial "in "swarm "do
for ( n ed=1 ; n ed≤N ed ; n ed+ + ) //遷徙循環(huán)
for ( n re=1 ; n re≤N re ; n re+ + ) //復(fù)制循環(huán)
for ( n c=1 ; n c≤N c;n c+ + ) //趨化循環(huán)
chemotaxis( bacterial ); //執(zhí)行趨化操作
end for
train SVM classifier;
calculate_fitness( f C,γ ) by Eq(11); //計(jì)算適應(yīng)度
mark candidate support vector and non-support vector; /*標(biāo)記候選SV和非支持向量*/
end for
descending_sort( swarm ); //按適應(yīng)度方差降序排序
reproduction( swarm ) by Eq(10); //執(zhí)行復(fù)制操作
end for
elimination_dispersion( swarm ); //執(zhí)行遷徙操作
newKey=fitnessID ;
newValue=pfValue ;
end for
end function
function reduce( key:fitnessID , ValList:pfValue )
initialization:
for each "value "in "ValList
maxFitness=extractmaxFitness ;
count=count+1 ;
end for
emit( key,(optimalParameter,MarkingF) );
//輸出各數(shù)據(jù)塊的最優(yōu)參數(shù)和標(biāo)記屬性
c)數(shù)據(jù)合并。MR-HBFO算法在參數(shù)更新模塊初始化菌群和更新參數(shù)并將參數(shù)提供給并行尋優(yōu)模塊;并行尋優(yōu)模塊負(fù)責(zé)算法的尋優(yōu)操作,控制細(xì)菌依次執(zhí)行趨化循環(huán)、復(fù)制循環(huán)和遷徙循環(huán),并在每次跳出趨化循環(huán)時(shí)計(jì)算細(xì)菌的適應(yīng)度值。數(shù)據(jù)合并模塊的主要任務(wù)是整理參數(shù)更新模塊和并行尋優(yōu)模塊的輸出,通過(guò)比較適應(yīng)度值得到最大適應(yīng)度值對(duì)應(yīng)的最優(yōu)參數(shù)。新的適應(yīng)度函數(shù)值由并行尋優(yōu)模塊計(jì)算得到,并與個(gè)體最優(yōu)適應(yīng)度值比較,若大于個(gè)體最優(yōu),則更新個(gè)體最優(yōu);若有個(gè)體最優(yōu)適應(yīng)度大于全局最優(yōu),則更新全局最優(yōu)適應(yīng)度值。最后,更新參數(shù)信息并保存在分布式文件系統(tǒng)中,用于下次迭代尋優(yōu)。尋優(yōu)達(dá)到最大迭代次數(shù)時(shí)尋優(yōu)算法終止,輸出SVM的最優(yōu)參數(shù)和標(biāo)記屬性。
2.4 并行SVM模型構(gòu)建
當(dāng)前大數(shù)據(jù)環(huán)境下基于并行SVM的分類算法中,大多是將原始數(shù)據(jù)集分割成多個(gè)小數(shù)據(jù)集,然后在各個(gè)小數(shù)據(jù)集上并行訓(xùn)練SVM,層層迭代之后形成級(jí)聯(lián)式并行SVM結(jié)構(gòu),這種結(jié)構(gòu)在一定程度上提高了SVM處理大型數(shù)據(jù)集的能力。然而,級(jí)聯(lián)式并行SVM結(jié)構(gòu)的反饋機(jī)制耗時(shí)較長(zhǎng),且節(jié)點(diǎn)個(gè)數(shù)會(huì)隨著數(shù)據(jù)集規(guī)模的增加而增加,造成分類準(zhǔn)確度的損失。為了提高并行SVM的并行化效率和減小參與訓(xùn)練的數(shù)據(jù)規(guī)模,提出了基于MapReduce的CFCPSVM模型。該模型的構(gòu)建過(guò)程如下所示,并在圖2中給出了總體的運(yùn)行流程。
a)數(shù)據(jù)集縮減。SVM模型的構(gòu)建依賴于被稱為支持向量的部分訓(xùn)練數(shù)據(jù)集,為了減小算法訓(xùn)練非支持向量耗費(fèi)的時(shí)間,在并行化訓(xùn)練之前使用KCS策略刪除大部分非支持向量、獲取候選SV,KCS策略具體過(guò)程描述如下:
(a)刪除部分非支持向量。并行參數(shù)尋優(yōu)階段,計(jì)算細(xì)菌適應(yīng)度時(shí)需要訓(xùn)練多個(gè)局部SVM分類器,由于非支持向量都是距離決策平面較遠(yuǎn)的向量,能夠被多個(gè)局部SVM分類器正確分類。因此,將尋優(yōu)期間被 g 個(gè)及以上分類器標(biāo)記為非支持向量的數(shù)據(jù)刪除。
(b)獲取候選SV集。并行參數(shù)尋優(yōu)期間使用的支持向量都是距離決策平面較近的向量,盡管此時(shí)的決策平面不是最優(yōu)決策平面,但是支持向量都是距離最優(yōu)決策平面較近的向量。因此,選擇尋優(yōu)期間得到的支持向量為候選SV。
(c)計(jì)算高維空間向量距離。每個(gè)候選SV作為一個(gè)質(zhì)心,將候選SV按照類別分成正反兩類,分別使用核空間距離簡(jiǎn)化度量公式KSD計(jì)算所有正類樣本到正類質(zhì)心和負(fù)類樣本到負(fù)類質(zhì)心的簡(jiǎn)化核空間距離。
定理7 "核空間距離簡(jiǎn)化度量公式KSD。假設(shè)兩個(gè)向量間的簡(jiǎn)化核空間距離為 d ksd ,原特征空間為 Rn ,則對(duì)于向量 x "i和 x "j ,使用映射函數(shù) Φ 變換后的向量為 Φ(x "i)和 Φ(x "j) ,兩向量在高維空間中的距離可利用RBF核函數(shù)度量,于是核空間距離簡(jiǎn)化度量公式可表示為
‖ Φ(x "i)- Φ(x "j)‖2d ksd=‖ x "i- x "j‖ ""(12)
證明 "由式(2)可知‖ Φ(x "i)- Φ(x "j)‖2=K( x "i, x "i)-2K( x "i, x "j)+K( x "j, x "j)=2(1-K( x "i, x "j)) ,式中 K( x "i, x "j)= exp (-β‖ x "i- x "j‖2) ,代入得‖ Φ(x "i)- Φ(x "j)‖2=2(1- "exp (-β‖ x "i- x "j‖2)) ,可知‖ Φ(x "i)- Φ(x "j)‖2 與 ‖x i-x j‖ 成正比,考慮到計(jì)算向量核空間距離的目的是為了比較各向量到候選SV的距離大小,而不是計(jì)算具體的值,所以用簡(jiǎn)化核空間距離 d ksd 代替核平方歐氏距離‖ Φ(x "i)- Φ(x "j)‖2 比較大小。兩向量間 d ksd 越大,核平方歐氏距離 ‖Φ(x i)-Φ(x j)‖2 越大。證畢。
(d)獲取訓(xùn)練數(shù)據(jù)集。設(shè)置合適的聚類半徑 r ,若向量到質(zhì)心的簡(jiǎn)化核空間距離小于 r ,則將該向量標(biāo)記為候選向量。合并候選SV集和候選向量集構(gòu)成并行SVM模型的訓(xùn)練數(shù)據(jù)集,經(jīng)過(guò)數(shù)據(jù)集縮減得到規(guī)模減小的訓(xùn)練數(shù)據(jù)集。
b)CFCPSVM模型構(gòu)建。標(biāo)準(zhǔn)級(jí)聯(lián)式SVM的反饋機(jī)制是利用最后一層得到的SVM模型對(duì)第一層中各子集進(jìn)行KKT條件判斷,這是相當(dāng)耗時(shí)的一個(gè)過(guò)程,而CFCPSVM模型的反饋機(jī)制是通過(guò)比較第二層的支持向量集的差異來(lái)判斷訓(xùn)練效果。這里將候選SV集劃分成四個(gè)數(shù)據(jù)塊 CSV 1、CSV 2、CSV 3、CSV 4 ,則CFCPSVM模型的運(yùn)行過(guò)程如下,圖3給出了CFCPSVM的結(jié)構(gòu)。
(a)使用SMO算法并行訓(xùn)練數(shù)據(jù)集 CSV 1、CSV 2、CSV 3、CSV 4 ,輸出第一層的支持向量集 SV 1、SV 2、SV 3、SV 4 ;
(b)分別融合 SV 1 和 SV 2 、 SV 3 和 SV 4 作為第二層的輸入;
(c)訓(xùn)練上一層輸出的兩個(gè)數(shù)據(jù)集,得到支持向量集 SV 5、SV 6 ;
(d)將 SV 1 分別與 CSV 3 、 CSV 4 融合, SV 2 分別與 CSV 3 、 CSV 4 融合, SV 3 分別與 CSV 1 、 CSV 2 融合, SV 4 分別與 CSV 1 、 CSV 2 融合,作為第一層下一次訓(xùn)練的輸入;
(e)重復(fù)步驟(a)~(c)得到第二層第二次輸出的支持向量集 SV′ 5、SV′ 6 ;
(f)如果滿足以下三個(gè)條件之一: SV 5-SV′ 5=和SV 6-SV′ 6=;多次迭代發(fā)現(xiàn)SV 5-SV′ 5和SV 6-SV′ 6是兩個(gè)不變的集合;SV 5-SV′ 5和SV 6-SV′ 6 兩個(gè)集合中的樣本數(shù)小于某個(gè)特定的值 e 。則停止迭代過(guò)程,并融合 SV′ 5、SV′ 6 作為最后一層的輸入,訓(xùn)練最后一層得到 SV 7 ,用 SV 7 構(gòu)造SVM決策函數(shù),如果不滿足上述三個(gè)條件,則返回步驟a)。
c)CFCPSVM模型并行化。在并行SVM模型構(gòu)建過(guò)程中,首先提出了KCS策略預(yù)處理數(shù)據(jù)集,得到規(guī)模減小的訓(xùn)練數(shù)據(jù)集;接著提出了改進(jìn)反饋機(jī)制的CFCPSVM模型,減小了反饋的耗時(shí);為了進(jìn)一步提高CFCPSVM的并行化效率,將CFCPSVM模型的運(yùn)行過(guò)程布置在MapReduce編程模型上。基于MapReduce的CFCPSVM模型的具體操作步驟如下:將數(shù)據(jù)集 D 劃分成 n 個(gè)數(shù)據(jù)塊,數(shù)據(jù)塊保存在計(jì)算單元中; Map-ReduceDriver在每個(gè)節(jié)點(diǎn)上啟動(dòng)MapReduce作業(yè),在每個(gè)計(jì)算單元中執(zhí)行map操作,將每個(gè)mapper訓(xùn)練得到的支持向量發(fā)送到reducer執(zhí)行reduce操作;在reduce階段,所有map操作得到的支持向量都被分組發(fā)送給用戶,重復(fù)訓(xùn)練過(guò)程,直到所有子SVM合并到一個(gè)SVM中為止。map和reduce階段執(zhí)行的操作如下所示。
a)map階段。在不滿足迭代終止條件時(shí),mapper在其對(duì)應(yīng)的數(shù)據(jù)集塊中使用SMO算法過(guò)濾非支持向量,得到的支持向量與其他數(shù)據(jù)塊合并,map函數(shù)的輸出是局部空間數(shù)據(jù)塊的支持向量數(shù)量。
b)reduce階段。在不滿足迭代終止條件時(shí),將局部支持向量?jī)蓛珊喜⒆鳛橄乱粚佑?xùn)練的輸入,節(jié)點(diǎn)支持向量與全局支持向量合并來(lái)計(jì)算全局權(quán)重支持向量。
基于MapReduce的CFCPSVM并行化訓(xùn)練的偽代碼如算法4所示。
算法4 并行化訓(xùn)練
輸入:path of datasets。
輸出:global support vector。
initialize data blocks;//劃分?jǐn)?shù)據(jù)集
map( key , value )
SVglobal= ;
while "hi≠hi-1 "do //第 i 次迭代不滿足迭代終止條件
for each node "nc i "in "NC "do /* NC 是Hadoop集群中總的節(jié)點(diǎn)個(gè)數(shù) NC=nc 1,nc 2,…,nc n */
Di nc←Di nc∪SV nc; /*將節(jié)點(diǎn)nc 的子集與節(jié)點(diǎn) nc 中的支持向量合并*/
end for
end while
reduce( key , value )
while "hi≠hi-1 "do
for each node "nc i "in "NC "do
SV nc=binary "sum (D nc) ; //兩個(gè)節(jié)點(diǎn)的子集合并
end for
for each node "nc i "in "NC "do
SV global=SV global∪SV nc ; //節(jié)點(diǎn)支持向量與全局支持向量合并
end for
end while
return "SV global
2.5 算法時(shí)間復(fù)雜度分析
本文RBFO-PSVM算法的時(shí)間復(fù)雜度主要由冗余數(shù)據(jù)刪減、并行SVM參數(shù)尋優(yōu)以及并行SVM模型構(gòu)建三部分組成,各階段的時(shí)間復(fù)雜度是:
冗余數(shù)據(jù)刪減階段的時(shí)間復(fù)雜度包括計(jì)算每個(gè)特征的絕對(duì)誤差距離和利用互信息計(jì)算冗余度的時(shí)間。令原始數(shù)據(jù)集中的樣本數(shù)為 n ,特征數(shù)為 d ,則該階段的時(shí)間復(fù)雜度為
T 1=O(nd+d) ""(13)
并行SVM參數(shù)尋優(yōu)階段,令MapReduce分布式集群的mapper節(jié)點(diǎn)個(gè)數(shù)為 M ,細(xì)菌個(gè)數(shù)為 b ,每次迭代進(jìn)行并行參數(shù)尋優(yōu)時(shí)要對(duì)所有數(shù)據(jù)塊進(jìn)行處理,則該階段的時(shí)間復(fù)雜度為
T 2=O(( n M )2+b) ""(14)
并行SVM構(gòu)建階段主要由數(shù)據(jù)集縮減以及使用SMO算法并行訓(xùn)練SVM的時(shí)間組成,令支持向量的個(gè)數(shù)為 N sv ,MapReduce分布式集群的mapper節(jié)點(diǎn)數(shù)為 L ,且 N sv/nlt; lt;1 ,則該階段的時(shí)間復(fù)雜度為
T 3=O(( N sv L )2+ N svdn L +N sv) ""(15)
綜上可知,對(duì)于RBFO-PSVM算法,其總的時(shí)間復(fù)雜度為 T=(n×d+d+( n M )2+b+( N sv L )2+ N sv×d×n L +N sv),其中( N sv L )2lt; lt;( n M )2,T≤3 , dlt; lt;nd且N svlt; lt;nd , Llt; lt;N sv ,所以最終的時(shí)間復(fù)雜度近似為
T RBFO-PSVM=O(( n M )2+ N sv×n×d L ) ""(16)
對(duì)于PAFWU-SVM[11]算法,先進(jìn)行特征提取、特征歸一化和自適應(yīng)融合特征處理,該階段的時(shí)間復(fù)雜度為 O(nd2) ;接著訓(xùn)練并行SVM,將數(shù)據(jù)集劃分成多個(gè)訓(xùn)練集和測(cè)試集,map階段用訓(xùn)練集訓(xùn)練支持向量機(jī),然后用測(cè)試集得到每個(gè)SVM模型的準(zhǔn)確率;reduce階段把SVM模型按其準(zhǔn)確率排序,得到最優(yōu)SVM模型,令mapper節(jié)點(diǎn)數(shù)為 K ,測(cè)試集樣本數(shù)為 S ,該部分的時(shí)間復(fù)雜度為 O((n/K)2+S) ,則PAFWU-SVM的時(shí)間復(fù)雜度為 O(nd2+(n/K)2+S) 。
對(duì)于MR-PSVM[15]算法,首先將數(shù)據(jù)集劃分成多個(gè)子數(shù)據(jù)集,在子數(shù)據(jù)集上并行訓(xùn)練支持向量機(jī),將第一層訓(xùn)練得到的支持向量與其他子數(shù)據(jù)集合并,通過(guò)比較第二層訓(xùn)練得到的支持向量集的變化判斷是否收斂到全局最優(yōu)。令劃分后子數(shù)據(jù)集的個(gè)數(shù)為 H ,則MR-PSVM的時(shí)間復(fù)雜度為 O((n/H)2+nN svd) 。
對(duì)于RBFO-PSVM算法,由于 N sv≤dL ,所以 N svnd/Llt;Lnd2+SL/L ,于是有 T RBFO-PSVMlt;O((n/K)2+nd2+S) ,而且 T RBFO-PSVMlt;O((n/H)2+N svnd) 。因此相較于PAFWU-SVM、MR-PSVM,RBFO-PSVM算法有著更為理想的時(shí)間復(fù)雜度。
3 實(shí)驗(yàn)結(jié)果及比較
3.1 實(shí)驗(yàn)環(huán)境
為了驗(yàn)證RBFO-PSVM算法的性能,本文設(shè)計(jì)了相關(guān)實(shí)驗(yàn)。實(shí)驗(yàn)硬件配置為主從結(jié)構(gòu)的分布式集群,包含一個(gè)master節(jié)點(diǎn),四個(gè)slaver節(jié)點(diǎn)。所有節(jié)點(diǎn)的硬件配置均為Intel Core i9-9900K八核處理器、16 GB內(nèi)存、2 TB固態(tài)硬盤,節(jié)點(diǎn)間通過(guò)500 Mbps的以太網(wǎng)連接。軟件配置則統(tǒng)一安裝Ubuntu 16操作系統(tǒng)、2.7.5版本的Hadoop計(jì)算平臺(tái)以及JDK 1.8版本的Java環(huán)境。各個(gè)節(jié)點(diǎn)的具體配置如表1所示。
3.2 實(shí)驗(yàn)數(shù)據(jù)
本文實(shí)驗(yàn)部分所用數(shù)據(jù)為四個(gè)真實(shí)的數(shù)據(jù)集,分別是Bitcoin-Heist[26]、Covertype[26]、Census-Income[26]和GitHub MUSAE[26]。 BitcoinHeist是一個(gè)記錄比特幣勒索軟件地址的數(shù)據(jù)庫(kù),該數(shù)據(jù)集包含2 916 697條樣本,共有10種屬性,具有樣本量較大,屬性較少的特點(diǎn);Covertype是一個(gè)森林覆蓋類型的數(shù)據(jù)庫(kù),該數(shù)據(jù)集包含581 012條樣本, 共有54種屬性,具有樣本量適中,屬性適中的特點(diǎn);Census-Income是從美國(guó)當(dāng)前人口調(diào)查中提取的加權(quán)人口普查數(shù)據(jù),數(shù)據(jù)集包含299 285條樣本,共有40種屬性,具有樣本量適中,屬性適中的特點(diǎn);GitHub MUSAE是從GitHub用戶的社交網(wǎng)絡(luò)中收集到的數(shù)據(jù)庫(kù),該數(shù)據(jù)集包含37 700條樣本,共有4 906種屬性,具有樣本量較少,屬性較多的特點(diǎn)。這些數(shù)據(jù)集的詳細(xì)信息如表2所示。
4 906 2 2 2 2
3.3 評(píng)價(jià)指標(biāo)
1)加速比 為了確定并行SVM并行處理數(shù)據(jù)的效率,本文選用加速比作為評(píng)價(jià)算法并行化效率的指標(biāo),加速比用來(lái)衡量算法通過(guò)并行計(jì)算降低總體運(yùn)行時(shí)間而獲得的性能提升,其定義為
S n=T 1/T n ""(17)
其中: T 1 表示算法在單個(gè)節(jié)點(diǎn)上的運(yùn)行時(shí)間; T n 表示算法在 n 個(gè)節(jié)點(diǎn)上的運(yùn)行時(shí)間; S n 表示最終加速比, S n 越大說(shuō)明算法的并行化效率越高。
2) F -measure "F -measure是衡量算法分類準(zhǔn)確率的一種評(píng)價(jià)指標(biāo),該指標(biāo)利用準(zhǔn)確率(precision)和召回率(recall)來(lái)評(píng)價(jià)分類結(jié)果,其定義為
F-measure= (β2+1)precision×recall β2precision+recall """(18)
其中:參數(shù) β 設(shè)置為1。 F -measure的值越高,表示分類效果越好。
3)馬修斯相關(guān)系數(shù) 馬修斯相關(guān)系數(shù)(Matthews correlation coefficient,MCC)是一個(gè)能夠均衡測(cè)量二分類的分類性能的指標(biāo),即使兩類別的樣本數(shù)量差別很大,也可以用它描述實(shí)際分類與測(cè)試分類之間的相關(guān)系數(shù),設(shè)正真例、假正例、真反例和假反例分別為 TP 、 FP 、 TN 、 FN ,MCC定義為
MCC= TP×TN-FP×FN "(TP+FP)(TP+FN)(TN+FP)(TN+FN) """"(19)
3.4 算法可行性分析
3.4.1 MR-HBFO算法可行性分析
為了驗(yàn)證MR-HBFO算法的可行性,本文使用五個(gè)經(jīng)典基準(zhǔn)測(cè)試函數(shù),對(duì)MR-HBFO、BFO[20]、粒子群優(yōu)化(particle swarm optimization,PSO)算法[14]和遺傳算法(genetic algorithm,GA)[27]進(jìn)行仿真對(duì)比實(shí)驗(yàn),通過(guò)測(cè)試函數(shù)的收斂情況評(píng)價(jià)MR-HBFO算法的參數(shù)尋優(yōu)能力。測(cè)試函數(shù)包含連續(xù)單峰函數(shù)和非線性多峰函數(shù),單峰函數(shù) f 1 、 f 2 用于測(cè)試算法的精度和收斂速度,多峰函數(shù) f 3、f 4、f 5 用于測(cè)試算法的搜索能力和跳出局部最優(yōu)的能力,測(cè)試函數(shù)如表3所示。
實(shí)驗(yàn)中的參數(shù)設(shè)置為:最大迭代次數(shù) maxiter=2 000 ,種群數(shù) S=100 ,函數(shù)維度 d=30 , N c=100 , N re=5N ed=4 , p ed=0.25 , ss=4 , C∈[2-8,20] , γ∈[2-8,20] , c 1=1.2 , c 2=0.5 。將四種尋優(yōu)算法在五個(gè)測(cè)試函數(shù)上獨(dú)立運(yùn)行50次,計(jì)算得到算法在每個(gè)函數(shù)上的最優(yōu)值、平均值和標(biāo)準(zhǔn)差,其中平均值反映算法的最大精度,標(biāo)準(zhǔn)差反映算法的穩(wěn)定性。表4為四種尋優(yōu)算法在測(cè)試函數(shù)上的運(yùn)行結(jié)果。
由表4可知,相比BFO和PSO算法,MR-HBFO算法在五種函數(shù)上的收斂精度更高且穩(wěn)定性更好。在Rosenbrock函數(shù)上,BFO算法的平均值和標(biāo)準(zhǔn)差分別是2.53E+03、1.05E+04,而MR-HBFO算法運(yùn)行的結(jié)果是0.21和0.13,顯然MR-HBFO算法的平均值和標(biāo)準(zhǔn)差遠(yuǎn)小于BFO算法;在Ackley函數(shù)上,PSO算法的最優(yōu)值和平均值都是3.66E-14,而MR-HBFO算法的最優(yōu)值和標(biāo)準(zhǔn)差是5.37E-68。可知相比于BFO算法,MR-HBFO算法收斂更快、更準(zhǔn)確,相比于PSO算法,MR-HBFO算法的收斂精度更高。特別是在Rastrigin函數(shù)上,相較于BFO和PSO算法,MR-HBFO算法的收斂精度有了明顯的提升,足以證明MR-HBFO算法具有更強(qiáng)的跳出局部最優(yōu)和全局搜索的能力。這是因?yàn)镸R-HBFO算法提出交互式翻轉(zhuǎn)操作,提高了收斂速度,還提出了自適應(yīng)游動(dòng)步長(zhǎng)和方差復(fù)制,有效地提高了算法的穩(wěn)定性。實(shí)驗(yàn)表明,在全局尋優(yōu)能力和算法穩(wěn)定性方面,MR-HBFO算法比BFO、PSO和GA算法表現(xiàn)更佳。
3.4.2 RBFO-PSVM算法可行性分析
為驗(yàn)證RBFO-PSVM算法在大數(shù)據(jù)環(huán)境下并行訓(xùn)練SVM的可行性,將RBFO-PSVM算法分別在BitcoinHeist、Covertype、Census-Income和GitHub MUSAE數(shù)據(jù)集上獨(dú)立運(yùn)行10次,取運(yùn)行時(shí)間的平均值計(jì)算加速比,通過(guò)對(duì)算法加速比的分析,實(shí)現(xiàn)對(duì)RBFO-PSVM算法性能的總體評(píng)估。圖4為RBFO-PSVM算法在四個(gè)數(shù)據(jù)集上的運(yùn)行結(jié)果。
從圖4可以看出,RBFO-PSVM算法在四種數(shù)據(jù)集上的加速比隨著節(jié)點(diǎn)數(shù)的增加而不斷提升。RBFO-PSVM算法在BitcoinHeist數(shù)據(jù)集上運(yùn)行的加速比分別增長(zhǎng)了0.9、1.6、2.2、3.1;在Covertype數(shù)據(jù)集上運(yùn)行的加速比分別增長(zhǎng)了0.8、1.2、1.6、2.4;在Census-Income數(shù)據(jù)集上運(yùn)行的加速比分別增長(zhǎng)了0.6、1.4、2.0、2.6;在GitHub MUSAE數(shù)據(jù)集上運(yùn)行的加速比分別增長(zhǎng)了0.4、1.0、1.3、2.1。從圖4中的數(shù)據(jù)可知,RBFO-PSVM算法在各數(shù)據(jù)集上的加速比顯著增加,即使在維度較高的GitHub MUSAE數(shù)據(jù)集上,算法的上升趨勢(shì)依然顯著,在包含噪聲數(shù)據(jù)的Census-Income數(shù)據(jù)集上,加速比的上升趨勢(shì)最好,在數(shù)據(jù)規(guī)模較大的BitcoinHeist數(shù)據(jù)集上,算法表現(xiàn)出了較好的伸縮性。主要是由于RBFO-PSVM算法使用MI-Relief策略,提高了Relief算法的降噪能力,利用改進(jìn)CSVM的反饋機(jī)制的CFCPSVM模型,進(jìn)一步提高了并行SVM的并行化效率,故該算法在大數(shù)據(jù)集下也有良好的處理性能。
3.5 算法性能比較分析
3.5.1 算法時(shí)間復(fù)雜度比較分析
為驗(yàn)證RBFO-PSVM算法的時(shí)間復(fù)雜度,本文基于BitcoinHeist、Covertype、Census-Income和GitHub MUSAE四種數(shù)據(jù)集進(jìn)行對(duì)比實(shí)驗(yàn),根據(jù)算法的運(yùn)行時(shí)間,與MR-PSVM[15]、MR-CSSVM[9]和PAFWU-SVM[11]算法進(jìn)行綜合比較,實(shí)驗(yàn)結(jié)果如圖5所示。
從圖5可以看出,RBFO-PSVM算法在四種數(shù)據(jù)集上的運(yùn)行時(shí)間小于其他三種算法,且隨著樣本數(shù)目的增加,RBFO-PSVM相較于其他三種算法在運(yùn)行時(shí)間上的增幅最小。在大小適中的Census-Income數(shù)據(jù)集上,相較于MR-PSVM、MR-CSSVM和PAFWU-SVM算法,RBFO-PSVM算法的運(yùn)行時(shí)間分別降低了48.1%、51.9%、42.1%;在特征數(shù)目較多的GitHub MUSAE數(shù)據(jù)集上,RBFO-PSVM算法的運(yùn)行時(shí)間與MR-PSVM、MR-CSSVM和PAFWU-SVM算法相比,分別降低了41.5%、46.1%和18.2%;隨著數(shù)據(jù)規(guī)模的增長(zhǎng),在樣本數(shù)目較多的BitcoinHeist數(shù)據(jù)集上,RBFO-PSVM的運(yùn)行時(shí)間相較于MR-PSVM、MR-CSSVM和PAFWU-SVM算法,分別降低了27.9%、37.5%和19.8%。RBFO-PSVM算法的時(shí)間復(fù)雜度小于其他三種算法的主要原因是:a)使用MI-Relief策略刪減冗余數(shù)據(jù),減少了算法處理冗余數(shù)據(jù)的時(shí)間;b)使用基于MapReduce的MR-HBFO算法實(shí)現(xiàn)并行參數(shù)尋優(yōu),提高了并行SVM的尋優(yōu)速度;c)構(gòu)建了基于MapReduce的CFCPSVM模型,該模型通過(guò)縮減數(shù)據(jù)集和改進(jìn)CSVM的反饋機(jī)制有效地提高了并行SVM的并行化效率。以上三個(gè)方面的改進(jìn)使得RBFO-PSVM算法更能適應(yīng)于大數(shù)據(jù)環(huán)境,具有更好的魯棒性。
3.5.2 算法加速比較分析
為了評(píng)估RBFO-PSVM算法的并行性能,本文基于BitcoinHeist、Covertype、Census-Income和GitHub MUSAE四個(gè)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),根據(jù)實(shí)驗(yàn)得到的加速比比較分析RBFO-PSVM算法與MR-PSVM[15]、MR-CSSVM[9]和PAFWU-SVM[11]算法的差異,實(shí)驗(yàn)結(jié)果如圖6所示。
從圖6可以看出,在各數(shù)據(jù)集上隨著節(jié)點(diǎn)數(shù)的增加,RBFO-PSVM算法始終擁有最高的加速比。在樣本數(shù)目較多的BitcoinHeist數(shù)據(jù)集上,RBFO-PSVM算法的加速比,在節(jié)點(diǎn)數(shù)為5時(shí),比PAFWU-SVM、MR-PSVM和MR-CSSVM算法分別提升了0.6、0.8和1.2;在Covertype數(shù)據(jù)集上分別提升了0.2、0.4和0.7;在Census-Income數(shù)據(jù)集上分別提升了0.3、0.4和0.9;在特征數(shù)目較多的GitHub MUSAE數(shù)據(jù)集上分別提升了0.2、0.5和0.8。這是因?yàn)镽BFO-PSVM算法使用了基于MapReduce的CFCPSVM模型,該模型會(huì)在并行化訓(xùn)練之前使用KCS策略縮減數(shù)據(jù)集,大大減小了參與訓(xùn)練的數(shù)據(jù)集規(guī)模,其并行化效率遠(yuǎn)高于單純使用MapReduce框架的MR-PSVM算法,且模型減少了反饋融合的次數(shù),使得反饋效率高于MR-CSSVM算法。其次RBFO-PSVM還使用了MI-Relief策略刪減冗余數(shù)據(jù),提高了算法對(duì)多屬性數(shù)據(jù)集的處理能力,其刪減效率遠(yuǎn)高于采用特征融合的PAFWU-SVM算法。故相較于另外三種算法,RBFO-PSVM算法在大數(shù)據(jù)集上的并行性能和魯棒性更佳。
3.5.3 算法分類準(zhǔn)確度比較分析
為了評(píng)估RBFO-PSVM算法的并行化性能,將RBFOA-PSVM算法分別與MR-PSVM[15]、MR-CSSVM[9]和PAFWU-SVM[11]算法在BitcoinHeist、Covertype、Census-Income和GitHub MUSAE數(shù)據(jù)集上進(jìn)行對(duì)比實(shí)驗(yàn),在實(shí)驗(yàn)中分別比較了各算法的分類準(zhǔn)確度 F -measure,實(shí)驗(yàn)結(jié)果如圖7所示。
從圖7可以看出,在各數(shù)據(jù)集上,RBFO-PSVM算法的分類準(zhǔn)確度始終高于其他三種算法的分類準(zhǔn)確度,在各種不同特征的數(shù)據(jù)集上,RBFO-PSVM都具有較好的魯棒性。在Bitcoin-Heist數(shù)據(jù)集上,RBFO-PSVM算法的準(zhǔn)確度比MR-CSSVM、MR-PSVM和PAFWU-SVM算法分別高出8.7%、7.5%、2.6%;在Covertype數(shù)據(jù)集上,RBFO-PSVM算法的準(zhǔn)確度比MR-CSSVM、MR-PSVM和PAFWU-SVM算法分別高出5.1%、4.9%、2.3%;在Census-Income數(shù)據(jù)集上,RBFO-PSVM算法的準(zhǔn)確度比MR-PSVM、MR-CSSVM和PAFWU-SVM算法分別高出了4.5%、2.8%、2.4%;在GitHub MUSAE數(shù)據(jù)集上,RBFO-PSVM算法的準(zhǔn)確度比MR-PSVM、MR-CSSVM和PAFWU-SVM算法分別高出8.5%、7.4%、2.9%。從實(shí)驗(yàn)結(jié)果可以看出,RBFO-PSVM算法在處理維度較低的BitcoinHeist、Covertype和Census-Income數(shù)據(jù)集時(shí),準(zhǔn)確度沒(méi)有明顯的提升,而在處理維度較高的GitHub MUSAE數(shù)據(jù)集時(shí),準(zhǔn)確度遠(yuǎn)高于另外三種算法。這是因?yàn)镽BFO-PSVM算法使用MI-Relief策略降低了數(shù)據(jù)維度,有效地減小了數(shù)據(jù)復(fù)雜度,使得冗余數(shù)據(jù)對(duì)并行SVM的干擾顯著降低,并且RBFO-PSVM還使用了MR-HBFO算法進(jìn)行參數(shù)尋優(yōu),同時(shí),采用CFCPSVM模型重復(fù)訓(xùn)練SVM,有效地提高了算法的分類準(zhǔn)確度和并行性能。故由以上實(shí)驗(yàn)結(jié)果可知,面對(duì)大多數(shù)數(shù)據(jù)集RBFO-PSVM算法的準(zhǔn)確度都高于MR-PSVM、MR-CSSVM和PAFWU-SVM算法,且在處理高維數(shù)據(jù)時(shí),RBFO-SVM算法的優(yōu)勢(shì)更加明顯。
為了評(píng)估RBFO-PSVM算法在不同計(jì)算節(jié)點(diǎn)下的分類性能,通過(guò)自助采樣的方式從BitcoinHeist數(shù)據(jù)集中得到四組不同大小的數(shù)據(jù)集,比較算法在不同數(shù)據(jù)集上的MCC。實(shí)驗(yàn)結(jié)果如圖8所示。
從圖8可以看出,隨著節(jié)點(diǎn)數(shù)和樣本數(shù)的增加,RBFO-PSVM算法的MCC越來(lái)越接近單機(jī)時(shí)的MCC,表明RBFO-PSVM算法的分類性能不會(huì)因節(jié)點(diǎn)數(shù)的增加而出現(xiàn)損失較大的狀況。樣本數(shù)為30 000時(shí),單機(jī)狀況下的MCC比節(jié)點(diǎn)數(shù)為4、5時(shí)分別高出0.3和0.024;樣本數(shù)為60 000時(shí),單機(jī)狀況下的MCC比節(jié)點(diǎn)數(shù)為4、5時(shí)分別高出0.015和0.006;樣本數(shù)為70 000時(shí),單機(jī)狀況下的MCC比節(jié)點(diǎn)數(shù)為4、5時(shí)分別高出0.01和0.005。從實(shí)驗(yàn)結(jié)果可以看出,隨著樣本數(shù)的增加,RBFO-PSVM算法表現(xiàn)出更好的分類性能。這是因?yàn)镽BFO-PSVM算法使用基于MapReduce的MRHBFO算法提高了并行SVM的并行尋優(yōu)能力,為分類器選取了合適的參數(shù)。在并行SVM模型構(gòu)造階段,使用KCS策略縮減數(shù)據(jù)集并改進(jìn)了CSVM的反饋機(jī)制,加強(qiáng)了數(shù)據(jù)塊間的數(shù)據(jù)交互,進(jìn)而提高了算法在多個(gè)節(jié)點(diǎn)時(shí)的MCC。由以上實(shí)驗(yàn)結(jié)果可知,在節(jié)點(diǎn)數(shù)適當(dāng)時(shí),RBFO-PSVM有較高的MCC,且隨著樣本數(shù)的增加RBFO-PSVM算法依然擁有較好的分類性能,在面對(duì)不平衡數(shù)據(jù)集時(shí),RBFO-PSVM算法有較好的擴(kuò)展性。
4 結(jié)束語(yǔ)
為解決大數(shù)據(jù)環(huán)境下并行SVM算法處理高維數(shù)據(jù)時(shí)存在噪聲數(shù)據(jù)敏感、參數(shù)選取困難以及并行化效率低等問(wèn)題進(jìn)行研究,提出了一種基于Relief和BFO算法的交叉融合級(jí)聯(lián)式并行SVM算法RBFO-PSVM。該算法為了解決并行SVM噪聲數(shù)據(jù)敏感問(wèn)題,使用MI-Relief策略刪減冗余數(shù)據(jù),利用互信息計(jì)算特征之間的冗余度,并結(jié)合Relief算法計(jì)算特征區(qū)分類別的能力,準(zhǔn)確地識(shí)別特征是否為冗余數(shù)據(jù);提出了基于Map-Reduce的MR-HBFO算法,通過(guò)自適應(yīng)游動(dòng)步長(zhǎng)、自適應(yīng)翻轉(zhuǎn)方向和方差復(fù)制有效地提高了并行SVM的參數(shù)尋優(yōu)能力,解決了并行SVM參數(shù)選取困難的問(wèn)題;提出了基于MapReduce的CFCPSVM模型,該模型通過(guò)KCS策略縮減數(shù)據(jù)集并改進(jìn)了CSVM的反饋機(jī)制,提高了RBFO-PSVM算法的并行化效率。同時(shí),為了驗(yàn)證RBFO-PSVM算法的分類性能,在BitcoinHeist、Covertype、Census-Income和GitHub MUSAE數(shù)據(jù)集上對(duì)RBFO-PSVM、MR-PSVM、MR-CSSVM和PAFWU-SVM算法進(jìn)行綜合性能對(duì)比分析,實(shí)驗(yàn)結(jié)果表明,在較大數(shù)量的數(shù)據(jù)集和高維數(shù)據(jù)集中,RBFO-PSVM算法能夠更高效地完成分類過(guò)程,其時(shí)間開銷最少,執(zhí)行效果最佳。
雖然RBFO-PSVM算法在并行SVM分類效果方面取得了一定的進(jìn)步,但依然還有很大的提升空間。要提出一個(gè)更加健壯的并行SVM算法,在時(shí)間上,需要更加高效的并行尋優(yōu)算法,考慮選取部分具有代表性的樣本進(jìn)行尋優(yōu),并在并行SVM模型構(gòu)建中加入負(fù)載均衡策略以減少等待時(shí)間,還可以將CSVM結(jié)構(gòu)與增量學(xué)習(xí)結(jié)合起來(lái),提高CSVM的并行化效率;在空間上,需要加入更加高效的緩存策略以減少矩陣計(jì)算的空間占用;在準(zhǔn)確率方面,需要更加精準(zhǔn)和高效的數(shù)據(jù)集縮減策略,減小非支持向量在訓(xùn)練數(shù)據(jù)集中所占的比例。以上將是今后的重點(diǎn)研究?jī)?nèi)容。
參考文獻(xiàn):
[1] ""Cervantes J,Garcia-Lamont F,Rodríguez-Mazahua L, et al .A comprehensive survey on support vector machine classification:applications,challenges and trends[J]. Neurocomputing ,2020, 408 (9):189-215.
[2] Chaa M,Akhtar Z,Attla A.3D palmprint recognition using unsupervised convolutional deep learning network and SVM classifier[J]. IET Image Processing ,2019, 13 (5):736-745.
[3] 葛曉偉,李凱霞,程銘.基于CNN-SVM的護(hù)理不良事件文本分類研究[J].計(jì)算機(jī)工程與科學(xué),2020, 42 (1):161-166. (Ge Xiaowei,Li Kaixia,Cheng Ming.Research on text classification of adverse nursing events based on CNN-SVM[J]. Computer Engineering amp; Science ,2020, 42 (1):161-166.
[4] Huang Shujun,Cai Nianguang,Pacheco P P, et al .Applications of support vector machine learning in cancer genomics[J]. Cancer Genomics amp; Proteomics ,2018, 15 (1):41-51.
[5] Patro K K,Reddi S P R,Khalelulla S K E, et al .ECG data optimization for biometric human recognition using statistical distributed machine learning algorithm[J]. Journal of Supercomputing ,2020, 76 (2):858-875.
[6] Xiao Chenglin,Xia Weili,Jiang Jijiao.Stock price forecast based on combined model of ARI-MA-LS-SVM[J]. Neural Computing and Applications ,2020, 32 (1):5379-5388.
[7] Shah J S.A survey on Hadoop MapReduce framework[J]. International Journal of Innovative Research in Computer and Communication Engineering ,2019, 7 (4):2209-2217.
[8] Satti I,Elkarim A,Agbinya J, et al .Parallel SVM based classification technique on big data:HPC center in Sudan[J]. Australian Journal of Basic and Applied Sciences ,2020, 14 (4):1-14.
[9] Hu Jingjing,Ma Dongyan,Liu Chen, et al. Network security situation prediction based on MR-SVM[J]. IEEE Access ,2019, 7 :130937-130945.
[10] Magoules F,Zhao Haixiang.Parallel computing for support vector machines[M]//
Data Mining and Machine Learning in Building Energy Analysis.[S.l.]:Wiley,2016:121-144.
[11] Cao Jianfang,Wang Min,Li Yanfei, et al .Improved support vector machine classification algorithm based on adaptive feature weight updating in the Hadoop cluster environment[J]. PLoS One ,2019, 14 (4):e0215136.
[12] Zhang Wei.Relief feature selection and parameter optimization for support vector machine based on mixed kernel function[J]. International Journal of Performability Engineering ,2018, 14 (2):280-289.
[13] 李素,袁志高,王聰,等.群智能算法優(yōu)化支持向量機(jī)參數(shù)綜述[J].智能系統(tǒng)學(xué)報(bào),2018, 13 (1):70-84. (Li Su,Yuan Zhigao,Wang Cong, et al. Optimization of support vector machine parameters based on group intelligence algorithm[J]. CAAI Trans on Intelligent Systems ,2018, 13 (1):70-84.)
[14] 滿蔚仕,吉元元.Hadoop平臺(tái)分布式SVM算法分類研究[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2017, 26 (8):141-146. (Man Weishi,Ji Yuanyuan.Research on distributed SVM classification based on Hadoop platform[J]. Computer Systems amp; Applications ,2017, 26 (8):141-146.)
[15] Jadhav N,Bhavani C.Parallel support vector machines on a Hadoop framework[J]. International Journal of Research ,2018, 7 (9):60-66.
[16] Zhang Jianpei,Li Zhongwei,Yang Jing.A parallel SVM training algorithm on large-scale classification problems[C]//Proc of International Conference on Machine Learning and Cybernetics.Piscataway,NJ:IEEE Press,2005:1637-1641.
[17] Cover T M,Thomas J A.Elements of information theory[M].New Jersey:Wiley-Blackwell,2003.
[18] Wang Tongbo.A novel kernel clustering method for SVM training sample reduction[C]//Proc of International Conference on Algorithms and Architectures for Parallel Processing.Cham:Springer,2018:51-58.
[19] Urbanowicz R J,Meeker M,La Cava W, et al .Relief-based feature selection:introduction and review[J]. Journal of Biomedical Informatics ,2018, 85 (9):189-203.
[20] "Ye Fulan,Lee C Y,Lee Z J, et al. Incorporating particle swarm optimization into improved bacterial foraging optimization algorithm applied to classify imbalanced data[J]. Symmetry ,2020, 12 (2):
article No.29.
[21] Graf H P,Cosatto E,Bottou L, et al. Parallel support vector machines:the cascade SVM[C]//Proc of the 17th International Conference on Neural Information Processing Systems.Cambridge,MA:MIT Press,2004:521-528.
[22] Tian Liyan,Hu Xiaoguang.Method of parallel sequential minimal optimization for fast training support vector machine[J]. Applied Mechanics amp; Materials ,2010, 29-32 (8):947-951.
[23] Gao Wanfu,Hu Liang,Zhang Ping.Feature redundancy term variation for mutual information-based feature selection[J]. Applied Intelligence ,2020, 50 (4):1272-1288.
[24] Chen Huiling,Bo Yang,Wang Sujing, et al .Towards an optimal support vector machine classifier using a parallel particle swarm optimization strategy[J]. Applied Mathematics and Computation ,2014, 239 (8):180-197.
[25] Chen Hanning,Zhu Yunlong,Hu Kunyuan.Adaptive bacterial foraging optimization[J]. Abstract and Applied Analysis ,2014, 2011 :article ID 108269.
[26] Aha D,Murphy P,Merz C, et al. UCI machine learning repository[DB/OL].http://archive.ics.uci.edu/ml/index.php.
[27] Namdeo A,SINGH D.Challenges in evolutionary algorithm to find optimal parameters of SVM:a review[J/OL]. Materials Today:Proceedings .(2021-04-08).http://doi.org/10.1016/j.matpr.2021.03.288.