云計算相關技術的飛速發展和高速寬帶網絡的廣泛使用,使得實際應用中分布式數據挖掘的需求不斷增長。分布式數據挖掘是數據挖掘技術與分布式計算技術的有機結合,主要用于分布式環境下的數據模式發現,它是物聯網要求的數據挖掘,是在網絡中挖掘出來的。通過與云計算技術相結合,可能會產生更多、更好、更新的數據挖掘方法和技術手段。
分布式數據挖掘
1、分布式數據挖掘的優點
考慮到商業競爭和法律約束等多方面的因素,在許多情況下,為了保證數據挖掘的安全性和容錯性,需要保護數據隱私,將所有數據集中在一起進行分析往往是不可行的。分布式數據挖掘系統能將數據合理地劃分為若干個小模塊,并由數據挖掘系統并行處理,最后將各個局部的處理結果合成最終的輸出模式,這樣做可以充分利用分布式計算的能力和并行計算的效率,對相關的數據進行分析與綜合,從而節省大量的時間和空間開銷。
2、分布式數據挖掘面臨的問題
·算法方面:實現數據預處理中各種數據挖掘算法,以及多數據挖掘任務的調度算法。
·系統方面:能在對稱多處理機(Symmetrical Multi- Processing,SMP)、大規模并行處理機(Massively Parallel Processor,MPP)等具體的分布式平臺上實現,考慮節點間負載平衡、減少同步與通信開銷、異構數據集成等問題。
3、分布式數據挖掘的系統分類
按照不同的角度,分布式數據挖掘系統可以劃分為以下幾類。
根據節點間數據分布情況是否同構,可分為同構和異構兩類。同構的分布式數據挖掘系統的節點間數據的屬性空間相同,異構的分布式數據挖掘系統的節點間數據具有不同的屬性空間。
按照數據模式的生成方式,分布式數據挖掘系統可分為集中式、局部式和重分布式三類。
·在集中式分布式數據挖掘系統中,先把數據集中于中心點,再生成全局數據模式,該系統適合模型精度較高,但數據量較小的情況;
·在局部式分布式數據挖掘系統中,先在各節點處生成局部數據模式,然后將局部數據模式集中到中心節點生成全局數據模式,該系統適合模型精度較低,但效率較高的情形;
·在重分布式數據挖掘系統中,首先將所有數據在各個節點間重新分布,然后按照與局部式系統相同的方法生成數據模式。
并行數據挖掘與分布式數據挖掘的比較
并行數據挖掘系統與分布式數據挖掘系統都用網絡連接各個數據處理節點,網絡中的所有節點構成一個邏輯上的統一整體,用戶可以對各個節點上的數據進行透明存取。
并行挖掘與分布式挖掘的不同點如下所述:
1、應用目標不同
并行數據挖掘中各個處理機節點并行完成數據挖掘任務,以提高數據挖掘系統的整體性能;分布式數據挖掘實現場地自治和數據的全局透明共享,而不要求利用網絡中的所有節點來提高系統的處理性能。
2、實現方式不同
并行數據挖掘中各節點間可以采用高速網絡連接,節點間的數據傳輸代價相對較低;分布式數據挖掘的各節點間一般采用局域網或廣域網相連,網絡帶寬較低,點到點的通信開銷較大。
3、各節點的地位不同
并行數據挖掘的各節點是非獨立的,在數據處理中只能發揮協同作用,而不能有局部應用,適合算法內并行;分布式數據挖掘系統的各節點除了能通過網絡協同完成全局事務外,每個節點都可以獨立運行自己的數據挖掘任務,執行局部應用,具有高度的自治性,適合不同算法之間的并行。
云計算通過廉價的PC服務器,可以管理大數據量與大集群,其關鍵技術在于能夠對云內的基礎設施進行動態按需分配與管理。云計算的任務可以分割成多個進程,在多臺服務器上并行計算,然后得到最終結果,其優點是對大數據量的操作性能非常好。從用戶角度來看,并行計算是由單個用戶完成的,分布式計算是由多個用戶合作完成的,云計算是可以在沒有用戶參與指定計算節點的情況下,交給網絡另一端的云計算平臺的服務器節點自主完成計算的,這樣云計算就同時具備了并行計算與分布式計算的特征。