
3月13日下午,南京郵電大學計算機學院、軟件學院院長、教授李濤在CIO時代APP微講座欄目作了題為《大數(shù)據(jù)時代的數(shù)據(jù)挖掘》的主題分享,深度詮釋了大數(shù)據(jù)及大數(shù)據(jù)時代下的數(shù)據(jù)挖掘。

眾所周知,大數(shù)據(jù)時代的大數(shù)據(jù)挖掘已成為各行各業(yè)的一大熱點。
一、數(shù)據(jù)挖掘
在大數(shù)據(jù)時代,數(shù)據(jù)的產(chǎn)生和收集是基礎(chǔ),數(shù)據(jù)挖掘是關(guān)鍵,數(shù)據(jù)挖掘可以說是大數(shù)據(jù)最關(guān)鍵也是最基本的工作。通常而言,數(shù)據(jù)挖掘也稱為Data Mining,或知識發(fā)現(xiàn)Knowledge Discovery from Data,泛指從大量數(shù)據(jù)中挖掘出隱含的、先前未知但潛在的有用信息和模式的一個工程化和系統(tǒng)化的過程。
不同的學者對數(shù)據(jù)挖掘有著不同的理解,但個人認為,數(shù)據(jù)挖掘的特性主要有以下四個方面:
1.應(yīng)用性(A Combination of Theory and Application):數(shù)據(jù)挖掘是理論算法和應(yīng)用實踐的完美結(jié)合。數(shù)據(jù)挖掘源于實際生產(chǎn)生活中應(yīng)用的需求,挖掘的數(shù)據(jù)來自于具體應(yīng)用,同時通過數(shù)據(jù)挖掘發(fā)現(xiàn)的知識又要運用到實踐中去,輔助實際決策。所以,數(shù)據(jù)挖掘來自于應(yīng)用實踐,同時也服務(wù)于應(yīng)用實踐,數(shù)據(jù)是根本,數(shù)據(jù)挖掘應(yīng)以數(shù)據(jù)為導向,其中涉及到算法的設(shè)計與開發(fā)都需考慮到實際應(yīng)用的需求,對問題進行抽象和泛化,將好的算法應(yīng)用于實際中,并在實際中得到檢驗。
2.工程性(An Engineering Process):數(shù)據(jù)挖掘是一個由多個步驟組成的工程化過程。數(shù)據(jù)挖掘的應(yīng)用特性決定了數(shù)據(jù)挖掘不僅僅是算法分析和應(yīng)用,而是一個包含數(shù)據(jù)準備和管理、數(shù)據(jù)預(yù)處理和轉(zhuǎn)換、挖掘算法開發(fā)和應(yīng)用、結(jié)果展示和驗證以及知識積累和使用的完整過程。而且在實際應(yīng)用中,典型的數(shù)據(jù)挖掘過程還是一個交互和循環(huán)的過程。
3.集合性(A Collection of Functionalities):數(shù)據(jù)挖掘是多種功能的集合。常用的數(shù)據(jù)挖掘功能包括數(shù)據(jù)探索分析、關(guān)聯(lián)規(guī)則挖掘、時間序列模式挖掘、分類預(yù)測、聚類分析、異常檢測、數(shù)據(jù)可視化和鏈接分析等。一個具體的應(yīng)用案例往往涉及多個不同的功能。不同的功能通常有不同的理論和技術(shù)基礎(chǔ),而且每一個功能都有不同的算法支撐。
4.交叉性(An Interdisciplinary Field):數(shù)據(jù)挖掘是一門交叉學科,它利用了來自統(tǒng)計分析、模式識別、機器學習、人工智能、信息檢索、數(shù)據(jù)庫等諸多不同領(lǐng)域的研究成果和學術(shù)思想。同時一些其他領(lǐng)域如隨機算法、信息論、可視化、分布式計算和最優(yōu)化也對數(shù)據(jù)挖掘的發(fā)展起到重要的作用。數(shù)據(jù)挖掘與這些相關(guān)領(lǐng)域的區(qū)別可以由前面提到的數(shù)據(jù)挖掘的3個特性來總結(jié),最重要的是它更側(cè)重于應(yīng)用。
綜上所述,應(yīng)用性是數(shù)據(jù)挖掘的一個重要特性,是其區(qū)別于其他學科的關(guān)鍵,同時,其應(yīng)用特性與其他特性相輔相成,這些特性在一定程度上決定了數(shù)據(jù)挖掘的研究與發(fā)展,同時,也為如何學習和掌握數(shù)據(jù)挖掘提出了指導性意見。如從研究發(fā)展來看,實際應(yīng)用的需求是數(shù)據(jù)挖掘領(lǐng)域很多方法提出和發(fā)展的根源。從最開始的顧客交易數(shù)據(jù)分析(market basket analysis)、多媒體數(shù)據(jù)挖掘(multimedia data mining)、隱私保護數(shù)據(jù)挖掘(privacy-preserving data mining)到文本數(shù)據(jù)挖掘(text mining)和Web挖掘(Web mining),再到社交媒體挖掘(social media mining)都是由應(yīng)用推動的。工程性和集合性決定了數(shù)據(jù)挖掘研究內(nèi)容和方向的廣泛性。其中,工程性使得整個研究過程里的不同步驟都屬于數(shù)據(jù)挖掘的研究范疇。而集合性使得數(shù)據(jù)挖掘有多種不同的功能,而如何將多種功能聯(lián)系和結(jié)合起來,從一定程度上影響了數(shù)據(jù)挖掘研究方法的發(fā)展。比如,20世紀90年代中期,數(shù)據(jù)挖掘的研究主要集中在關(guān)聯(lián)規(guī)則和時間序列模式的挖掘。到20世紀90年代末,研究人員開始研究基于關(guān)聯(lián)規(guī)則和時間序列模式的分類算法(如classification based on association),將兩種不同的數(shù)據(jù)挖掘功能有機地結(jié)合起來。21世紀初,一個研究的熱點是半監(jiān)督學習(semi-supervised learning)和半監(jiān)督聚類(semi-supervised clustering),也是將分類和聚類這兩種功能有機結(jié)合起來。近年來的一些其他研究方向如子空間聚類(subspace clustering)(特征抽取和聚類的結(jié)合)和圖分類(graphclassification)(圖挖掘和分類的結(jié)合)也是將多種功能聯(lián)系和結(jié)合在一起。最后,交叉性導致了研究思路和方法設(shè)計的多樣化。
前面提到的是數(shù)據(jù)挖掘的特性對研究發(fā)展及研究方法的影響,另外,數(shù)據(jù)挖掘的這些特性對如何學習和掌握數(shù)據(jù)挖掘提出了指導性的意見,對培養(yǎng)研究生、本科生均有一些指導意見,如應(yīng)用性在指導數(shù)據(jù)挖掘時,應(yīng)熟悉應(yīng)用的業(yè)務(wù)和需求,需求才是數(shù)據(jù)挖掘的目的,業(yè)務(wù)和算法、技術(shù)的緊密結(jié)合非常重要,了解業(yè)務(wù)、把握需求才能有針對性地對數(shù)據(jù)進行分析,挖掘其價值。因此,在實際應(yīng)用中需要的是一種既懂業(yè)務(wù),又懂數(shù)據(jù)挖掘算法的人才。工程性決定了要掌握數(shù)據(jù)挖掘需有一定的工程能力,一個好的數(shù)據(jù)額挖掘人員首先是一名工程師,有很強大的處理大規(guī)模數(shù)據(jù)和開發(fā)原型系統(tǒng)的能力,這相當于在培養(yǎng)數(shù)據(jù)挖掘工程師時,對數(shù)據(jù)的處理能力和編程能力很重要。集合性使得在具體應(yīng)用數(shù)據(jù)挖掘時,要做好底層不同功能和多種算法積累。交叉性決定了在學習數(shù)據(jù)挖掘時要主動了解和學習相關(guān)領(lǐng)域的思想和技術(shù)。
因此,這些特性均是數(shù)據(jù)挖掘的特點,通過這四個特性可總結(jié)和學習數(shù)據(jù)挖掘。
二、大數(shù)據(jù)的特征
大數(shù)據(jù)(bigdata)一詞經(jīng)常被用以描述和指代信息爆炸時代產(chǎn)生的海量信息。研究大數(shù)據(jù)的意義在于發(fā)現(xiàn)和理解信息內(nèi)容及信息與信息之間的聯(lián)系。研究大數(shù)據(jù)首先要理清和了解大數(shù)據(jù)的特點及基本概念,進而理解和認識大數(shù)據(jù)。
研究大數(shù)據(jù)首先要理解大數(shù)據(jù)的特征和基本概念。業(yè)界普遍認為,大數(shù)據(jù)具有標準的“4V”特征:
1.Volume(大量):數(shù)據(jù)體量巨大,從TB級別躍升到PB級別。
2.Variety(多樣):數(shù)據(jù)類型繁多,如網(wǎng)絡(luò)日志、視頻、圖片、地理位置信息等。
3.Velocity(高速):處理速度快,實時分析,這也是和傳統(tǒng)的數(shù)據(jù)挖掘技術(shù)有著本質(zhì)的不同。
4.Value(價值):價值密度低,蘊含有效價值高,合理利用低密度價值的數(shù)據(jù)并對其進行正確、準確的分析,將會帶來巨大的商業(yè)和社會價值。
上述“4V”特點描述了大數(shù)據(jù)與以往部分抽樣的“小數(shù)據(jù)”的主要區(qū)別。然而,實踐是大數(shù)據(jù)的最終價值體現(xiàn)的唯一途徑。從實際應(yīng)用和大數(shù)據(jù)處理的復(fù)雜性看,大數(shù)據(jù)還具有如下新的“4V”特點:
5.Variability(變化):在不同的場景、不同的研究目標下數(shù)據(jù)的結(jié)構(gòu)和意義可能會發(fā)生變化,因此,在實際研究中要考慮具體的上下文場景(Context)。
6.Veracity(真實性):獲取真實、可靠的數(shù)據(jù)是保證分析結(jié)果準確、有效的前提。只有真實而準確的數(shù)據(jù)才能獲取真正有意義的結(jié)果。
7.Volatility(波動性)/Variance(差異):由于數(shù)據(jù)本身含有噪音及分析流程的不規(guī)范性,導致采用不同的算法或不同分析過程與手段會得到不穩(wěn)定的分析結(jié)果。
8.Visualization(可視化):在大數(shù)據(jù)環(huán)境下,通過數(shù)據(jù)可視化可以更加直觀地闡釋數(shù)據(jù)的意義,幫助理解數(shù)據(jù),解釋結(jié)果。
綜上所述,以上“8V”特征在大數(shù)據(jù)分析與數(shù)據(jù)挖掘中具有很強的指導意義。
三、大數(shù)據(jù)時代下的數(shù)據(jù)挖掘
在大數(shù)據(jù)時代,數(shù)據(jù)挖掘需考慮以下四個問題:
大數(shù)據(jù)挖掘的核心和本質(zhì)是應(yīng)用、算法、數(shù)據(jù)和平臺4個要素的有機結(jié)合。
因為數(shù)據(jù)挖掘是應(yīng)用驅(qū)動的,來源于實踐,海量數(shù)據(jù)產(chǎn)生于應(yīng)用之中。需用具體的應(yīng)用數(shù)據(jù)作為驅(qū)動,以算法、工具和平臺作為支撐,最終將發(fā)現(xiàn)的知識和信息應(yīng)用到實踐中去,從而提供量化的、合理的、可行的、且能產(chǎn)生巨大價值的信息。
挖掘大數(shù)據(jù)中隱含的有用信息需設(shè)計和開發(fā)相應(yīng)的數(shù)據(jù)挖掘和學習算法。算法的設(shè)計和開發(fā)需以具體的應(yīng)用數(shù)據(jù)作為驅(qū)動,同時在實際問題中得到應(yīng)用和驗證,而算法的實現(xiàn)和應(yīng)用需要高效的處理平臺,這個處理平臺可以解決波動性問題。高效的處理平臺需要有效分析海量數(shù)據(jù),及時對多元數(shù)據(jù)進行集成,同時有力支持數(shù)據(jù)化對算法及數(shù)據(jù)可視化的執(zhí)行,并對數(shù)據(jù)分析的流程進行規(guī)范。
總之,應(yīng)用、算法、數(shù)據(jù)、平臺這四個方面相結(jié)合的思想,是對大數(shù)據(jù)時代的數(shù)據(jù)挖掘理解與認識的綜合提煉,體現(xiàn)了大數(shù)據(jù)時代數(shù)據(jù)挖掘的本質(zhì)與核心。這四個方面也是對相應(yīng)研究方面的集成和架構(gòu),這四個架構(gòu)具體從以下四個層面展開:
應(yīng)用層(Application):關(guān)心的是數(shù)據(jù)的收集與算法驗證,關(guān)鍵問題是理解與應(yīng)用相關(guān)的語義和領(lǐng)域知識。
數(shù)據(jù)層(Data):數(shù)據(jù)的管理、存儲、訪問與安全,關(guān)心的是如何進行高效的數(shù)據(jù)使用。
算法層(Algorithm):主要是數(shù)據(jù)挖掘、機器學習、近似算法等算法的設(shè)計與實現(xiàn)。
平臺層(Infrastructure):數(shù)據(jù)的訪問和計算,計算平臺處理分布式大規(guī)模的數(shù)據(jù)。
綜上所述,數(shù)據(jù)挖掘的算法分為多個層次,在不同的層面有不同的研究內(nèi)容,可以看到目前在做數(shù)據(jù)挖掘時的主要研究方向,如利用數(shù)據(jù)融合技術(shù)預(yù)處理稀疏、異構(gòu)、不確定、不完整以及多來源數(shù)據(jù);挖掘復(fù)雜動態(tài)變化的數(shù)據(jù);測試通過局部學習和模型融合所得到的全局知識,并反饋相關(guān)信息給預(yù)處理階段;對數(shù)據(jù)并行分布化,達到有效使用的目的。
四、大數(shù)據(jù)挖掘系統(tǒng)的開發(fā)
1.背景目標
大數(shù)據(jù)時代的來臨使得數(shù)據(jù)的規(guī)模和復(fù)雜性都出現(xiàn)爆炸式的增長,促使不同應(yīng)用領(lǐng)域的數(shù)據(jù)分析人員利用數(shù)據(jù)挖掘技術(shù)對數(shù)據(jù)進行分析。在應(yīng)用領(lǐng)域中,如醫(yī)療保健、高端制造、金融等,一個典型的數(shù)據(jù)挖掘任務(wù)往往需要復(fù)雜的子任務(wù)配置,整合多種不同類型的挖掘算法以及在分布式計算環(huán)境中高效運行。因此,在大數(shù)據(jù)時代進行數(shù)據(jù)挖掘應(yīng)用的一個當務(wù)之急是要開發(fā)和建立計算平臺和工具,支持應(yīng)用領(lǐng)域的數(shù)據(jù)分析人員能夠有效地執(zhí)行數(shù)據(jù)分析任務(wù)。
之前提到一個數(shù)據(jù)挖掘有多種任務(wù)、多種功能及不同的挖掘算法,同時,需要一個高效的平臺。因此,大數(shù)據(jù)時代的數(shù)據(jù)挖掘和應(yīng)用的當務(wù)之急,便是開發(fā)和建立計算平臺和工具,支持應(yīng)用領(lǐng)域的數(shù)據(jù)分析人員能夠有效地執(zhí)行數(shù)據(jù)分析任務(wù)。
2.相關(guān)產(chǎn)品
現(xiàn)有的數(shù)據(jù)挖掘工具
有Weka、SPSS和SQLServer,它們提供了友好的界面,方便用戶進行分析,然而這些工具并不適合進行大規(guī)模的數(shù)據(jù)分析,同時,在使用這些工具時用戶很難添加新的算法程序。
流行的數(shù)據(jù)挖掘算法庫
如Mahout、MLC++和MILK,這些算法庫提供了大量的數(shù)據(jù)挖掘算法。但這些算法庫需要有高級編程技能才能進行任務(wù)配置和算法集成。
最近出現(xiàn)的一些集成的數(shù)據(jù)挖掘產(chǎn)品
如Radoop和BC-PDM,它們提供友好的用戶界面來快速配置數(shù)據(jù)挖掘任務(wù)。但這些產(chǎn)品是基于Hadoop框架的,對非Hadoop算法程序的支持非常有限。沒有明確地解決在多用戶和多任務(wù)情況下的資源分配。
3.FIU-Miner
為解決現(xiàn)有工具和產(chǎn)品在大數(shù)據(jù)挖掘中的局限性,我們團隊開發(fā)了一個新的平臺——FIU-Miner,它代表了A Fast,Integrated,and User-Friendly System for Data Mining in Distributed Environment。它是一個用戶友好并支持在分布式環(huán)境中進行高效率計算和快速集成的數(shù)據(jù)挖掘系統(tǒng)。與現(xiàn)有數(shù)據(jù)挖掘平臺相比,F(xiàn)IU-Miner提供了一組新的功能,能夠幫助數(shù)據(jù)分析人員方便并有效地開展各項復(fù)雜的數(shù)據(jù)挖掘任務(wù)。
與傳統(tǒng)的數(shù)據(jù)挖掘平臺相比,它提供了一些新的功能,主要有以下幾個方面:
A.用戶友好、人性化、快速的數(shù)據(jù)挖掘任務(wù)配置。基于“軟件即服務(wù)”這一模式,F(xiàn)IU-Miner隱藏了與數(shù)據(jù)分析任務(wù)無關(guān)的低端細節(jié)。通過FIU-Miner提供的人性化用戶界面,用戶可以通過將現(xiàn)有算法直接組裝成工作流,輕松完成一個復(fù)雜數(shù)據(jù)挖掘問題的任務(wù)配置,而不需要編寫任何代碼。
B.靈活的多語言程序集成。允許用戶將目前最先進的數(shù)據(jù)挖掘算法直接導入系統(tǒng)算法庫中,以此對分析工具集合進行擴充和管理。同時,由于FIU-Miner能夠正確地將任務(wù)分配到有合適運行環(huán)境的計算節(jié)點上,所以對這些導入的算法沒有實現(xiàn)語言的限制。
C.異構(gòu)環(huán)境中有效的資源管理。FIU-Miner支持在異構(gòu)的計算環(huán)境中(包括圖形工作站、單個計算機、和服務(wù)器等)運行數(shù)據(jù)挖掘任務(wù)。FIU-Miner綜合考慮各種因素(包括算法實現(xiàn)、服務(wù)器負載平衡和數(shù)據(jù)位置)來優(yōu)化計算資源的利用率。
D.有效的程序調(diào)度和執(zhí)行。
應(yīng)用架構(gòu)上包括用戶界面層、任務(wù)和系統(tǒng)管理層、邏輯資源層、異構(gòu)的物理資源層。這種分層架構(gòu)充分考慮了海量數(shù)據(jù)的分布式存儲、不同數(shù)據(jù)挖掘算法的集成、多重任務(wù)的配置及系統(tǒng)用戶的交付功能。一個典型的數(shù)據(jù)挖掘任務(wù)在應(yīng)用之中需要復(fù)雜的主任務(wù)配置,整合多種不同類型的挖掘算法。因此,開發(fā)和建立這樣的計算平臺和工具,支持應(yīng)用領(lǐng)域的數(shù)據(jù)分析人員進行有效的分析是大數(shù)據(jù)挖掘中的一個重要任務(wù)。
FIU-Miner系統(tǒng)用在了不同方面:如高端制造業(yè)、倉庫智能管理、空間數(shù)據(jù)處理等,TerraFly GeoCloud是建立在TerraFly系統(tǒng)之上的、支持多種在線空間數(shù)據(jù)分析的一個平臺。提供了一種類SQL語句的空間數(shù)據(jù)查詢與挖掘語言MapQL。它不但支持類SQL語句,更重要的是可根據(jù)用戶的不同要求,進行空間數(shù)據(jù)挖掘,渲染和畫圖查詢得到空間數(shù)據(jù)。通過構(gòu)建空間數(shù)據(jù)分析的工作流來優(yōu)化分析流程,提高分析效率。
制造業(yè)是指大規(guī)模地把原材料加工成成品的工業(yè)生產(chǎn)過程。高端制造業(yè)是指制造業(yè)中新出現(xiàn)的具有高技術(shù)含量、高附加值、強競爭力的產(chǎn)業(yè)。典型的高端制造業(yè)包括電子半導體生產(chǎn)、精密儀器制造、生物制藥等。這些制造領(lǐng)域往往涉及嚴密的工程設(shè)計、復(fù)雜的裝配生產(chǎn)線、大量的控制加工設(shè)備與工藝參數(shù)、精確的過程控制和材料的嚴格規(guī)范。產(chǎn)量和品質(zhì)極大地依賴流程管控和優(yōu)化決策。因此,制造企業(yè)不遺余力地采用各種措施優(yōu)化生產(chǎn)流程、調(diào)優(yōu)控制參數(shù)、提高產(chǎn)品品質(zhì)和產(chǎn)量,從而提高企業(yè)的競爭力。
在空間數(shù)據(jù)處理方面,TerraFly GeoCloud對多種在線空間數(shù)據(jù)分析。對傳統(tǒng)數(shù)據(jù)分析而言,其難點在于MapQL語句比較難寫,任務(wù)之間的關(guān)系比較復(fù)雜,順序執(zhí)行之間空間數(shù)據(jù)分許效率較低。而FIU-Miner可有效解決以上三個難點。
總結(jié)而言,大數(shù)據(jù)的復(fù)雜特征對數(shù)據(jù)挖掘在理論和算法研究方面提出了新的要求和挑戰(zhàn)。大數(shù)據(jù)是現(xiàn)象,核心是挖掘數(shù)據(jù)中蘊含的潛在信息,并使它們發(fā)揮價值。數(shù)據(jù)挖掘是理論技術(shù)和實際應(yīng)用的完美結(jié)合。數(shù)據(jù)挖掘是理論和實踐相結(jié)合的一個例子。