999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于文化基因算法和猶豫模糊集的聚類算法及其分布并行實現

2021-04-15 03:58:46
計算機應用與軟件 2021年4期
關鍵詞:特征

王 超 英

(東莞職業技術學院 廣東 東莞 523808)

0 引 言

隨著醫院的信息化建設和普及,全國的醫療系統每天產生海量的數據,如何高效地管理醫療大數據成為了一個難題[1]。在醫學領域存在大量的高維小樣本數據,例如醫囑類文檔數據、病例類文檔數據、DNA微陣列數據[2-3]。海量高維小樣本數據集的聚類和分析需要大量的處理時間。以DNA微陣列數據為例,微陣列的維度高,且含有大量的冗余樣本和不相關樣本,嚴重影響聚類器的準確率[4]。

通過特征選擇處理能夠降低特征集的維度,刪除冗余特征和不相關特征,有助于提高數據聚類的準確率和速度,是當前高維小樣本數據挖掘領域的研究熱點[5]。為了解決上述高維小樣本數據集的瓶頸問題,許多研究人員進行了深入的分析[6]。文獻[7]基于隨機森林變量重要性分數提出了一種加權K-均值的基因微陣列數據聚類算法,以基因為對象、樣本為特征、基因的重要性分數為權重進行K-均值聚類,該算法提高了聚類結果的同質性和差異性。文獻[8]提出的高維微陣列數據混合特征選擇算法分為兩層:第一層使用信噪比方法計算全部基因的信噪比值,根據信噪比值選擇指定數目的信息基因,過濾無關基因;第二層使用改進的Lasso方法對第一層得到的信息基因候選子集進行特征選擇,剔除冗余基因。文獻[7-8]均采用了過濾式特征選擇算法,分別將隨機森林變量重要性分數和基因信噪比作為特征重要性的評價指標,此類傳統方法難以獲得最少的特征數量[9]。

DNA微陣列數據存在以下特點[10]:(1) 生物標志物的數量極低(低于1%);(2) 生物標志物能夠提高特征子集的聚類準確率;(3) 過濾式特征選擇可縮小搜索空間,但無法保證優質的特征選擇結果;(4) 樣本量少,聚類器訓練難度大。提取最少量、最高準確率的特征子集是特征選擇的兩個目標,采用元啟發式算法對兩個目標進行尋優是一個重要的研究方向,例如:量子進化算法[11]、飛蛾撲火優化算法[12]和人工蜂群優化算法[13],但此類算法在全局搜索和局部開發之間未能實現較好的權衡,同時基于迭代的算法對于海量數據的處理速度較慢,效率較低。文化基因算法[14](Memetic Algorithm,MA)是一種基于種群全局搜索和基于個體局部啟發式開發的結合體,其搜索效率最高比遺傳算法快數個數量級。鑒于遞歸模型[15]在全局搜索和局部開發之間能夠實現較好的平衡,本文將文化基因算法和遞歸模型結合,設計了遞歸文化基因算法(Recursive Memetic Algorithm,RMA)。采用遞歸文化基因算法求解高維小樣本數據的特征選擇問題,但是基于迭代的尋優過程依然較為耗時。

分布式并行計算模型是加快大數據處理的有效方法,目前的大數據技術大多基于MapReduce框架,但該框架并不適合基于迭代的算法,原因主要有[16]:(1) 每次迭代作為獨立任務重新處理,需要重新讀寫數據和初始化數據;(2) 每次迭代需要重新從分布式文件系統加載程序,消耗I/O資源和CPU資源;(3) 前一次迭代必須全部結束并且數據全部寫入分布式文件系統,才能開始下一次迭代。Spark框架[17]則是基于內存的分布式并行計算模型,將數據緩存于各節點的內存中,從而縮短數據訪問的延遲。本文基于Spark架構設計和實現了遞歸文化基因算法,可以高效、準確地進行高維小樣本數據集的特征選擇處理。并且本文研究并提出了一種基于猶豫模糊集理論(Hesitant Fuzzy Set,HFS)的加權相關性指數度量基因的相似性,設計了基于HFS的密度聚類方法,HFS對噪聲具有魯棒性,設計了迭代Spark框架的彈性分布式數據集(Resilient Distributed Datasets,RDD)模塊將基因集聚類處理。

1 猶豫模糊集理論

HFS是一種擴展模糊集,其隸屬度不是確定值或服從確定分布,而是多個可能值,該理論對于群決策信息的處理具有優勢[18]。

1.1 HFS定義

設X={x1,x2,…,xn}為一個固定集,如果A滿足以下條件,則認為A是X的一個HFS。

A={〈x,hA(x)〉|x∈X}

(1)

設h、h1、h2為3個HFE,HFE支持以下三個運算:

(2)

(3)

(4)

給定h∈HFE(x),x的下限和上限分別定義為:

LB:h-(x)=min(h(x))UB:h+(x)=max(h(x))

(5)

設Aenv(h)表示h的包絡線,表示為(h-,1-h+)。

1.2 HFS的相關性

設X={x1,x2,…,xn}為一個離散論域,A和B是X上的兩個HFS,表示為A={〈xi,hA(xi)〉|xi∈X,i=1,2,…,n},B={〈xi,hB(xi)〉|xi∈X,i=1,2,…,n}。如果len(hA(xi))

(6)

兩個HFS的相關性定義為:

(7)

如果A,B∈HFS,那么CHFS(A,A)=EHFS(A),CHFS(A,B)=CHFS(B,A)。最終可計算出兩個HFS的相關系數:

(8)

HFS的相關系數具有以下屬性[19]:ρHFS(A,B)=ρHFS(B,A),0≤ρHFS(A,B)≤1,如果A=B,那么ρHFS(A,B)=1。

2 聚類系統總體結構

本文的高維大數據聚類系統(見圖1)主要分為兩個部分:基于密度的聚類處理和遞歸文化基因的特征歸簡處理。兩個部分是遞歸迭代的關系。在每次迭代中,遞歸文化基因算法遞歸地化簡特征子集,將特征子集輸入聚類處理部分,根據聚類結果判斷特征子集的質量,實現了一種封裝式特征選擇方式。密度聚類處理應用特征子集做聚類處理,基于Spark框架提高處理的速度和效率。

圖1 高維大數據聚類系統的主要模塊圖

3 基于遞歸文化基因的特征歸簡

遞歸文化基因算法(RMA)進行特征選擇總體上重復執行文化基因算法(MA),逐步縮小特征空間。MA采用精英機制,隨機建立種群,按聚類的適應度值(準確率)將染色體排列。首先,每個染色體做局部搜索處理,將其替換為更好的染色體;然后,采用輪盤賭選擇交叉算子的染色體,應用MA的交叉算子和變異算子。MA算法對于一般數據的特征選擇效果較好,但對高維微陣列數據的降維能力較弱,因此設計了RMA模型。

應用MA優化種群,選出適應度高于動態閾值θ的i個最優染色體,i個染色體和β%的最優特征合并組成新的特征空間,新特征子集的聚類準確率應當高于θ;再次應用MA處理上述特征子集,逐漸縮小特征空間,并且提高后續基于密度聚類的準確率。圖2為RMA的算法流程。

圖2 RMA的算法流程

(1) 局部搜索。初始化階段將排序的特征集輸入RMA做局部搜索處理,局部搜索包括ADD和DEL兩個算子。設cr為選擇的一個基因子集的染色體,P和Q分別為染色體cr選擇和排除的基因子集。ADD算子將Q的基因加入P中,DEL算子將基因從P放入Q中。局部搜索的主要問題是決定ADD、DEL算子的輸入基因集,首先采用ReliefF方法[20]將所有的特征排序,然后ADD算子選擇Q中最優的特征,加入P中,DEL算子選擇P中最差的特征,移至Q中。

(2) 交叉算子。交叉算子是一種遺傳算子,交叉算子的方式主要有單點交叉、兩點交叉、多點交叉、融合交叉和均勻交叉等,其中兩點交叉實現較為簡單,且無須設置交叉概率,因此采用兩點交叉算子。

(3) 變異算子。變異算子也是一種遺傳算子,有助于增強算法的全局搜索能力。變異率設為隨機變量q,每次迭代基于概率q應用變異算子。

(4) 綜合多目標的適應度函數。基因微陣列的聚類準確率結果作為主目標,特征數量作為次目標。具體方法為:設置一個誤差域值,在最大化次目標的情況下,保留其中準確率誤差小于閾值的染色體,刪除高于閾值的染色體。算法1所示為適應度評價算法,采用加權平均準確率和特征數量決定優質的染色體,其中γ=1-(選擇的特征數量/特征總數量)。

算法1適應度評價算法

輸入:染色體ci,cj。

輸出:優質染色體c。

1. if ((mod(acc(ci)-acc(cj))>α))

//mod表示模運算,acc()為準確率

2. if (acc(ci) >acc(cj))

//比較準確率

3. returnci;

4. else

5. returncj;

6. else

7.v=((w1×acc(ci))+(w2×γ(ci)))-((w1×acc(cj))+(w2×γ(cj)))

8. if (v>0)

9. returnci;

10. else

11. returncj

(5) 特征空間化簡。設一個動態閾值φ,種群的top-i染色體與φ作比較,如果染色體的適應度高于φ,則重建種群。通過調節φ將種群規模從100%調節至ρ%,重建種群時,φ設為top-i種群的平均值。算法2是φ的增加算法偽代碼,其中:r是種群重建的次數,φ隨著r遞增,參數l1,l2,l3,step等參數根據實驗確定。算法3是φ的衰減算法偽代碼,φ隨著recn增加而降低。如果處理測試集的特征集較小且準確率高,或者達到了預定義的最大遞歸次數,則停止遞歸模型。根據實驗結果將li值設為:l1=8,l2=6,l3=3,l4=10,l5=13。

算法2φ的遞增算法

輸入:top-i染色體的平均準確率:accavg。

輸出:動態閾值φ。

1.stepl=step×2;

2. if (r>l1)

3.φ=max(accavg,100-stepl);

4. else if (r>l2)

5.φ=max(accavg,100-2×stepl);

6. else if (r>l3)

7.φ=max(accavg,100-3×stepl);

8. end if

算法3φ的衰減算法

輸入:種群重建次數:recn。

輸出:動態閾值φ。

試驗過程中,每周從每個重復組中隨機選出1只小鼠,宰殺解剖后分別切取十二指腸段、空腸段、回腸段各3 cm左右。按照ELISA試劑盒使用說明書通過酶標儀進行測定腸道黏膜SIgA的表達水平。試劑盒購置于德國IBI分裝公司。

1. if (recn>l4&&φ≥ρ+step)

2.φ=φ-step;

3. if (recn>l5&&φ≥ρ-step)

4.φ=φ-step;

5. end if

4 基于密度的聚類系統

4.1 聚類算法

設ξ為類的最少成員數量,τ為類內成員之間的最大距離。本文的研究對象為DNA微陣列數據集,所以假設數據元素為基因數據。設Nτ(gi)表示與基因(gi)距離小于τ的基因集,如果(|Nτ(gi)|+1)≥ξ,則稱gi為一個核心基因(Core Gene,CG),|Nτ(gi)|表示Nτ(gi)的大小。類中的非CG基因稱為邊緣基因(Border Gene,BG)。設G={g1,g2,…,gn}為一個基因集,如果gb∈CG且ga∈Nτ(gb),那么ga由gb密度直達,將gb由ga密度直達表示為ga→gb,核心基因具有自我密度直達的性質。設一個基因序列為{g1,g2,…,gk},如果存在一個密度直達序列滿足條件gi→gi+1,1≤i≤k-1,那么g1向gk密度可達,表示為g1?gk。密度可達具有對稱性,即g1?gk≡gk?g1。如果一個非CG與任意的CG均不是密度可達,那么該基因為孤立基因(Outlier Gene,OG)。CG的鄰居基因之間密度相連,并且所有可達基因均與CG密度相連。如果存在gk?gi,gk?gj,gk∈CG,那么gi和gj密度相連,本文將密度相連表示為gi?gj。對于聚類問題,同一個類的基因之間密度相連。

4.2 基于猶豫模糊理論的基因相似性度量

相似性度量是決定聚類準確性的關鍵因素,采用HFS相關系數度量基因的相似性。設Gj為m個HFS的元素,cor=(ρij)m×m為一個相關矩陣。根據式(8),ρij表示Gi和Gj間的相關系數,ρij具有以下屬性[19]:(1) 0≤ρij≤1,i,j=1,2,…,m;(2)ρii=1,i=1,2,…,m;(3)ρij=ρji,i,j=1,2,…,m。

Gk={〈Col,hGk(Col)〉|Col∈Co,Gk∈G}

(9)

將表達譜值Exp做歸一化處理,即{0≤Exp≤1|Exp?hGk(Col)},hGk(Col)是基因Gk在條件hGk(Col)下的猶豫模糊元素,表示為HFE(k,l)。

(10)

WCHFS(Ga,Gb)=

(11)

(12)

5 分布式聚類系統設計

采用基于密度的聚類算法對基因微陣列做聚類處理,基于Spark框架實現對聚類算法的分布式處理。基于Spark框架的分布式聚類算法如圖1所示,主要分為5步:① 數據預處理;② 特征歸簡;③ 計算距離;④ 建立子類;⑤ 最終融合。

Spark框架由1個master模塊和若干的worker模塊組成。Master為worker分配job,在driver的協助下控制計算程序。worker的job從RDD、分布式文件系統(Hadoop Distributed File System,HDFS)、數據幀(DataFrame)等存儲系統讀取數據,然后處理剩余數據并輸出結果。worker節點的每個job由多個階段組成,worker串行地完成各個階段,每個階段可能獨立或者依賴之前階段的輸出。Spark內部將數據分割為若干的分區,每個worker節點處理有權限的部分分區,輸出相應的結果。worker節點度量數據的相似性,Spark的平臺負責實現分布式處理程序的細節,例如:負載均衡、容錯機制、數據分布、尋址處理等。

Spark可獨立運行或者建立于Hadoop YARN、Apache Mesos和Amazon EC2等云計算平臺。Spark支持分布式數據存儲系統,包括HDFS、HBase等。本文在YARN和EC2上建立Spark,采用HDFS作為分布式數據存儲系統。

5.1 數據預處理

基因表達數據集的預處理內容主要為:采用表達譜對數變換處理[21]將輸入數據集歸一化,將一些數據做單位轉換和偏差轉換處理。如果實驗矩陣40%以上的行是空值,那么過濾這種表達譜矩陣。例如:如果{(Ga,Gb)∈HFS,leni(hGa(xi))

每個微陣列實驗是一個m×n的矩陣M,m是基因的數量,G=(G1,G2,…,Gm),n是實驗條件的數量,Co=(Co1,Co2,…,Con)。假設共存在q個醫學實驗,最終共有n個條件下對m個基因的q次實驗結果。設置一個Spark driver程序歸一化矩陣每行的數據,計算每行數據的均值μ和方差σ。將舊的表達譜替換為新值,計算式表示為:

(13)

5.2 特征歸簡

采用第3節中基于遞歸文化基因的特征歸簡算法縮小特征空間。

5.3 計算距離

加權的HFS相關系數WρHFS(Ga,Gb)表示基因Ga和Gb之間行為的相似性,相關系數越高說明基因行為的相似度越高。從HDFS讀取基因表達譜矩陣,然后轉化為RDD格式。每個worker節點運行一個迭代程序,并行地計算全部基因的加權信息能量WEHFS(Gk)。最終,通過key函數的reduce累加全部的能量值,將基因的ID作為key,信息量是key操作的目標。計算加權相關系數之前,driver生成一個三角矩陣,稱為watch列表。master節點檢查watch列表,驗證兩個條件:(1) 計算不同基因集{Ga,Gb}之間的加權相關性;(2) 每一對基因的加權相關性應當僅計算一次,即WCHFS(Ga,Gb)=WCHFS(Gb,Ga)。

算法4所示是計算距離的偽代碼。在初始化階段為watch列表的每個元素設置一個預定值,作為是否已經計算的標記。逐漸將watch列表的元素替換為計算的加權相關系數,每個worker節點并行地計算基因的加權相關系數。最終master節點在每次迭代結束更新watch列表,master節點在watch列表的約束下修改RDD的內容。在watch列表中沒有相關系數記錄的基因對保存于相同的RDD中,然后計算它們的加權相關性并保存于watch列表中。重復該迭代程序,最終使所有基因對均具有相關性記錄。該程序具有可擴展性,能夠處理任意規模的輸入數據矩陣。

算法4計算距離的偽代碼

輸入:watch列表WLE。

1. for each (WLEi?WLE)

2. WLEi←0;

//初始化為缺省值

3. end for

4. while ((WLEi?WLE)==0)

5. shuffle_rdd();

6. 計算WCHFS;

7. 更新WLEi;

8. 計算WρHFS;

9. 生成GPM;

10. 建立DRM

算法5是建立密度可達矩陣的偽代碼。由近似矩陣生成密度可達矩陣,因為密度可達具有對稱性,所以無須保存對稱的可達性,密度可達也是三角矩陣形式。基因分布于各個worker節點,近似矩陣中基因Gi的第i列和第m+1-i行元素加入一個向量中,稱為Vi,每個向量表示一個基因和其他所有基因的相似性,該向量被分配至各個worker節點。設計一個函數記錄Vi中加權相關系數高于閾值((WρHFS)i,j>τ)的基因數量Gj。每個節點并行地調用計數函數,將計數值高于ξ(|Nτ(Gi)|>ξ)的基因標記為核心基因。

算法5建立密度可達矩陣

1. for each (Gi?RDD)

2.CntGi=0;

//初始化計數器

3. for each (Gj∈vector(Gi),i≠j)

4. if [(WρHFS)i,j>τ]

5.CntGi=CntGi+1;

6. end for

7. end for

8. for each (Gi?RDD)

9. if (CntGi>ξ)

10.Gi.coregene=TRUE;

//Gi標記為核心基因

11. end for

12. fore ach (Gi?RDD &&Gi.coregene == TRUE)

13. for each(Gj∈vector(Gi),i≠j)

14. if ((WρHFS)i,j>τ)

15.Gi?Gj;

//更新RGL(Gi),RGL(Gj)

16. end for

17. end for

18. for each (Gi?RDD)

19. for each (Gj∈RGL(Gi),i≠j)

20. list(Gi)?list(Gj);

//更新RGL()

21. end for

22. end for

標記完所有的核心基因之后,將所有加權相關系高于閾值τ的基因標記為對Gi直接密度可達,即{Gi→Gj|(Gj)∈Nτ(Gi),Gi∈CG}。可能某個基因對于多個基因密度可達,所以采用一個可達基因列表(Reachable Genes List,RGL)記錄對某個基因的密度可達基因。Gi被保存于Gj的可達基因列表中,Gj被保存于Gi的可達基因列表中。計算所有核心基因的直接密度可達之后,將直接密度可達泛化為密度可達。如果兩個基因之間密度直達,那么列表內所有基因均為間接密度可達。

5.4 子聚類階段

為每個基因Gi創建一個ID和數據結構,將序號i作為基因的ID,每個基因設置一個狀態記錄該基因是否被訪問,并且設置一個狀態記錄該基因是否為核心基因。每個基因的列表RGL記錄密度可達的鄰居基因,根據密度可達矩陣DRM計算RGL。設置一個狀態變量記錄該基因是否為邊緣基因,設置一個UID列表記錄子類的UID值,將屬于子類的基因添加到子類對應的UID列表中,如果基因的列表為空,說明該基因尚未被分配子類。

算法6是子聚類算法的偽代碼。master節點將密度可達矩陣中的基因分配至各個worker節點,worker開始并行迭代子聚類程序。基因作為子聚類程序的輸入,基因的子聚類結果作為輸出。子聚類程序將核心基因作為初始化子類的中心基因Gi,對應的UIDi將添加到核心基因Gi的UID列表中。如果一個密度可達基因Gf是核心基因,則將UIDi分配到Gf和Gf的所有密度可達基因。worker節點nextUID()函數生成唯一的UID,該函數保證不同worker程序UID值不相同。

算法6子聚類算法

輸入:RDD。

//Spark RDD數據庫

輸出:UID。

//基因的子類ID

1. for each (Gi?RDD&& CGstatus(Gi) == TRUE)

2. if (visiting_status(Gi) == UNVISITED)

//狀態未訪問

3. visiting_status(Gi) == VISITED;

//狀態已訪問

4. UID(i)←nextUID();

5. UIDlist(Gi) = UIDlist(Gi) + UID(i);

6. for eachGjin RGL_Gi

7. visiting_status(Gj) == VISITED;

8. UIDlist(Gk) = UIDlist(Gk) + UID(i);

9. if CGstatus(Gk) == TRUE

10.j=k;

11. end for

12. end if

13. end for

14. for each (Gi? RDD&&((UIDlist(Gi)== NULL)‖(visiting_status(Gj) == FALSE)))

15. BGstatus(Gi) = TRUE;

16. end for

每個子線程首先處理尚未訪問的核心基因Gj,為Gj分配新的UIDj和密度可達基因集,UIDj的基因訪問狀態變量修改為“訪問”,最終訪問完所有的基因。如果一個基因由兩個不同核心基因密度可達,則其UID列表中會存在多個UID值。

在程序結束階段將未被訪問的基因標記為邊緣基因BG。并且為每個子類指定一個骨架基因,骨架基因的決定方法為同一個UID列表中所有基因的HFE值,計算方法為:

(14)

式中:Gpro為骨架基因;hGPro是子類中所有基因的HFE;β是子類的基因數量。

5.5 融合階段

將分布式處理獲得的子類融合為總體的聚類。計算兩個子類UIDi、UIDj之間的相同成員,如果滿足以下任一條件:

(1) 子類UIDi和UIDj之間相同基因的數量大于ξ,即{Ga∈UIDi,Ga∈UIDj,i≠j,|Ga|>ξ};

(2) 子類骨架基因之間的相似性大于τ,即{WρHFS(Gpro(UIDi),Gpro(UIDj))>τ,i≠j}。

那么將子類UIDi和UIDj合并為新子類UIDk。如果子類UIDi和UIDj合并為UIDk,那么UIDi和UIDj的類標簽替換為UIDk,UIDk的基因數量等于UIDi和UIDj之和。

6 實 驗

6.1 實驗環境和參數設置

(1) 實驗數據集和實驗環境。在Hadoop YARN集群管理平臺搭建獨立的Apache Spark 2.0軟件。單一的基因微陣列數據集對實驗的工具和環境具有敏感性,為了提高實驗結果的可靠性,減小噪聲影響,采用多個微陣列數據集測試算法的性能。這些數據集組成了多條件、多實驗下基因行為的猶豫模糊觀察樣本。

采用臨床數據和人工合成數據從多個角度測試算法的各個性能:臨床數據來自于不同的臨床實驗,設立相似的實驗條件以評價結果的精度和效果;人工合成數據為大規模數據集,加入噪聲數據測試算法的魯棒性和可擴展性。第一個臨床數據集[23]為肝臟組織的cDNA、核苷酸、表達譜數據,數據集包含430個基因芯片微陣列、cDNA微陣列和寡核苷酸,將該數據集簡稱為肝臟。第二個臨床數據集[24]簡稱為POM,是體內裂殖酵母全局細胞循環控制的基因微陣列數據集,該數據集是多組實驗的微陣列數據,并且是一個關于時間的函數。第三個數據集[25]簡稱為SPC,是一個大規模的數據集,測試本算法的可擴展性。

(2) RMA的參數設置。應用輪盤賭策略從種群中選擇染色體,種群大小設為15,每對染色體應用兩點交叉算子。染色體的第一個數量范圍為[n/2,3n/4],n是種群的特征數量。采用精英機制保留父種群和子種群的最優染色體,準確率的權重設為特征數量權重的4倍,容錯度α=2。在RMA優化種群的過程中,保留種群中適應度高于動態閾值φ的i=3個最佳染色體。特征歸簡處理之后,收集β%個最佳的特征組成新的特征空間。根據實驗結果分析,將參數β設為定值5,最大迭代次數為20次,ρ=94.5,w1=4,w2=1,q=0.3,step=0.5,初始種群的特征數量范圍為[m/2, 3m/4],m為染色體的特征數量。

(3) 聚類處理的性能指標。選擇3個常用的聚類算法性能評價指標,分別為: 鄧恩指數(Dunn Index,DI)、Davies-Bouldin指數(Davies-Bouldin Index,DBI)和Silhouette指數(Silhouette Index,SI)。

6.2 實驗結果與分析

選擇4種較新的聚類算法與本文算法做比較來綜合評價本文算法的性能,分別為MBC[25]、HRSC[26]、MOOC[27]、EGWOM[28]。其中MBC是基于建模的聚類算法,HRSC是基于Hessian矩陣的聚類算法,MOOC是基于多目標優化的聚類算法,EGWOM則是基于灰狼優化算法和MapReduce的聚類算法。

(1) 聚類性能結果。圖3、圖4、圖5分別為四個算法對于3個臨床數據集的實驗結果。DBI值越小表示聚類結果的簇內緊密,簇間分離大。觀察實驗結果可見,本文算法對于3個數據集的聚類準確率均優于其他4種算法,本文算法在聚類系統中采用猶豫模糊加權相關系數評估基因行為的相似性,根據基因的密度可達性將基因聚類,該設計對于高維小樣本的基因微陣列數據實現了較好的效果。在特征歸簡處理中,采用文化基因算法對特征空間進行封裝式的特征選擇,實現了較好的優化效果,降低了基因的冗余度且排除了噪聲基因。

圖3 肝臟數據集的聚類性能結果

圖4 POM數據集的聚類性能結果

圖5 MOOC數據集的聚類性能結果

(2) 擴展性實驗和計算效率。采用POM數據集作為人工數據集,測試算法的可擴展性和計算效率。將POM數據分別合成POM1、POM2、POM3、POM4四個數據集,POM1、POM2、POM3、POM4分別是將POM數據集復制1 000次、10 000次、100 000次和1 000 000次的數據集,結果如圖6所示。可以看出,隨著數據集規模10倍的擴展,SI指標并未呈現數倍的減低,數據規模增至1 000倍,SI指數大約降低0.1,DI指數大約降低0.15。結果證明了本文算法具有較好的可擴展性,對于大規模的數據集依然具有較好的聚類性能。

圖6 擴展性實驗的聚類性能結果

圖7為不同規模數據集相應的處理時間。可以看出,隨著數據集規模的指數級增長,處理時間也呈現出明顯的升高。比較POM1和POM4,數據集規模增加了1 000倍,但是時間僅提高了約10倍,所以本文算法在計算效率上也具有較好的擴展性。

圖7 擴展性實驗的處理時間結果

(3) 與其他算法的處理效率比較。圖8為5個聚類系統對于肝臟和SPC臨床數據集的處理時間結果。可以看出,MBC和HRSC兩個算法的處理時間均明顯高于其他三個算法,主要原因是這兩個算法是一種串行處理機制,雖然MBC算法通過多模型化簡減小了特征空間和數據維度,但是依然保持較高的計算時間。HRSC在Hessian矩陣的處理過程中需要大量的計算,具有較高的計算成本。MOOC是一種多目標優化的聚類算法,該算法基于分布式多目標框架加快了計算速度,EGWOM則基于MapReduce框架實現了分布式處理,但是MapReduce具有以下三點不足:① 每次迭代作為獨立任務重新處理,需要重新讀寫數據和初始化數據;② 每次迭代需要重新從分布式文件系統加載程序,消耗I/O資源和CPU資源;③ 前一次迭代必須全部結束并且數據全部寫入分布式文件系統,才能開始下一次迭代,不僅具有較大的I/O開銷,也導致了時間的延遲。本文算法基于Spark平臺實現了分布式的處理過程,對于迭代處理程序實現了較快的速度。

圖8 5個聚類系統的處理時間

7 結 語

為了支持海量高維小樣本數據的分析和挖掘,設計了基于遞歸文化基因和Spark分布式計算的高維大數據聚類系統。該系統每次迭代作為獨立任務重新處理,不需要重新讀寫數據和初始化數據;每次迭代直接從緩存系統加載程序,無須消耗額外的I/O資源和CPU資源。受益于遞歸文化基因算法和Spark分布式計算平臺的諸多優點,本文算法實驗獲得了較好的聚類和聚類效果。

Spark平臺將各個worker的數據緩存于內存中,無須消耗額外的I/O資源和CPU資源,但是增加了內存的負擔,在海量高維小樣本數據挖掘過程中產生大量的中間數據,導致不可忽略的內存負擔,未來將關注于降低聚類系統的內存消耗。

猜你喜歡
特征
抓住特征巧觀察
離散型隨機變量的分布列與數字特征
具有兩個P’維非線性不可約特征標的非可解群
月震特征及與地震的對比
如何表達“特征”
被k(2≤k≤16)整除的正整數的特征
中等數學(2019年8期)2019-11-25 01:38:14
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
詈語的文化蘊含與現代特征
新聞傳播(2018年11期)2018-08-29 08:15:24
抓住特征巧觀察
基于特征篩選的模型選擇
主站蜘蛛池模板: 日韩123欧美字幕| 拍国产真实乱人偷精品| 欧美精品v日韩精品v国产精品| 色综合手机在线| 国产色婷婷视频在线观看| 亚洲av综合网| 国产自在线拍| 国产成人三级| 国产精品自在在线午夜| 成人在线天堂| 国产美女一级毛片| 欧美69视频在线| 真实国产精品vr专区| 国产精品亚洲五月天高清| 老司机午夜精品网站在线观看| 亚洲精品无码人妻无码| 午夜欧美理论2019理论| 国产熟女一级毛片| 国产午夜不卡| 国产精品免费电影| 国产精品无码久久久久久| 女人18毛片一级毛片在线 | 欧美激情视频二区| 高清无码一本到东京热| 三上悠亚在线精品二区| 亚洲无码高清一区二区| 18禁不卡免费网站| a亚洲视频| 国产精品冒白浆免费视频| 在线国产欧美| 国产美女免费| 在线看片免费人成视久网下载| 成人亚洲视频| 青青草原国产| 精品欧美一区二区三区久久久| 欧美视频免费一区二区三区| 亚洲日韩精品无码专区| 亚洲成人福利网站| 日韩精品专区免费无码aⅴ| 国产成人1024精品下载| 中文字幕亚洲电影| 国产又色又刺激高潮免费看| 精品久久蜜桃| 99久久99这里只有免费的精品| a级毛片一区二区免费视频| 99视频国产精品| 免费观看欧美性一级| 成人字幕网视频在线观看| 色综合天天综合| 欧美激情二区三区| 六月婷婷综合| 91热爆在线| 亚洲天堂2014| 在线国产91| 国产成人91精品免费网址在线| 色爽网免费视频| 一级不卡毛片| 女同久久精品国产99国| 国产喷水视频| 日韩精品亚洲一区中文字幕| 国产丝袜无码精品| 国产日本一线在线观看免费| 亚洲天堂视频网| 国产精品极品美女自在线| 久久精品国产免费观看频道| 亚洲一区二区三区国产精华液| 国产在线视频导航| 久久精品一卡日本电影| 国产呦视频免费视频在线观看| 亚洲精品在线91| 亚洲av无码人妻| 2021国产乱人伦在线播放| 亚洲精品亚洲人成在线| 久久久噜噜噜| 综合天天色| 国产福利小视频在线播放观看| 凹凸国产熟女精品视频| 国内自拍久第一页| 久久亚洲精少妇毛片午夜无码| 国产成人免费| 亚洲精品无码人妻无码| 亚洲香蕉在线|