龔健虎,張躍進
(1.廣東培正學院 數據科學與計算機學院,廣東 廣州 510830;2.華東交通大學 信息工程學院,江西 南昌 330013)
目前,大數據領域主要面臨著收集并處理大量數據的挑戰和優勢,但對于大多數高級數據挖掘和機器學習工具來說,從大數據中提取信息特征且時間精準分類較為困難[1,2]。
為此,國內外學者進行了大量研究。文獻[3]使用基于圖形的體系結構和內存大數據工具降低了輸入/輸出成本,但其運行效率較低。文獻[4,5]利用并行粒子群優化反向傳播神經網絡,改善了社交媒體用戶的分類,但其分類精度較低。文獻[6]提出了一種基于半監督支持向量機的分類算法,降低了環境變化導致的計算復雜度,但其魯棒性有待提高。
為了解決魯棒性問題,文獻[7]利用隨機森林分類器結合數據集屬性對數據進行分類,提高了分類精度,但耗時較長。文獻[8,9]中采用基于橫斷面的研究方法和多級框架最大化填補方法均提高了數據分類準確性,但面臨昂貴的成本問題。此外,對于分類效率的研究,也有大量有效的方法提出,例如Dirichlet分類方法[10]、分布式KNN分類方法[11]和迭代式數據均衡分區方法[12],但其分類精度仍有待提高。
由此,可看出在云計算大數據分類領域中,目前還沒能有一種算法能夠在保證較高的大數據分類精度的同時還能具有較高的大數據分類效率[13,14]。針對上述問題,提出了深度屬性加權貝葉斯(attribute weighted Bayesian,AWB)算法結合改進差別信息樹(differential information tree,DIT)的高效云計算大數據模糊分類方法,主要創新點總結如下:
(1)許多現有的大數據分類方法通常過度依賴分類器,而提出的分類方法利用深度ABW算法[15]進行屬性加權,構建基于語言模糊屬性的冠狀模糊MapReduce框架(language fuzzy attributes based canopy fuzzy MapReduce,LFA-CFM),將云計算大數據分類為獨立塊,提高了云計算大數據分類的精度;
(2)現有的大多數方法較少注重大數據分類的效率,而提出的方法利用改進DIT[16]實現模糊粗糙集屬性約簡,將大數據屬性的數量設置為單獨的目標函數,有利于提高大數據分類的效率;
(3)現有的大數據分類方法常常難以同時提高分類的精確度和效率,而提出的方法將深度AWB算法和改進DIT相結合,在提高大數據分類精確度的同時還提高了大數據分類的效率。
改進屬性加權算法由多個不同步驟組成。圖1顯示了改進屬性加權算法的詳細執行流程。

圖1 改進屬性加權算法的執行流程
改進屬性加權算法首先從數據庫中建立多個數據塊,然后,對數據塊進行樣本測試和樣本訓練,緊接著,對其施加深度屬性加權貝葉斯算法[17],然后設置分類正確率權重,并建立自適應集成策略,而后則是優化集成和組合投票策略[18],設置置信度權重,并得到預測分類結果。
在n個云服務上以并行方式執行改進屬性加權算法,使用如圖1所示的執行流程,在屬性加權算法中還需3個隱含操作。第一個操作是由每個云用戶以并行方式部署的映射函數(具有更多數量的映射器),而不與其它云用戶節點一起傳輸任何數據或信息。第二個操作是通過跨所有其它云用戶節點的映射函數處理數據或信息,而第三個操作是由每個云用戶以并行方式通過劃分數據或信息部署的。第三個操作和最后一步是在云環境中進行大數據分類。
為了約簡基于改進差別樹信息集的粗糙集屬,首先需要設計LFA-CFM框架,LFA-CFM的功能是將原始大數據集分段,因此需要將其分類為獨立塊,并使用語言模糊屬性自動地將獨立塊傳送到不同的處理單元(云服務器)。而設計LFA-CFM框架的第一步是構建大數據集的模糊KB,其由數據庫(DB)中的模糊集信息、屬性和推理系統所組成[19]。在LFA-CFM中,數據庫中的信息是通過三角隸屬函數臨時獲得的,通過使用來自輸入示例的學習過程以提取屬性,提取過程如下:
屬性Rulei:

那么,分類結果Classi屬于Rsulti。
其中,屬性Rulei指定第i個屬性的標簽Assei,其中Asse=(Asse1,Asse2,…,Assen)是具有屬性權重Rsulti的類標簽Classi的前端模糊集合Packet1的維度向量。LFA-CFM框架中的屬性權重采用啟發式方法獲得,表示如下

(1)
式中:μPacketi(Assep)為(Assep)的隸屬函數,Classi為屬性i確定的類。根據屬性和屬性權重,在LFA-CFM中部署了大數據集的模糊KB。
在傳統的粗糙集屬性約簡中,映射函數以鍵/值對的形式處理輸入,而鍵/值對又通過洗牌操作生成中級鍵/值對[20]。而粗糙集約簡算法的主要思想是云用戶在其可用數據上獨立操作每個處理單元,以在云環境中建立相關KB(關聯模糊屬性Ri)進行模糊屬性分類,并且利用執行洗牌減少云用戶之間映射的運行時間。
LFA-CFM框架設計的第二步是設計用于構建模糊KB的冠狀模糊MapReduce算法。為了處理云環境中的大數據分類和信息共享,LFA-CFM使用粗糙集屬性約簡實現快速搬運,而該約簡方法包含語言模糊屬性,使用模糊集同化和融合屬性庫。
設定評估兩個先行模糊集KB和KBi之間的差異Diff,先初始化兩個映射閾值因子Thrd1和Thrd2,然后將其與冠狀中心獲得的距離相比較,以減少最小化過程所需的時間,表述如下
(2)
LFA-CFM框架設計的最后是從相關的模糊屬性Rulei中去除冗余屬性,并在不同結果下,僅保留具有最高屬性權重Rsulti的屬性。在此基礎上,組合所有由映射過程計算得到的Rulei值以獲得最終分類,并減小屬性集的大小。其中洗牌算法[21]的具體執行過程如圖2所示。

圖2 洗牌算法的執行流程
洗牌算法的具體執行流程闡述如下:
輸入數據集、映射閾值因子Thrd1和Thrd2、云服務器TC=TC1,TC2,…,TCn、云主節點YZmn和云工作節點Ywn。
步驟1 對于距離為KB和KBi的每個數據集和每個云主節點YZmn、云工作節點Ywn,初始化映射閾值因子Thrd1和Thrd2;
步驟2 使用式(1)執行屬性提取,使用式(2)測量屬性權重;
步驟3 測量KB和KBi之間的距離,執行洗牌。如果Diff 從圖3中可看出,洗牌過程是平行進行的。由于該算法允許多個云用戶同時執行,因此能夠減少云用戶之間映射的執行時間。洗牌算法的基本過程分為兩部分:第一部分是獲得輸入映射閾值因子Thrd1,以及通過洗牌操作去除冠狀中心;第二部分是根據得到的測量距離,利用大數據計算進行分類,以減少執行時間,很大程度上提高了大數據分類的效率。 圖3 大數據混合模糊分類框架 利用深度屬性加權貝葉斯算法模糊KB和改進差別信息樹模糊粗糙集屬性算法,給出了云環境下大數據和信息共享的混合分類系統。利用數據約簡的模糊粗糙屬性算法,再利用基于模糊屬性的分類來以較少的迭代次數對大數據進行分類。圖3顯示了大數據的混合模糊分類模型。因為輸入屬性庫是多種多樣的,因此該模型產生不同的分類評估。 在最后一步中,洗牌算法的計算結果作為計算過程的輸出。最后,把大數據分類集的不同示例的類聚合在一起,附加每個映射任務提供的結果。 使用CloudSim仿真器對提出的算法進行了模擬,對提到的LFA-CFM框架的效率進行測量和評估。為測量LFA-CFM框架的性能,實驗采用Java語言進行編程,對Amazon EC2 Cloud Stanford大型網絡數據集集合進行實驗。 應用于云環境的CloudSim仿真器為多個虛擬機提供了不同的資源配置。在模擬時,為提出的LFA-CFM框架配備兩個四核2.33-2.66 GHz xeon處理器(總共8個核心),7 GB RAM和4096 GB本地磁盤存儲。大數據的大小在1 GB到200 GB之間變化,并且所采用的實例數量在1到5的范圍內。通過模擬可以說明不同大小的大數據的參數即:運行時間、分類時間、分類準確性和輸入/輸出成本帶來的影響。 LFA-CFM框架利用CloudSim仿真器在Java中實現云用戶和云服務器之間大數據分類。在云計算環境中識別云用戶和云服務器,以在云計算環境中進行大數據分類??梢酝ㄟ^運行時間、分類時間、分類準確度和輸入/輸出成本來測量LFA-CFM框架的性能。 (1)運行時間 生成屬性所花費的時間的度量是運行時間,包括獲得屬性權重所花費的測量時間。隨著生成屬性的增加,最小運行時間得不到保證。運行時的性能以毫秒(ms)為單位進行測量,并以式(3)表示 Trun(ms)=T(Rulei)+T(Rsulti) (3) 從上式中可以看出,使用屬性Rulei和屬性權重Rsulti獲得運行時間。當運行時間較小時,該方法更有效。 (2)分類時間 在云環境下的大數據集中,分類時間測量訓練集中的所有實例所需的時間。為了最小化分類時間,LFA-CFM框架在云環境中對訓練集的所有實例進行分類??梢员硎緸?/p> Tclass(ms)=DSi×tclass (4) 從上式中看出,分類時間Tclass是針對不同實例的訓練集DSi以毫秒為單位測量的。當分類時間較短時,該方法更有效。 (3)分類準確度 在分類的訓練數據集中正確分類的全體大數據實例數就是分類的準確度。訓練數據集i中單個實例的分類準確度Accuracyi是由正確分類的數據的數量決定的,并用百分比(%)來衡量,并由式(5)中的公式進行評估 (5) 其中,Dataright表示正確分類的數據數量,Ntotal是考慮用于評估和測量分類準確度的數據總數。當分類精度更高時,該方法更有效。 (4)成本 LFA-CFM框架中,在更高分類準確度的條件下,輸入/輸出成本測量的是云用戶之間共享信息所花費的時間。輸入/輸出成本的單位為毫秒,當輸入/輸出成本較低時,該方法更有效。 (1)運行時間 表1給出了運行時間的模擬結果,當數據容量為1 GB時,運行時間約為10.6 ms,當數據容量為10 GB時,運行時間約為50.2 ms,當數據容量為50 GB時,運行時間約為124.3 ms,當數據容量為100 GB時,運行時間約為256.5 ms,當數據容量為200 GB時,運行時間約為521.6 ms,可以看出,隨著數據容量的不斷增加,提出算法的運行時間也會與之相應地增加。 表1 運行時間的列表 由于隨著數據容量的增加,運行時間也會增加,因此,該算法在進行較小容量數據分類時具有更高的時間效率。 (2)分類時間 表2給出了不同數據容量下,提出算法的分類時間。當數據容量為1 GB時,分類時間最少,僅有6.7 ms;當數據容量為10 GB時,分類時間約為42.3 ms;當數據容量為50 GB時,分類時間約為98.8 ms;當數據容量為100 GB時,分類時間約為192.4 ms;當數據容量為200 GB時,分類時間約為429.2 ms。 表2 分類時間的列表 從表2中可以看出,當容量為1 GB時,分類時間最短,隨著數據容量的增加,分類時間會隨之增加。 (3)分類準確度 表3給出了不同數據容量下,提出算法的分類準確度。當數據容量為1 GB時,數據分類的準確度最高,可達99.93%;當數據容量為10 GB時,數據分類準確度約為99.12%;當數據容量為50 GB時,數據分類準確度約為91.23%;當數據容量為100 GB時,數據分類準確度約為85.34%;當數據容量為200 GB時,數據分類準確度約為79.52%。 表3 分類準確度的列表 從表3中可以看出,當容量為1 GB時,分類準確度最高,最高可達99.93%,隨著數據容量的增加,分類準確度會隨之降低。 (4)成本 表4給出了在不同數據容量下,提出算法中云用戶之間共享信息所花費的時間。 表4 云用戶之間共享信息所花費的時間 當數據容量為1 GB時,云用戶間共享信息所花費的時間最少,為5.4 ms;當數據容量為10 GB時,云用戶間共享信息所花費的時間為39.1 ms;當數據容量為50 GB時,云用戶間共享信息所花費的時間為97.6 ms;當數據容量為100 GB時,云用戶間共享信息所花費的時間為185.9 ms;當數據容量為200 GB時,云用戶間共享信息所花費的時間為407.2 ms。從表4中可以看出,隨著容量的增大,云用戶共享信號的時間越多。 將所提方法與文獻[3]、文獻[5]和文獻[7]中方法在運行時間、分類時間、分類準確度和歸一化成本這4個方面進行對比分析。 (1)運行時間 所提分類方法與文獻[3]、文獻[5]和文獻[7]中方法的運行時間比較如圖4所示。 圖4 運行時間對比 從上圖中可以看出,所提分類算法的運行時間相比于文獻[3]、文獻[5]和文獻[7]的算法,整體上的運行時間更少,但在數據容量為1 GB和10 GB時,提出算法的運行時間會稍高于文獻[5]中提出算法的運行時間。當數據容量為50 GB、100 GB和200 GB時,提出算法的運行時間明顯低于文獻[3]、文獻[5]和文獻[7]中的運行時間。 (2)分類時間 提出算法的分類時間與文獻[3]、文獻[5]和文獻[7]中算法的分類時間的對比結果如圖5所示。 圖5 分類時間的對比 從上圖中可以看出,所提出分類算法的運行時間相比于文獻[3]、文獻[5]和文獻[7]的算法,整體上的分類時間更少。當數據容量較小時,提出的算法和文獻[3]、文獻[5]和文獻[7]中的算法的分類時間也較小,以1 GB為例,所提方法與文獻[3]、文獻[5]和文獻[7]中算法的分類時間依次是6.7 ms、8.2 ms、8.9 ms和25.1 ms。當數據容量較大時,提出的算法和文獻[3]、文獻[5]和文獻[7]中的算法的分類時間會隨之增大,即分類時間均會隨著所需要分類數據的容量的增加而增加,但所提方法分類時間增長得相對較少。 (3)分類準確度 所提算法與文獻[3]、文獻[5]和文獻[7]中算法的準確度對比如圖6所示。 圖6 分類準確度的對比 從上圖中可以看出,隨著數據容量的增加,4種算法的分類準確度均會逐漸降低,但是,相比于文獻[3]、文獻[5]和文獻[7]中的算法,提出的算法整體上的大數據分類準確度更高,即使容量到200 GB,其分類準確度不低于80%,而其它算法已接近60%。 (4)成本 提出算法與文獻[3]、文獻[5]和文獻[7]中的算法的歸一化成本對比如圖7所示。 圖7 歸一化成本的對比 從圖7中可以看出,當需要分類的數據容量越小時,所花費的成本就越小,歸一化成本會隨著云計算大數據的容量的增加而增加。但在提出算法、文獻[3]、文獻[5]和文獻[7]中的算法中,提出的算法的歸一化成本更低,當容量為1 GB時,其歸一化成本僅為0.05,當容量為200 GB時,其歸一化成本為1.0,均低于其它算法,更加利于實際應用。 提出了一種深度屬性加權貝葉斯算法結合改進差別信息樹模糊粗糙集屬性約簡的高效云計算大數據模糊分類方法,研究了云計算大數據準確、高效分類的問題。提出的算法提高了云計算大數據分類的準確性,降低了大數據分類的計算時間,提高了分類效率,降低了大數據分類的成本。 下一步的研究重點包括兩點:一是通過研究適合于更大規模大數據分類的智能算法;二是進一步提高云計算大數據在數據分類上所花銷的時間和成本,提高大數據分類的效率和效益。
1.3 大數據混合模糊分類模型
2 實驗設置與性能評估
2.1 實驗環境
2.2 實驗參數定義
2.3 實驗結果




2.4 與其它方法的對比和分析




3 結束語