?

基于互信息和融合加權的并行深度森林算法

2024-03-05 17:00毛伊敏李文豪
計算機應用研究 2024年2期
關鍵詞:負載均衡互信息

毛伊敏 李文豪

收稿日期:2023-05-18;修回日期:2023-07-26? 基金項目:廣東省重點領域研發計劃資助項目(2022B0101020002);廣東省重點提升項目(2022ZDJS048)

作者簡介:毛伊敏(1970—),女,新疆伊犁人,教授,博導,博士,主要研究方向為分布式計算和人工智能(mymlyc@163.com);李文豪(1997—),男(通信作者),江西宜春人,碩士研究生,主要研究方向為大數據和機器學習.

摘? 要:針對大數據環境下并行深度森林算法中存在不相關及冗余特征過多、多粒度掃描不平衡、分類性能不足以及并行化效率低等問題,提出了基于互信息和融合加權的并行深度森林算法(parallel deep forest algorithm based on mutual information and mixed weighting,PDF-MIMW)。首先,在特征降維階段提出了基于互信息的特征提取策略(feature extraction strategy based on mutual information,FE-MI),結合特征重要性、交互性和冗余性度量過濾原始特征,剔除過多的不相關和冗余特征;接著,在多粒度掃描階段提出了基于填充的改進多粒度掃描策略(improved multi-granularity scanning strategy based on padding,IMGS-P),對精簡后的特征進行填充并對窗口掃描后的子序列進行隨機采樣,保證多粒度掃描的平衡;其次,在級聯森林構建階段提出了并行子森林構建策略(sub-forest construction strategy based on mixed weighting,SFC-MW),結合Spark框架并行構建加權子森林,提升模型的分類性能;最后,在類向量合并階段提出基于混合粒子群算法的負載均衡策略(load balancing strategy based on hybrid particle swarm optimization algorithm,LB-HPSO),優化Spark框架中任務節點的負載分配,降低類向量合并時的等待時長,提高模型的并行化效率。實驗表明,PDF-MIMW算法的分類效果更佳,同時在大數據環境下的訓練效率更高。

關鍵詞:Spark框架;并行深度森林;互信息;負載均衡

中圖分類號:TP311??? 文獻標志碼:A

文章編號:1001-3695(2024)02-023-0473-09

doi:10.19734/j.issn.1001-3695.2023.05.0240

Parallel deep forest algorithm based on mutual information and mixed weighting

Mao Yimin1,2,Li Wenhao1

(1.School of Information Engineering,Jiangxi University of Science & Technology,Ganzhou Jiangxi 341000,China;2.School of Information Engineering,Shaoguan University,Shaoguan Guangdong 512000,China)

Abstract:

In the context of big data environments,the parallel deep forest algorithm faces several challenges,such as an abundance of irrelevant and redundant features,imbalanced multi-granularity scanning,inadequate classification performance,and low parallelization efficiency.To tackle these issues,this paper proposed PDF-MIMW.Firstly,the algorithm introduced FE-MI in the phase of dimensionality reduction,which filtered the original feature set by combining feature importance,interaction,and redundancy metrics,thereby eliminating excessive irrelevant and redundant features.Next,the algorithm proposed an IMGS-P in the phase of multi-granularity scanning,which involved padding the reduced features and performing random sampling on the subsequences obtained after window scanning,thereby ensuring a balanced multi-granularity scanning process.Then,the algorithm put forth the SFC-MW in the phase of cascade forest construction,which utilized the Spark framework to parallelly construct weighted sub-forests,thereby enhancing the models classification performance.Finally,the algorithm designed a load balancing strategy based on a mixed particle swarm algorithm in the phase of class vector merging,which optimized the load distribution among task nodes in the Spark framework,reducing the waiting time during class vector merging and improving the parallelization efficiency of the model.Experiments demonstrate that the PDF-MIMW algorithm achieves superior classification performance and higher training efficiency in the big data environment.

Key words:Spark framework;parallel deep forest;mutual information;load balance

0? 引言

深度森林(deep forest,DF)算法[1]是一種基于深度模型提出的級聯隨機森林算法,與深度神經網絡相比具有更少的超參數,更低的數據需求量以及自適應的模型復雜度,并且具有較好的魯棒性和泛化能力,因而被廣泛應用于目標識別[2]、圖像處理[3]、文本識別[4]、故障診斷[5]、網絡入侵檢測[6]、醫學診斷[7]等領域。近年來,隨著網絡與信息技術的發展,大數據成為了當前的研究熱點,日益增長的數據規模和不斷變化的數據模態使得傳統DF算法在處理大數據時存在不相關及冗余特征過多、分類性能不足以及并行化效率低的問題。因此,設計適用于處理海量數據的DF算法意義重大。

近年來,隨著大數據分布式計算框架在DF算法上的廣泛應用,加州大學伯克利分校的AMP實驗室提出的Spark[8]分布式計算模型因其運行速度快、簡單易用、通用性強、運行模式多樣等特點受到了廣大學者的青睞。例如Zhu等人[9]提出了一種并行DF算法ForestLayer,該算法將級聯層中的森林分解為子森林后采用并行計算的方式對各子森林模型進行訓練,提高了模型的訓練效率,降低了通信開銷,同時提出了延遲掃描、預池化和部分傳輸三種方法優化算法性能。在此基礎上,Chen等人[10]提出了BLB-gcForest(bag of little bootstraps-gcForest)算法,該算法通過自適應的森林分解能夠尋找到最優子森林分解粒度,從而減少模型的超參數并提升模型的訓練效率。為進一步提升模型的訓練效率,毛伊敏等人[11]則在級聯森林構建階段引入了權重分配的思想,提出了結合信息論改進的DF算法(improved parallel deep forest based on information theory,IPDFIT),該算法通過對訓練樣本進行評估以決定樣本是否進入下一級的訓練從而減少了樣本數量,提升了模型的并行訓練效率。盡管以上三種并行DF算法對模型的訓練效率均有提升,但是依舊存在以下四個方面的不足:a)在特征降維階段,由于原始數據集規模龐大且維度高,若不對其進行必要的篩選,將會給模型訓練帶來不相關和冗余特征過多的問題;b)在多粒度掃描階段,窗口掃描會使數據集中靠近兩端的特征被掃描的次數減少,導致多粒度掃描不平衡的問題;c)在級聯森林構建階段,由于森林中每個決策樹的分類能力各不相同,對每棵樹的結果進行簡單算術平均會影響模型整體的分類性能;d)在類向量合并階段,由于各任務節點的負載沒有得到合理分配,當類向量合并時會出現節點之間互相等待的情況,從而導致模型并行化效率低的問題。

針對以上問題,本文提出了基于互信息和融合加權的并行DF算法——PDF-MIMW,算法的主要工作如下:a)提出了基于互信息的特征提取策略FE-MI,通過對特征重要性和特征之間的交互性及冗余性進行度量以過濾不相關和冗余特征,解決了不相關和冗余特征過多的問題;b)提出了基于填充的改進多粒度掃描策略IMGS-P,通過對原始特征集進行填充,并對滑動窗口掃描后的特征子序列進行隨機采樣,解決了多粒度掃描不平衡的問題;c)提出了基于融合加權的并行子森林構建策略SFC-MW,結合Spark分布式框架進行子森林的并行化構建,并賦予分類能力強的子森林更高的權重,解決了大數據環境下模型分類性能不足的問題;d)提出了基于混合粒子群算法的負載均衡策略LB-HPSO,通過對級聯森林中并行訓練的任務節點進行負載分配尋優以提升類向量并行合并的效率,解決了大數據環境下并行化效率低的問題。

1? 相關概念介紹

1.1? 互信息、聯合互信息與交互信息

互信息[12]通常用于衡量兩個隨機變量之間的相關性,該值越大代表兩個隨機變量的相關性越高,反之越低。假設X和Y是兩個離散型隨機變量,則X和Y之間的互信息I(X;Y)為

I(X;Y)=H(X)+H(Y)-H(X,Y)(1)

其中:H(X)和H(Y)分別X和Y的熵;H(X,Y)為兩者的聯合熵;當Y為標簽或者類屬性時,I(X;Y)即為信息增益。

聯合互信息[12]通常用于表示隨機變量與目標變量之間的關系。假設X、Y和Z是三個離散型隨機變量,則X、Y和Z之間的聯合互信息I(X,Y;Z)的定義為

I(X,Y;Z)=H(X,Y)-H(X,Y|Z)(2)

其中:H(X,Y|Z)為X、Y和Z之間的條件互信息。

交互信息[12]通常用于衡量三個隨機變量之間的交互作用。假設X、Y和Z是三個離散型隨機變量,其交互信息可定義為

I(X;Y;Z)=I(X,Y;Z)-I(X;Z)-I(Y;Z)(3)

1.2? 對稱不確定性

對稱不確定性[13]是為了消除變量單位和變量值的影響所采用的規范化信息增益。假設X和Y是兩個離散型隨機變量,則其對稱不確定性SU(X,Y)的定義為

SU(X,Y)=2I(X;Y)H(X)+H(Y)(4)

其中:H(X)和H(Y)分別為X和Y的信息熵;I(X;Y)為X和Y之間的互信息。

1.3? PSO算法

PSO算法(particle swarm optimization)[14]是通過模擬鳥群捕食行為設計的一種全局隨機搜索算法,可以對粒子的位置進行不斷的調優,從而尋求最優解。該算法中粒子在搜索空間中以一定速度飛行,并且會根據當前最優粒子位置和自身的飛行經驗進行調整。PSO算法主要包括粒子位置和速度的初始化、粒子的速度更新以及粒子的位置更新三個階段。假設在D維空間中有N個粒子,具體流程如下:

a)初始化粒子的位置和速度。

xi=(xi,1,xi,2,…,xi,D)(5)

vi=(vi,1,vi,2,…,vi,D)(6)

b)粒子的速度更新。假設pbesti,d為粒子個體經歷過的最好位置,gbestd為種群經歷過的最好位置,f為粒子的自適應值,則粒子的速度更新如下所示。

pbesti,d=(pi,1,pi,2,…,pi,D)(7)

gbestd=(g1,g2,…,gD)(8)

vki,d=ωvk-1i,d+c1r1(pbesti,d-xk-1i,d)+c2r2(gbestd-xk-1i,d)(9)

其中:i為粒子的序號;d為粒子的維度;ω為慣性權重,表示之前的速度對當前速度的影響;c1和c2是學習因子;r1和r2是兩個隨機數,取值為[0,1]。

c)粒子的位置更新。假設xk-1i,d為粒子當前位置,vk-1i,d為粒子當前更新速度,則粒子的位置更新為

xki,d=xk-1i,d+vk-1i,d(10)

2? PDF-MIMW算法

本文提出的PDF-MIMW算法主要包含特征降維、多粒度掃描、級聯森林構建以及類向量合并四個階段。首先,在特征降維階段提出了FE-MI策略,通過袋外數據誤差對于輸入的原始特征集進行重要性劃分,并根據特征之間的冗余性和交互作用過濾冗余特征,獲得高相關度和低冗余度的特征集;其次,在多粒度掃描階段提出了IMGS-P策略,對精簡后的特征集進行填充并對滑動窗口掃描后的特征子序列進行隨機采樣,保證多粒度掃描的平衡;接著,在級聯森林構建階段提出SFC-MW策略,結合Spark框架并行構建子森林,并依據子森林的準確率賦予相應的權重,提升模型的分類性能;最后,在類向量合并階段提出LB-HPSO策略,采用改進的粒子群算法對Spark框架中每個任務節點的負載分配情況進行優化,降低類向量合并時的等待時長,提升模型的并行效率。算法的系統處理框架如圖1所示。

2.1? 特征降維

目前在大數據環境下的并行DF算法中,原始特征集通常包含大量不相關和冗余特征,因此本文在特征降維階段提出基于互信息的特征提取策略FE-MI,該策略綜合考量特征重要性、特征冗余性和特征之間的交互程度三方面對特征進行處理。該策略主要包含兩個步驟:a)特征劃分。提出基于袋外數據誤差[15]的特征重要性度量(feature important measure,FIM),通過衡量特征的重要性對原始特征集進行初步劃分;b)特征過濾。提出了基于互信息的特征交互系數(feature interaction coefficient,FIC)和特征評價系數(feature evaluating coefficient,FEC),通過對特征交互性和冗余性兩個維度進行衡量[16],進一步過濾真實冗余特征。

2.1.1? 特征劃分

在進行特征過濾之前,需要先對特征集進行粗略的劃分,具體過程如下:首先在樣本上訓練得到隨機森林模型,對模型中每一棵決策樹選擇相應的袋外數據計算模型的袋外數據誤差Errt,對特征X進行隨機擾動后再次計算袋外數據誤差Errt(Xi);接著提出基于袋外數據誤差的特征重要性度量FIM來篩選優勢特征,計算原始特征集R中各特征的特征重要性度量FIM,并根據特征重要性度量FIM的大小進行降序排序;最后依據特征重要性度量FIM的大小,按照比例β從高到低將原始特征集R中的特征劃分為優勢特征集與候選特征集兩部分。

定理1? 特征重要性度量FIM。已知隨機森林中決策樹的數目為n,則特征Xi的特征重要性度量FIM為

FIC=IM(Xi)norm(11)

其中:IM(Xi)為特征Xi擾動前后的平均袋外誤差變化;norm為特征重要性的歸一化因子。

證明? 假設Errt表示在隨機森林的第t棵決策樹中,選擇相應的袋外數據計算的袋外數據誤差,在特征Xi處加入隨機噪聲后重新計算的袋外數據誤差為Errt(Xi)。因此改變特征Xi處取值后對該決策樹準確率的影響為

Errt(Xi)-Errt(12)

由于在隨機森林算法中,特征越重要,改變測試數據中樣本在該特征處的值時,所得到的預測誤差會越大。所以代表在隨機森林模型中特征Xi的重要性度量可對隨機森林中每棵樹進行袋外數據誤差預測并取其均值得到

IM(Xi)=1n∑nt=1(Errt(Xi)-Errt)(13)

最后將特征重要性IM(Xi)的值域規范至[0,1],采用歸一化因子得到

FIM=1n∑nt=1(Errt(Xi)-Errt)(IM(Xi)-IM)-min(IM(Xi)-IM)max(IM(Xi)-IM)-min(IM(Xi)-IM)=

IM(Xi)norm(14)

綜上,當FIM偏大時,表明當前特征Xi具有較高的重要性,反之則較低。證畢。

因此,通過比較FIM數值的大小可以將各特征按照重要性進行排序。

2.1.2? 特征過濾

經過特征劃分后,特征集中仍殘留大量的冗余特征,因此還需要對其中的冗余特征進行過濾,具體過程如下:首先提出基于互信息的特征交互系數FIC來衡量特征之間的交互程度,接著提出特征評價系數FEC從特征之間的交互性和冗余性兩個維度對特征進行評價從而過濾冗余特征,計算當前兩個特征集中各特征的特征評價系數FEC;接著依據特征評價系數FEC的大小對各特征進行升序排序,按從高到低分別從優勢特征集中提取k個特征,從候選特征集中提取m-k個特征;最后將從兩個特征集提取的特征合并成含有m個特征的最終特征集D。

定理2? 特征交互系數FIC。已知有特征集F={X1,X2,…,Xi},特征Xi與Xj同為特征集F中的特征,Z為樣本標簽,則特征Xi的特征交互系數FIC為

FIC(Xi)=1F∑FXi∈F,Xj≠XiW(Xi)×score(Xi;Xj)(15)

其中:W(Xi)為特征Xi在特征交互評價中所占的權重;score(Xi;Xj)為特征Xi、Xj與樣本標簽Z三者的歸一化交互信息系數。

證明? 已知特征Xi與Xj同為特征集F={X1,X2,…,Xi}中的特征,Z為樣本標簽,在特征交互中,特征Xi與Xj與樣本標簽Z三者之間的交互信息可以表示為I(Xi;Xj;Z),將交互信息的值域規范至[-1,1]可以獲得歸一化后的交互信息系數:

score(Xi;Xj)=I(Xi;Xj;Z)H(Xi)+H(Xj)(16)

特征Xi與標簽Z之間的互信息和特征Xj與標簽Z之間的互信息則分別為I(Xi;Z)、I(Xj;Z)。 由于互信息可用于衡量特征與標簽之間的關聯程度,所以特征Xi在特征交互評價中所占的權重比可以表示為

W(Xi)=I(Xi;Z)I(Xi;Z)+I(Xj;Z)(17)

可得:? W(Xi)×score(Xi;Xj)=I(Xi;Z)I(Xi;Z)+I(Xj;Z)×I(Xi;Xj;Z)H(Xi)+H(Xj)(18)

由于交互信息系數score(Xi;Xj)<0表示對于樣本標簽Z,隨機變量Xi和Xj兩者相互作用會帶來信息冗余,score(Xi;Xj)=0代表兩者相互獨立,score(Xi;Xj)>0代表兩者相互作用能夠帶來信息增益,W(Xi)則代表了特征Xi在特征交互評價中的占比,所以兩者的乘積W(Xi)×score(Xi;Xj)則表示特征Xi的特征交互程度,當存在信息增益W(Xi)×score(Xi;Xj)較大,反之則較小。最后對特征集F={X1,X2,…,Xi}中的其他各特征求均值,能夠得到特征Xi的特征交互系數計算公式:

FIC(Xi)=1F∑|F|Xi∈F,Xj≠XiI(Xi;Z)I(Xi;Z)+I(Xj;Z)×I(Xi;Xj;Z)H(Xi)+H(Xj)=

1F∑|F|Xi∈F,Xj≠XiW(Xi)×score(Xi;Xj)(19)

綜上,當FIC偏大時,表明特征Xi與其他各特征之間的交互程度更大,反之則更小。證畢。因此,可以通過計算特征之間的FIC值來衡量特征之間的交互程度。

定理3? 特征評價系數FEC。已知特征Xi為特征集F={X1,X2,…,Xi}中的特征,且特征Xi的特征交互系數為FIC,則其特征評價系數FEC為

FEC(Xi)=αRED(Xi)-FIC(Xi)(20)

其中:FIC為特征交互系數;RED為特征冗余系數;α為常數系數項。

證明? 已知對稱不確定性SU(Xi,Xj)可用于衡量兩個隨機變量的關聯程度,則 SU(Xi,Xj)可以表示特征Xi與Xj之間的關聯程度,因此對特征集F={X1,X2,…,Xi}中其他特征取均值可獲得特征Xi與其他特征之間的平均關聯程度:

RED(Xi)=1|F|∑Xi∈F,Xj≠XiSU(Xi,Xj)(21)

該值越大代表特征Xi與其他特征之間的關聯程度越高,即特征Xi與其他特征之間存在的冗余越大,反之則越小。而該特征Xi對應特征交互系數FIC的大小反映的是對于樣本標簽Z,當前特征Xi與特征集F中其他特征之間的交互程度,即該數值越大其交互程度也就越高,反之越低。故而,能夠通過結合特征之間的交互程度和冗余程度對各特征的真實冗余程度進行評價,即得到:

FEC(Xi)=1F∑|F|Xi∈F,Xj≠XiαSU(Xi,Xj)-W(Xi)score(Xi;Xj)(22)

綜上,當FEC偏大時,表明特征Xi與其他特征之間的真實冗余程度越高,反之則越低。證畢。

因此,可以通過計算特征圖之間的FEC值來過濾掉冗余程度較高的特征。

算法1? FE-MI策略

輸入:原始數據集R;特征劃分比例β;過濾系數m和k。

輸出:最終特征集D。

a)特征劃分

for特征Xi in R do

計算袋外數據誤差Errt(Xi)

對Xi進行干擾

計算干擾后Xi的袋外數據誤差Errt(Xi)

依據Errt和Errt(Xi)計算特征重要性度量FIM

end for

依照特征重要性度量FIM進行排序

依據設置的比例β將原始特征集中的特征劃分至優勢特征集P和候選特征集C

b)特征過濾

for優勢特征集P和候選特征集C中的特征Xido

計算特征交互系數FIC 和特征評價系數 FEC

end for

依照特征評價系數FEC進行排序

從優勢特征集P中選取前k個特征,從候選特征集C中選出前m-k個特征

將這m個特征合并至特征集 D

return D

2.2? 多粒度掃描

針對多粒度掃描過程中產生的特征掃描不平衡問題[17],本文提出了基于填充的改進多粒度掃描策略。該策略具體流程如下:首先對特征集進行補零填充,若為序列數據,則對其首尾進行0填充,若掃描的窗口大小為n,則上下填充的數量為n-1,若為圖像數據,則對四周進行0填充,若掃描的窗口大小為n×n,則四周填充的數量為n-1;其次,用一定大小的滑動窗口分別對填充后的特征集進行掃描,以獲得多個窗口大小的特征子序列,隨后對特征子序列進行隨機采樣;最后將采樣后的特征子序列分別輸入至1個隨機森林和1個完全隨機森林訓練,并將兩個森林的訓練結果進行拼接得到最終的輸入特征集。改進的多粒度掃描過程如圖2、3所示。

算法2? IMGS-P策略

輸入:最終特征集D。

輸出:輸入特征集α。

for最終特征集D中的數據do

對數據進行補0填充

end for

確定多粒度掃描的窗口大小

for填充后的數據 do

進行多粒度掃描

end for

對特征子序列進行隨機采樣

輸出采樣后特征子序列

將采樣后特征子序列分別輸入至1個隨機森林和1個完全隨機森林進行訓練

輸出隨機森林和完全隨機森林的結果

將隨機森林輸出的結果和完全隨機森林輸出的結果進行拼接得到類向量α

return α

2.3? 級聯森林構建

在目前的并行DF算法中,獲取級聯森林的預測結果是通過對隨機森林中每棵決策樹的預測結果取均值。然而,由于森林中各個決策樹的分類能力是各不相同的,簡單地對所有決策樹的預測結果進行算術平均會影響模型的分類性能,從而導致模型在級聯森林并行構建時容易出現分類性能不足的問題[18]。所以本文結合Spark提出并行子森林構建策略,通過融合加權的方式賦予分類能力強的子森林更高的權重,從而提升模型整體的分類性能。該策略主要包括三個步驟:a)森林分解。依據隨機狀態對隨機森林進行分解,保持森林分解前后的一致性。b)權重分配:分別賦予樣本和子森林初始權重,并將樣本輸入子森林進行訓練,獲得融合迭代后的子森林權重。c)森林構建:結合Spark并行框架實現級聯森林的并行構建,對分類結果進行交叉驗證以決定是否終止訓練。

2.3.1? 森林分解

由于級聯森林中隨機森林的數量較少,如果以隨機森林為單位進行權重分配,則難以提高模型的分類能力[19]。所以本文采用基于隨機狀態的森林分解策略對隨機森林進行分解,以子森林為單位進行權重分配。其具體過程為:首先遍歷級聯森林層中i個隨機森林R1,R2,…,Ri,獲得其隨機狀態參數r10,r20,…,ri0,則第i個隨機森林中的k棵決策樹的隨機狀態參數分別為ri1,ri2,…,rik;接著將該隨機森林分解為p個子森林sfi1,sfi2,…,sfip,其中每個子森林都包含l棵決策樹;最后為隨機森林Ri中每一個子森林設置隨機狀態ri0,ril,…,rik-l。

子森林隨機狀態參數的設置方法如圖4所示。假設隨機森林模型R中共有7棵決策樹,將該森林分為子森林sf1、sf2、sf3,分別含有2、2、3棵樹。如果隨機森林R的隨機狀態為r0,則其中每棵樹的隨機狀態分別按順序生成為r1,r2,…,r7。對于分解后的子森林,可以將子森林sf1的初始隨機狀態設為r0,則其中2棵決策樹的初始隨機狀態會按順序生成為r1、r2。接著將子森林sf2的初始隨機狀態設為r2,則其中2棵決策樹的初始隨機狀態會按順序生成為r3、r4,同理將子森林sf3的初始隨機狀態設為r4,其中3棵決策樹的初始隨機狀態會生成為r5、r6、r7。因此,隨機森林分解后每棵樹的隨機狀態與其不分解時的隨機狀態完全相同。由于隨機森林中每棵樹的訓練結果都是由其初始隨機狀態決定的,所以對于分解前后的隨機森林,輸入相同特征所產生的類向量也會完全相同。

2.3.2? 權重分配

使用子森林分解策略對隨機森林進行分解得到子森林和相應的隨機狀態后,便可對子森林進行權重分配,具體過程如下:首先讀取袋外數據集(out of bag,OOB)作為子森林的權重計算的樣本,同時為每個樣本和每個子森林賦予相同的權重向量;接著提出層級預測矩陣(layer prediction matrix,LPM)對層級中子森林的預測結果正確與否進行判別;最后提出融合權重公式(mixed weighting formula,MWF)對樣本和子森林的權重進行迭代計算直至收斂,賦予子森林最終收斂的權重值。

定理4? 層級預測矩陣LPM。已知C為訓練樣本集T的類別矩陣,則層級預測矩陣LPM為

LPM=[Pre(S1,T)==CT,Pre(S2,T)==CT,…,Pre(Sn,T)==CT](23)

其中:? Pre(Sk,T)=arg max(p1,1p1,2…p1,c)

arg max(p2,1p2,2…p2,c)

arg max(pm,1pm,2…pm,c)(24)

其中:m為樣本個數,c為類別個數,記為L={l1,l2,…,lc},Sk(k∈[1,n])表示第k個子森林,pi,j為第i個訓練樣本被子森林Sk預測為類lj的概率。

證明? 設子森林Sk在樣本集T上的預測概率矩陣Pro(Sk,T) 如下

Pro(Sk,T)=p1,1p1,2…p1,c

p2,1p2,2…p2,c

pm,1pm,2…pm,c(25)

由于在隨機森林算法中,輸出的分類結果為投票結果最多的類別,即是預測概率最大的類別,所以采用argmax()函數對每個樣本所有類別的概率值進行求參,獲得每個樣本最大概率對應的索引值,反映了子森林對該樣本集中的每個樣本的分類結果。組成的類別預測矩陣如下:

Pre(Sk,T)=arg max(p1,1p1,2…p1,c)arg max(p2,1p2,2…p2,c)

arg max(pm,1pm,2…pm,c)(26)

將矩陣Pre(Sk,T)與樣本集T的實際類別矩陣C進行一一比對,其中分類正確的樣本被標記為1,分類錯誤的被標記為0,由此可以獲得層級預測矩陣:

LPM=[Pre(S1,T)==CT,Pre(S2,T)==CT,…,Pre(Sn,T)==CT](27)

證畢。

定理5? 融合權重公式MWF。已知LPM為級聯森林的層級預測矩陣,I0為輸入樣本的初始權重,則融合權重公式MWF*為

MWF*=limi→∞(LPMTIi-1BTnLPMTIi-1)(28)

其中:? Ii=(Tmn-LPM)(Tnn-En)MWFiBTm(Tmn-LPM)(Tnn-En)MWFi(29)

I0=(Tmn-LPM)(Tnn-En)BnBTm(Tmn-LPM)(Tnn-En)Bn(30)

Tmn=11…111…1

11…1m×n(31)

En=10…001…0

00…1n×n(32)

Bn=111n×1(33)

證明? 已知LPM為m×n層級預測矩陣,m為樣本個數,n為子森林數目。在矩陣LPM中,對于每一個子森林,預測錯誤的樣本被標記為0,預測正確的樣本被標記為1。則每個樣本的初始預測難度可以由式(34)表示。

(Tmn-LPM)(Tnn-En)Bn(34)

其值越大代表樣本被越多的子森林預測錯誤,即更難以預測,反之則代表樣本更容易預測。為了反映級聯森林中輸入樣本的初始分類難易程度,可以對其進行單位范數的歸一化,表示如下:

I0=(Tmn-LPM)(Tnn-En)BnBTm(Tmn-LPM)(Tnn-En)Bn(35)

其中值越大表明在級聯森林層中樣本更難預測,反之則更容易預測。而子森林的初始權重可以通過將層級預測矩陣中子森林分類正確的比重與樣本的權重相結合而得到:

MWF1=LPMTI0BTnLPMTI0(36)

其分母同樣為單位范數的歸一化因子。接著對樣本權重向量以及子森林權重向量分別進行迭代直至子森林權重收斂,樣本的迭代權重向量和最終的子森林權重可以分別為

Ii-1=(Tmn-LPM)(Tnn-En)MWFi-1BTm(Tmn-LPM)(Tnn-En)MWFi-1(37)

MWF*=limi→∞(LPMTIi-1BTnLPMTIi-1)(38)

證畢。因此,通過融合權重公式MWF可以衡量樣本分類難度和子森林的分類能力,賦予分類性能更好的子森林更大的權重。

2.3.3? 森林構建

通過MWF公式對級聯森林中的子森林進行權重賦予后,為進一步加快級聯森林的構建效率,需要結合Spark模型對級聯森林的每一級進行并行構建,具體過程如下:

a)首先對輸入樣本集進行bootstrap采樣,再通過Spark中的RDD分區策略將采樣后的數據集和OOB數據集分別劃分為大小相同的數據塊block,將其作為DATA_RDD數據集和OOB_RDD傳輸到worker節點中;

b)在worker節點上采用OOB_RDD數據集構建兩個隨機森林和兩個完全隨機森林,采用子森林分解策略對隨機森林進行分解并賦予子森林相應的隨機狀態ri,采用mapToPair算子將子森林的編號與相應的隨機狀態進行合并形成鍵值對〈sfi,ri〉;

c)調用MapPartition算子在每個子森林上對OOB數據進行預測以獲取每個子森林的權重值ωi,并采用mapToPair算子將子森林的編號與相應的權重值ωi進行合并形成鍵值對〈sfi,ωi〉;

d)調用MapPartition算子對executor節點中的子森林對樣本進行預測并形成新的鍵值對〈IDi,Pi〉(IDi為樣本id與子森林編號的組合數組,Pi為樣本的類概率向量與子森林權重的組合數組),同時更新樣本和每個子森林的權重值,并調用K折交叉驗證函數以評估模型的預測準確率;

e)將節點中預測得到的鍵值對由master節點分配后傳入相應的reducer節點合并,得到該層級聯森林的預測概率類向量,如果K折交叉驗證的結果顯示模型預測準確率有所提升,則將類向量合并傳入下一級級聯森林進行訓練,否則將類向量輸出為最終的預測結果。

算法3? SFC-MW策略

輸入:輸入特征集α。

輸出:分類概率向量Pre;該級級聯森林模型以及下一級輸入樣本S。

a)森林分解

for級聯層中的隨機森林do

獲取隨機森林的隨機狀態

for隨機森林Ri中的決策樹do

獲取決策樹的隨機狀態

end for

將隨機森林分解為p個子森林

end for

for子森林do

設置隨機狀態

end for

return子森林模型和相應的隨機狀態

b)權重分配

for子森林do

給予相同的權重

使用袋外數據訓練子森林

計算層級預測矩陣LPM

通過融合權重公式MWF計算子森林的權重

將子森林的編號與權重進行合并形成鍵值對

end for

return分配權重后的子森林模型

c)森林構建

對特征集D進行bootstrap采樣

將采樣后的數據集劃分為大小相同的數據塊block

for數據塊block do

輸入至分配權重后的子森林進行訓練

獲得樣本預測后的概率類向量

end for

對子森林模型進行K折交叉驗證

if準確率提高

將預測的概率類向量與特征集D合并為數據集S

return概率類向量Pre

else

停止級聯森林構建

return 數據集S

2.4? 類向量合并

在對級聯森林層輸出的類向量結果進行合并時需要先等待各分布式節點上的模型訓練終止。然而,由于Spark進行任務調度時遵循數據本地性優先的調度方式,而忽略了各個計算節點中構建的子森林的數量與負載情況,在合并時各節點結果時容易出現相互等待的現象,導致并行DF算法在類向量合并階段會存在模型并行效率低的問題[20]。所以本文提出基于混合粒子群算法的負載均衡策略,通過對任務節點的負載分配進行智能尋優的方式提升模型的并行效率。其具體工作流程如下:

a)首先對所有任務節點的運行狀態、健康情況和負載信息進行統計,獲得各任務節點的負載狀態。

b)將任務節點看做一群粒子P1,P2,…,Pm,初始化每個粒子的速度和位置,給定慣性權重ω、學習因子c1和c2以及初始退火溫度T。

c)提出相應的適應度函數f(xi),計算每個粒子的適應度f(xi),并引入模擬退火算法中的Metropolis準則。

定理6? 適應度函數FF。適應度函數的設計如下:

f(x)=1αLoad+βTasktime(39)

其中:Load為每個節點與理想負載之間的平均一階范數;Tasktime為任務節點之間相互等待的最大時間;α和β為可調參數。

證明? 假設節點的負載狀態系數LCCi能夠代表該節點的負載情況,LCC為所有任務分配至節點后實現負載均衡的期望值,LCCi-LCC則代表了每個節點與理想負載之間的差值,其平均一階范數如下:

Load=1m‖LCCi-LCC‖1(40)

其大小反映的是每個任務節點負載情況與負載均衡期望值之間的偏差程度,即Load值越小偏差程度越小,反之越大。假設任務節點中最大任務完成時間為max(time),最小任務完成時間為min(time),二者之間的差值如下:

Tasktime=max(time)-min(time)(41)

其大小反映了任務節點之間相互等待的最大時間,Tasktime的值越小則節點之間相互等待的最大時間越小。故而,αLoad+βTasktime能夠同時考慮節點任務負載的均衡以及節點的等待時間。由于適應度函數的取值趨向于最小值,所以對其取倒數可以獲得:

f(x)=1α(1m‖LCCi-LCC‖1)+β(max(time)-min(time))=

1αLoad+βTasktime(42)

證畢。因此適應度函數f(x)能夠衡量任務節點之間的均衡程度,從而使粒子朝著任務節點負載更為均衡的方向移動。

d)將xi粒子的適應度f(xi)其與pbesti,d進行比較,如果f(xi)>pbesti,d,則接受這個新位置xi,用該適應值替換當前的pbesti,d,否則判斷概率p=exp(Δf/T)是否大于隨機數rand(0,1),如果p=exp(Δf/T)> rand(0,1)也同樣接受這個新位置xi,用該適應值替換當前的pbesti,d。對于全局極值gbestd和最優個體同樣采用Metropolis準則進行更新。

e)適應值更新后依據速度和位置更新公式對粒子的速度和位置進行更新,當算法達到終止標準,即達到最大迭代次數或相鄰兩代偏差小于ΔP時輸出全局最優位置,其對應的任務分配序列即為最優的分配方案,否則繼續進行迭代計算。

f)各任務節點根據得到的任務分配方案進行任務分配,待各節點完成子森林訓練后實行類向量合并,輸出結果。

算法4? LB-HPSO策略

輸入:任務數Ti(i=1,2,…m);任務節點數Ni及負載能力Li;負載狀態Si(i=1,2,…n)。

輸出:最優調度方案Pg=(pg1,pg2,…,pgN)。

初始化種群數量 n,慣性權重 ω,學習因子 c1、c2,退火溫度 T和最大迭代次數 I

for k=1 to I do

for 粒子 xido

計算適應度函數 fitness(xi)

if fitness(xi)>pbesti

fitness(xi)→pbesti

else

if p=exp(Δf/T)>rand(0,1)

fitness(xi)→pbesti

end if

end if

end for

選擇有最佳適應度的粒子作為pbesti

for 粒子xido

根據式(9)計算速度

根據式(10)更新粒子的位置

end for

輸出最優調度方案Pg=(pg1,pg2,…,pgN)

2.5? PDF-MIMW算法時間復雜度分析

由于ForestLayer、BLB-gcForest、IPDFIT算法設計了優化策略來提高并行DF算法的性能,故選取它們與本文算法進行比較。本文算法的時間復雜度由特征降維、多粒度掃描、級聯森林構建和負載均衡四部分組成,分別記為T1、T2、T3和T4。各部分具體時間復雜度計算如下:

a)特征降維階段。該階段的時間復雜度主要由特征劃分、特征篩選和多粒度掃描三部分組成。假設特征劃分后優勢特征集P和候選特征集C的大小分別為s和c,則特征劃分的時間復雜度為O(s+c+c log c)。假設特征過濾時從優勢特征集和候選特征集中過濾的特征總數為d,則特征篩選的時間復雜度為O(s+c+m)。綜上,特征提取階段的時間復雜度T1為

T1=O(2s+2c+c·log c+d)(43)

b)多粒度掃描階段。假設多粒度掃描的粒度為L,樣本數量為n,森林中樹的個數為N,則多粒度掃描的時間復雜度T2為

T2=O(N·n·d·L·log2(n·d))(44)

c)級聯森林構建階段。該階段的時間復雜度主要由級聯森林的構建和權重分配兩部分組成。假設樣本數量為n,森林中樹的個數為N,特征數為d,級聯森林層數為W,則級聯森林構建的時間復雜度為O(PNm log2(n))。假設權重的迭代次數為I,則權重分配的時間復雜度為O(IN)。綜上,級聯森林構建階段的時間復雜度T3為

T3=O(P·N·d·log2(n)+I·N)(45)

d)負載均衡階段。該階段的時間復雜度主要取決于LB-HPSO策略的時間復雜度。假設任務節點數為k,粒子群迭代次數為P,則負載均衡的時間復雜度T4為

T4=O(k·P)(46)

綜上所述, PDF-MIMW算法的時間復雜度為

TPDF-MIMW=T1+T2+T3+T4(47)

ForestLayer算法在多粒度掃描階段的時間復雜度為T1=O(NndL log2(nd))(其中n為樣本數目,N為森林中樹的個數,d為特征個數,L為多粒度掃描的粒度),在并行構建級聯森林階段的時間復雜度為T2=O(S·t+WFnd log2(n)/S)(其中 S為子森林的個數,t為隨機森林中樹的個數,W為級聯森林層數,N為森林中樹的個數,特征數為d),則ForestLayer算法的時間復雜度為

TForestLayer=O(NndL log2(nd)+S·t+WFnd log2(n)/S)(48)

BLB-gcForest算法在bag of little boostrap階段的時間復雜度為T1=O(s·g/b+ny)(其中 n為樣本數目,g為子樣本集的大小,b為節點個數,y∈[0.5,1]),在多粒度掃描階段的時間復雜度為T2=O(NndL log2(nd))(其中N為森林中樹的個數,d為特征個數,L為多粒度掃描的粒度),在并行構建級聯森林階段的時間復雜度為T3=O(WFnd log2(n)/S)(其中 S為子森林的個數,W為級聯森林層數,N為森林中樹的個數,特征數為d),則BLB-gcForest算法的時間復雜度為

TBLB-gcForest=O(s·g/b+ny+NnoL log2(no)+WNnd log2 (n)/S)(49)

IPDFIT算法在特征降維時需計算每個特征的信息增益值,則該階段的時間復雜度為T1=O(n·d/b+m3)(其中 n為樣本數目,d為特征數,b為節點個數,選擇后的特征數為m),在多粒度掃描階段的時間復雜度為T2=O(NnoL log2 (no))(其中 o為特征降維后的特征個數,L為多粒度掃描的粒度),在并行構建級聯森林階段的時間復雜度為T3=O(2WFcno log2(n))(其中 W為級聯森林層數,F為森林中樹的個數,特征數為2co),則IPDFIT算法的時間復雜度為

TIPDFIT=O(n·d/b+m3+NnoL log2(no)+2WFcno log2(n))(50)

由于大數據環境下輸入的數據量十分龐大,并且在深度森林模型中,其時間復雜度主要由輸入至級聯森林訓練時的特征數量以及級聯森林的層數所決定,即各算法時間復雜度中的d以及W。由于算法ForestLayer和BLB-gcForest并沒有進行特征預處理,所以dPDF-MIMW<

3? 實驗結果及比較

3.1? 實驗環境

為驗證本文PDF-MIMW算法可行性以及有效性,設計了相關實驗進行分析。實驗硬件配置為包括8個計算節點(1個主節點和7個從節點)主從結構的分布式集群。各計算節點的硬件配置均為Intel CoreTM i7-11700H CPU、16 GB DDR4 RAM、1 TB SSD,且各節點處于同一局域網內,并通過1 GB/s以太網進行通信。實驗軟件配置則統一安裝Ubuntu 16.04.7、Apache Hadoop 2.7.7以及JDK 1.8.0的Java開發環境。集群中各計算節點的具體配置如表1所示。

3.2? 實驗數據

本文實驗數據采用的四個數據集均為UCI數據庫[21]的真實數據集,分別為YEAST、ADULT、IMDB以及SUSY。其中YEAST是一個預測蛋白質的細胞定位的酵母數據集;ADULT是從美國人口普查數據庫中提取出的一個人口收入數據集;IMDB是一個對電影評論標注的文本分類數據集;SUSY是一個記錄使用粒子加速器探測粒子的數據集。上述數據集的詳細信息如表2所示。

3.3? 評價指標

1)加速比? 加速比是同一任務在單機計算系統和并行計算系統中運行時間的比值,可以有效衡量算法采用并行計算系統并行計算獲得的時間性能提升效果,加速比定義如下:

Sp=T1Tn(51)

其中:n為節點數目;T1為任務在單機中的運行時間;Tn為任務在具有n個節點的并行計算系統中的運行時間。Sp值越大說明任務在并行計算系統中獲得的性能提升效果越好。

2)準確率? 準確率(accuracy)是指分類模型正確分類的樣本數與總樣本數的比值,可以有效衡量算法的分類性能,準確率定義如下:

accuracy=TP+TNTP+FN+FP+TN(52)

其中:TP、TN、FP、FN分別對應混淆矩陣中將正類樣本預測為正類的樣本數、將正類樣本預測為負類的樣本數、將負類樣本預測為正類的樣本數與將負類樣本預測為正類的樣本數。accuracy值越大代表該分類模型的分類效果越好。

3.4? 算法可行性分析

為了驗證PDF-MIMW算法在大數據環境下的可行性,本文采用表2中YEAST、ADULT、IMDB以及SUSY作為數據集,分別在并行節點數為1、2、4、6和8的Spark框架中,將算法在上述數據集中獨立運行十次并取平均運行時間計算加速比。通過對算法在不同節點數下以及不同數據集的加速比進行分析,實現對PDF-MIMW算法的可行性分析。

PDF-MIMW算法在各數據集上的加速比如圖5所示。從圖5可以看出,隨著節點數量的增加,PDF-MIMW算法在四個數據集上的加速比總體呈上升的趨勢,并且隨著數據集規模的逐步增長,PDF-MIMW算法加速比的上升趨勢也愈加明顯。其中,當節點數量為2時,PDF-MIMW算法在四個數據集上的加速比相差不大,分別比單節點增加了0.63、0.61、0.67、0.77;當節點數量為4時,算法在各數據集上的加速比相較于單節點分別增加了1.98、2.12、2.25、2.65;當節點數量為8時,PDF-MIMW算法在各數據集上的加速比相較于單節點有了顯著提升,分別增加了3.69、3.83、4.12、4.81。產生這些結果的原因是:一方面PDF-MIMW算法提出了FE-FI策略,通過先劃分后篩選的方式過濾了不相關和冗余特征,極大地提升了PDF-MIMW算法的并行化訓練效率;另一方面PDF-MIMW算法在級聯森林并行構建階段提出了SFC-MW策略,該策略通過對級聯森林進行細粒度并行化的方式提升了PDF-MIMW算法在大數據環境下的并行化訓練效率。因此可得,在大規模數據集下,隨著節點數量的增加,PDF-MIMW算法的并行化訓練效率也會隨之顯著提升,這體現出PDF-MIMW算法適用于大規模數據集下的并行處理,同時也表明了PDF-MIMW算法在大數據環境下具有良好的可行性與有效性。

3.5? 算法性能比較分析

3.5.1? 算法分類效果

為評估PDF-MIMW算法的分類性能,采用accuracy作為評價指標,分別將PDF-MIMW、 ForestLayer、BLB-gcForest以及IPDFIT算法在四個數據集中進行對比實驗,在實驗中分別比較了上述算法的分類精確度accuracy,實驗結果如圖6所示。

由圖6可知,在四個數據集中,PDF-MIMW算法的分類精確度始終高于ForestLayer、BLB-gcForest以及IPDFIT算法。在YEAST數據集中,相較于ForestLayer、BLB-gcForest以及IPDFIT算法,PDF-MIMW算法的分類準確率分別高出1.74%、1.27%和3.29%;在ADULT數據集中,相較于ForestLayer、BLB-gcForest以及IPDFIT算法,PDF-MIMW算法的分類準確率分別高出4.14%、2.97%和3.03%;在IMDB數據集中,相較于PDF-MIMW、ForestLayer、BLB-gcForest以及IPDFIT算法,PDF-MIMW算法的分類準確率分別高出3.52%、2.43%和5.24%;在SUSY數據集中,相較于ForestLayer、BLB-gcForest以及IPDFIT算法,PDF-MIMW算法的分類準確率分別高出7.22%、3.42%和5.52%。從上述數據可知PDF-MIMW在四個數據集中的分類精確度具有顯著優勢,在SUSY數據集中優勢更為明顯。造成這種結果的主要原因是 PDF-MIMW算法設計了SFC-MW策略,通過綜合考量樣本分類難度和子森林分類性能的方式,對分類能力強的子森林賦予更高的權重,從而提高了模型的分類性能。

3.5.2? 算法運行時間

為驗證PDF-MIMW算法的時間復雜度,本文將PDF-MIMW算法分別與ForestLayer、BLB-gcForest和IPDFIT算法在YEAST、ADULT、IMDB以及SUSY四個數據集上進行了五次對比實驗,并取五次運行時間的均值作為最終的實驗結果。實驗結果如圖7所示。

由圖7可知,四個算法的運行時間都隨著并行節點數的增加而下降,相比于ForestLayer、BLB-gcForest以及IPDFIT算法,PDF-MIMW算法在不同并行節點數不同數據集上消耗的運行時間較低,且隨著并行節點數的增加PDF-MIMW算法的運行時間優勢更為突出。其中,當處理數據量較小的數據集YEAST時,如圖7(a)所示,節點數量為8的PDF-MIMW算法的運行時間分別比ForestLayer、BLB-gcForest和IPDFIT算法減少了15.85%、15.04%和11.24%;當處理數據量較大的數據集SUSY時,如圖7(d)所示,節點數量為8的PDF-MIMW算法的運行時間分別比ForestLayer、BLB-gcForest和IPDFIT算法減少了24.78%、17.81%和14.68%。產生這種結果的主要原因是:a)PDF-MIMW算法采用了FE-FI策略,該策略消除了冗余特征在訓練過程中的重復計算,降低了算法在冗余特征計算上的時間開銷;b)PDF-MIMW算法通過LB-HPSO策略對每個節點的任務進行了合理分配,降低了算法由于節點之間相互等待而產生的時間開銷。

3.5.3? 算法加速比

為驗證PDF-MIMW、ForestLayer、BLB-gcForest以及IPDFIT算法在大數據環境下的并行化性能,本文采用加速比作為評價指標,分析比較了PDF-MIMW在各個數據集上和其他三個算法的加速比差異,實驗結果如圖8所示。由圖8可知,在處理YEAST、ADULT、IMDB和SUSY數據集時,各算法的加速比都隨著節點數量的增加而逐漸上升,在節點數為8時加速比達到最大,并且隨著數據規模的逐步擴大,PDF-MIMW算法在各數據集上加速比的上升趨勢相較于其他三個算法更為顯著。其中,在處理數據規模較小的數據集YEAST上,如圖8(a)所示,各算法之間的加速比相差不大,當節點數量為2時,PDF-MIMW算法的加速比為1.68,分別比ForestLayer和BLB-gcForest算法的加速比低了0.06、0.12,比IPDFIT算法的加速比高了0.02;但當節點數量增加至8的時,PDF-MIMW算法的加速比卻超過了其他四種算法,分別比 ForestLayer、BLB-gcForest和IPDFIT算法的加速比高出了0.30、0.17和0.25。在處理數據規模較大的數據集SUSY上,如圖8(d)所示,PDF-MIMW算法的加速比始終高于其他三個算法,當節點數量為2時,PDF-MIMW算法的加速比為1.83,分別比ForestLayer、BLB-gcForest和IPDFIT算法的加速比高出了0.18、0.12和0.15;當節點數量為8時,PDF-MIMW算法的加速比為5.88,分別比ForestLayer、BLB-gcForest和IPDFIT算法的加速比高出了1.13、0.53和0.68。由數據分析可知,相較于ForestLayer、BLB-gcForest以及IPDFIT算法,PDF-MIMW算法有著更好的加速比性能,這主要有兩方面原因:一方面是PDF-MIMW算法憑借SFC-MW策略對隨機森林進行分解,充分利用了Spark平臺的計算資源,提升了模型的并行性能,而且隨著數據規模的擴大,PDF-MIMW算法通過高效的并行化子森林構建來降低算法總體運行時間的優勢也被逐漸放大;另一方面是PDF-MIMW算法設計了LB-HPSO策略,該策略均衡了各節點之間的負載,提升了PDF-MIMW算法的加速比。所以PDF-MIMW算法有著更高的加速比,在節點數較多的情況下具有更高的并行效率。

4? 結束語

針對大數據環境下并行DF算法的不足,本文提出了Spark下基于互信息和加權融合的并行DF算法PDF-MIMW。該算法首先提出基于互信息的特征提取策略FE-MI,結合特征重要性和冗余性度量對原始特征集進行篩選,過濾不相關和冗余特征;然后結合Spark框架提出了并行森林構建策略SFC-MW,通過并行構建加權的級聯子森林以提升模型的訓練效率和預測精度,提高了模型的分類性能;最后提出基于混合粒子群算法的負載均衡策略LB-HPSO,通過均衡集群中各節點之間的負載降低集群總體的平均反應時長,提升了類向量合并的效率。為驗證PDF-MIMW算法性能,將PDF-MIMW與ForestLayer、BLB-gcForest以及IPDFIT算法,在數據集YEAST、ADULT、IMDB以及SUSY上進行比較驗證。最終實驗結果表明,本文算法能夠大幅提升并行DF模型的訓練效率。

盡管本文算法在大數據環境下有著相對較好的性能表現,但其仍存在一些不足:a)在數據量較少時,運行時間優勢不突出;b)在不平衡數據集中,算法性能會受到較大限制。這些都是現階段存在的不足,也將是未來的研究重點。

參考文獻:

[1]Zhou Zhihua,Feng Ji.Deep forest[J].National Science Review,2019,6(1):74-86.

[2]Guan Jie,Guo Minkai,Fang Sen.Partial discharge pattern recognition of transformer based on deep forest algorithm[J].Journal of Phy-sics:Conference Series,2020,1437(1):012083.

[3]Zheng Wenbo,Yan Lan,Gou Chao,et al.Fuzzy deep forest with deep contours feature for leaf cultivar classification[J].IEEE Trans on Fuzzy Systems,2022,30(12):5431-5444.

[4]牛振東,石鵬飛,朱一凡,等.基于深度隨機森林的商品類超短文本分類研究[J].北京理工大學學報,2021,41(12):1277-1285.(Niu Zhendong,Shi Pengfei,Zhu Yifan,et al.Research on classification of commodity ultra-short text based on deep random forest[J].Trans of Beijing Institute of Technology,2021,41(12):1277-1285.)

[5]Qin Xiwen,Xu Dingxin,Dong Xiaogang,et al.The fault diagnosis of rolling bearing based on improved deep forest[J].Shock & Vibration,2021,2021(6):1-13.

[6]Cheng Xuewei,Wang Sizheng,Zou Yi,et al.Deep survival forests with feature screening[J].Biomedical Signal Processing and Control,2023,79:104195.

[7]Hu Bo,Wang Jinxi,Zhu Yifan,et al.Dynamic deep forest:an ensemble classification method for network intrusion detection[J].Electronics,2019,8(9):968.

[8]Zaharia M,Chowdhury M,Franklin M J.Spark:cluster computing with working sets[C]//Proc of the 2nd USENIX Conference on Hot Topics in Cloud Computing.[S.l.]:USENIX Association,2010:10.

[9]Zhu Guanghui,Hu Qiu,Gu Rong,et al.ForestLayer:efficient training of deep forests on distributed task-parallel platforms[J].Journal of Parallel & Distributed Computing,2019,132:113-126.

[10]Chen Zexin,Wang Ting,Cai Haibin,et al.BLB-gcForest:a high-performance distributed deep forest with adaptive sub-forest splitting[J].IEEE Trans on Parallel and Distributed Systems,2021,33(11):3141-3152.

[11]毛伊敏,耿俊豪,陳亮.結合信息論改進的并行深度森林算法[J].計算機工程與應用,2022,58(7):106-115.(Mao Yimin,Geng Junhao,Chen Liang.Improved parallel deep forest algorithm combining with information theory[J].Computer Engineering and Applications,2022,58(7):106-115.)

[12]Kwon Y,Baek S K,Um J.Correlation between concurrence and mutual information[J].Journal of Statistical Mechanics:Theory and Experiment,2022,2022(9):093104.

[13]Reena I,Karthik H S,Prabhu Tej J,et al.Local sum uncertainty relations for angular momentum operators of bipartite permutation symme-tric systems[J].Chinese Physics B,2022,31(6):163-169.

[14]Meetu J,Vibha S,Narinder S,et al.An overview of variants and advancements of PSO algorithm[J].Applied Sciences,2022,12(17):8392.

[15]Verikas A,Gelzinis A,Bacauskiene M.Mining data with random forests:a survey and results of new tests[J].Pattern Recognition,2011,44(2):330-349.

[16]Lin Xiaohui,Li Chao Ren,Luo Weijie,et al.A new feature selection method based on symmetrical uncertainty and interaction gain[J].Computational Biology & Chemistry,2019,83:107149.

[17]周博文,皋軍,邵星.環狀掃描的強深度森林[J].計算機工程與應用,2021,57(8):160-168.(Zhou Bowen,Gao Jun,Shao Xing.Strong deep forest with circular scanning[J].Computer Engineering and Applications,2021,57(8):160-168.)

[18]Ma Pengfei,Wu Youxi,Li Yan,et al.DBC-forest:deep forest with binning confidence screening[J].Neurocomputing,2022,475:112-122.

[19]Pang Ming,Ting K M,Zhao Peng,et al.Improving deep forest by screening[J].IEEE Trans on Knowledge and Data Engineering,2022,34(9):4298-4312.

[20]Yin Linzi,Chen Ken,Jiang Zhaohui,et al.A fast parallel random forest algorithm based on spark[J].Applied Sciences,2023,13(10):6121.

[21]National Science Foundation.UCI machine learning repository[EB/OL].(2023).https://archive.ics.uci.edu/.

猜你喜歡
負載均衡互信息
基于改進互信息和鄰接熵的微博新詞發現方法
Linux負載均衡集群技術在網絡服務器中的應用
Oracle MAA在汽車行業電子政務平臺中的應用
異構環境下改進的LATE調度算法
基于負載均衡的云資源調度策略研究
采用目標區域互信息的星空圖像配準
基于互信息的貝葉斯網絡結構學習
多站點同步更新系統的設計
聯合互信息水下目標特征選擇算法
模糊理論在Ad hoc網絡通信領域的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合