李慧敏
(福建船政交通職業學院 信息工程系,福建 福州 350000)
當前,各個領域每時每刻都產生了大量的數據,我們已進入大數據時代。誰能有效分析和利用這些海量數據,誰將掌握創新和轉型的關鍵。其中的一項關鍵技術就是大數據的聚類算法,在商業、農業、移動網絡、醫療、科學、教育等應用領域都具有重要應用價值。
文中將已有的大數據聚類算法劃分成兩種:單機聚類算法和多機聚類算法[1]。
單機聚類算法主要有傳統聚類算法、基于抽樣的聚類以及基于降維的聚類3種。
傳統聚類算法包含分區聚類算法、分層聚類算法、基于密度的聚類算法、基于網格的聚類算法、基于模型的聚類算法。其中,分區聚類算法根據點和點之間在單個分區中的分離距離聚類;分層聚類算法根據數據的層次進行劃分;基于密度的聚類算法能發現不同密度的區域;基于網格的聚類能降低算法復雜度;基于模型的聚類算法可以較好地避免測量劃分的不確定性問題,但是速度較慢。
基于抽樣的聚類算法先從大數據中抽取一個樣本,對樣本進行聚類,再應用到整個大數據上,提高了效率并節省了空間。抽樣聚類主要有以下3種聚類算法:基于隨機選擇的聚類算法(CLARANS)、利用層次方法的平衡迭代規約和聚類(BTRCH)和針對大型數據庫的高效的聚類算法(CURE)。其中,CLARANS的優勢在動態處理上;BTRCH提高數據處理效率的方式是充分利用其自身的數據結構節省空間;CURE的特點是用一組分散的數據點來表示聚類,這樣能較好地表示不同類型的聚類。
基于降維的聚類算法是在聚類時先對兩個主要維度—變量的數量和實例的數量中的一個進行預處理,通過降維可以消除無關信息和冗余信息,同時縮小樣本空間,有效改善高維度下的復雜性,降低失誤率。
多機聚類又分為并行聚類和基于Map Reduce的聚類。并行聚類是指將數據進行分塊,然后分發給不同的機器,讓它們并行運行聚類算法,以此提高速率,并且后續可以很方便地進行擴展。
Map Reduce是一種將任務分布在大量的服務器上執行的任務分解機制。目前已有大量研究將各種傳統聚類算法改寫成Map Reduce版本,并通過實驗證明了可行性。
目前大數據聚類算法的應用才剛起步,我們需要探索更多、更高效的應用模式。商業、農業、移動網絡、醫療、科學、工程、法律、教育等特定領域都能看到大數據聚類算法應用的影子。下面從幾個關鍵領域來分析大數據聚類算法的研究現狀。
商業智能[2]可以說是大數據聚類應用的“前輩”,對企業內部的大數據進行聚類分析,可以挖掘出很多隱藏的規律和知識,這可能是企業創新和轉型的關鍵。目前已經廣泛應用于客戶關系管理、異常消費行為檢測、股票數據分析等方面。比如說通過聚類從客戶基本信息庫中挖掘出不同的客戶群,更準確地了解客戶的使用行為,以此制定新的策略。
在金融領域,大數據聚類的應用也在快速發展。在各大商業銀行中,利用大數據聚類的結果,針對性地制定個性化產品來滿足客戶的個性化金融需求,增加客戶忠誠性。海沫等[3]根據盈利能力指標、償債能力指標、資產管理質量指標等15項財務指標對中國股票市場上所有上市公司進行了聚類實驗,得到股票板塊分類,為投資者的投資決策提供有益參考。
在通信領域,王海晶[4]將聚類結果結合運營商生命周期理論,分析得到了不同的用戶群,然后分別從用戶個性化營銷策略方面和用戶挽留策略方面提出了相關的對策建議,為黑龍江移動公司的發展提供決策參考。
在農業領域,大數據聚類算法也應用廣泛,因為農業數據具有沒有先驗知識的特點,通過有效聚類可以挖掘到隱藏其中的規律和知識,為農民的種植、養殖等生產、銷售環節給出指導意見。
徐勇[5]提出了改進的譜聚類算法并應用到農業大數據平臺上,對黑龍江省的農墾系統各個農場的農業機械裝備水平數據進行聚類,將聚類結果結合黑龍江省墾區地理環境一同分析,提供解決方案應對機械裝備水平差異大的問題;對全國豬肉價格聚類,通過聚類結果幫助養豬用戶根據市場走勢科學養豬,以取得更好的經濟效益。
隨著時代發展,移動終端(如手機、傳感器等)和應用也越來越多,產生了大量的數據。其中,比較有價值的就是軌跡數據,目前人們主要通過語義軌跡聚類挖掘相似性用戶、推薦用戶下一個目的地以及軌跡數據中熱點區域識別。
于喆[6]提出了基于聚類的GSRM原型系統,通過對原始數據的預處理找到具有語義的停留點,然后通過分布式聚類算法挖掘用戶公認的“熱點”,最后通過對用戶行為模式的挖掘,對用戶進行位置服務。
廖律超等[7]提出了一種交通路網譜聚類方法(TSSC),其實現的路網網格聚類能跟實際交通路網相匹配,還可用于交通擁堵點發現等應用場景。牟向偉等[8]將流式數據兩階段方法,應用在北京市出租車的定位數據上,聚類得到出租車活動較為頻繁的熱點區域和線路,與日常出行經驗相符合,還可應用到交通活動情況實時分析、交通規劃和擁堵治理等方面。
醫療數據的產生具有持續性、高增長性、復雜性,同樣其中蘊涵可觀的信息價值。故在醫療領域,大數據聚類算法也得到快速發展。
2013年,張煥君等[9]提出了基于模糊聚類分析的臨床路徑決策方法,栗偉等[10]使用短文本自適應聚類算法解決電子病歷中醫學名詞的識別問題。Lenart等[11]對患者的血壓、血紅蛋白等生理指標進行聚類,聚類結果將慢性腎病患者劃分成幾個群,分別對應慢性腎病發展的不同階段。孫磊磊[12]使用改進的AP聚類算法對電子病歷進行數據挖掘,將人口統計學信息和診斷信息進行聚類得到病人分組,將聯合用藥網絡進行聚類挖掘出聯合用藥模塊,對治療記錄進行聚類得到典型治療方案,最后對照病人分組和治療記錄評估典型治療方案的可行性。
隨著技術進步和應用的需要,大數據聚類算法發展迅速,越來越多,主要有下面3個研究方向:(1)對大數據進行抽樣或降維得到樣本,采用傳統聚類算法進行聚類,再應用到大數據上,主要缺點是樣本可能會出現偏差,精確性低。(2)并行聚類算法的優點是效率高、可擴展性好,但同樣復雜性也高。(3)基于Map Reduce實現的大數據聚類算法具有高可擴展性,但在任務分解過程中會占用較多的軟硬件資源。可見急需研究簡單、高效、可擴展、低耗和精確的大數據聚類算法。另外,各個領域的數據都有各自的特點,需要針對各個領域,探索更多、更高效的應用模式,科學、商業、農業、工程、醫學、醫療、法律、教育、運輸、零售、電信等特定領域的大數據聚類算法應用都是重點研究方向。