史 虹, 鄧紅霞, 曹曉葉
(1.深圳職業(yè)技術(shù)學院人工智能學院,廣東深圳518055;2.太原理工大學計算機科學與技術(shù)學院,太原030024;3.華南理工大學計算機科學與工程學院,廣州510006)
數(shù)據(jù)挖掘技術(shù)能夠從海量數(shù)據(jù)中發(fā)現(xiàn)隱含的內(nèi)在有用信息,包括數(shù)據(jù)之間的關(guān)系、數(shù)據(jù)流的趨勢、數(shù)據(jù)模式等信息,目前數(shù)據(jù)挖掘已經(jīng)成為電子信息領(lǐng)域一個極為重要的技術(shù)[1]。數(shù)據(jù)挖掘技術(shù)由若干個子技術(shù)組成,包括:關(guān)聯(lián)規(guī)則挖掘[2]、頻繁項集挖掘[3]、模式挖掘[3]、數(shù)據(jù)聚類等,這些子技術(shù)與數(shù)學的關(guān)系十分密切并且較為抽象,使得初學者難以理解。
數(shù)據(jù)挖掘是高校計算機專業(yè)與信息專業(yè)的基礎(chǔ)課程,數(shù)據(jù)挖掘技術(shù)的抽象使得學生難以理解,這為教學帶來了極大的困難。數(shù)據(jù)挖掘教學與實驗方案[4]應當滿足以下幾點要求:① 支持不同的數(shù)據(jù)挖掘子技術(shù);②能夠快速、準確地仿真數(shù)據(jù)挖掘的工作流程;③采用云計算技術(shù)提高數(shù)據(jù)分析與存儲的效率;④提供數(shù)據(jù)挖掘的可視化界面。目前主流的數(shù)據(jù)挖掘商業(yè)軟件主要有Orange4WS(Orange for Web Services)[5]、KNIME (Konstanz Information Miner) analytics platform[6]、RapidMiner Studio等,這些商業(yè)軟件價格較為昂貴,且不能同時滿足上述4 點要求,無法直接用于高校的數(shù)據(jù)挖掘教學與實驗。
為提高數(shù)據(jù)挖掘課程的可理解性,設(shè)計針對數(shù)據(jù)挖掘技術(shù)的教學與實驗方案。該方案收集了傳感器、互聯(lián)網(wǎng)、社交媒體等不同類型的數(shù)據(jù)集,采用云計算技術(shù)對數(shù)據(jù)集進行分析處理,提高數(shù)據(jù)處理的效率,由此也提高了教學的效率。此外,設(shè)計了PC 端的圖形界面,能夠以圖像形式描述數(shù)據(jù)分類、數(shù)據(jù)聚類以及數(shù)據(jù)降維的結(jié)果,提高數(shù)據(jù)挖掘技術(shù)的可理解性。
為滿足上述數(shù)據(jù)挖掘教學與實驗的4 點要求,本文設(shè)計了數(shù)據(jù)挖掘仿真實驗(Data Mining Simulation Experiment,DMSE)系統(tǒng),該系統(tǒng)不僅滿足上述4 點要求,同時還考慮了用戶權(quán)限管理、可移植性與可擴展性。圖1 所示為DMSE 系統(tǒng)的總體結(jié)構(gòu),前端部分的圖形用戶界面(Graphical User Interface,GUI)負責與用戶交互,后端部分的計算服務(wù)模塊負責處理用戶的請求。
圖1 DMSE系統(tǒng)總體結(jié)構(gòu)
設(shè)計了兩種用戶權(quán)限:管理者與普通用戶。普通用戶無須知道DMSE的內(nèi)部信息,僅需要操作軟件完成數(shù)據(jù)挖掘的仿真與實驗。管理者應當熟悉DMSE的結(jié)構(gòu),可以修改DMSE的實驗數(shù)據(jù)集,并且集成新的數(shù)據(jù)挖掘子技術(shù)。
DMSE主要由GUI 與計算服務(wù)模塊組成,GUI 與計算服務(wù)模塊通過簡單對象訪問協(xié)議[7](Simple Object Accrss Protocol,SOAP)消息通信。如果GUI向計算服務(wù)模塊發(fā)送一個SOAP 消息,該消息中包含具體的數(shù)據(jù)挖掘算法,每個SOAP 消息觸發(fā)計算服務(wù)模塊運行相應的數(shù)據(jù)挖掘算法。為提高系統(tǒng)的處理速度,采用云計算實現(xiàn)計算服務(wù)模塊,云計算調(diào)度器為數(shù)據(jù)挖掘計算任務(wù)分配處理器資源與內(nèi)存資源。
通過將GUI與計算服務(wù)模塊分離,能夠有效地提高DMSE的可移植性,獨立地對計算服務(wù)模塊進行升級,使用最新的開源云計算技術(shù)。GUI 負責用戶與DMSE之間的交互,為終端用戶提供數(shù)據(jù)挖掘的方案,并為用戶提供友好的界面,用戶可觀察數(shù)據(jù)挖掘的處理過程。DMSE采用了云計算技術(shù)與計算資源分離技術(shù),使得DMSE具有4 個優(yōu)點:① 使用云存儲技術(shù)降低了數(shù)據(jù)管理的難度;②采用云計算技術(shù)提高了計算資源的管理效率;③能夠簡單地引入新的數(shù)據(jù)挖掘算法;④能夠仿真數(shù)據(jù)挖掘算法的工作流程。
DMSE用戶利用數(shù)據(jù)挖掘算法對數(shù)據(jù)進行分析的過程主要分為以下步驟:首先,DMSE用戶初始化并且管理數(shù)據(jù)挖掘?qū)嶒?,然后,建模與模擬數(shù)據(jù)分析程序,最終,DMSE 將實驗結(jié)果與數(shù)據(jù)分析結(jié)果保存于云存儲中,使得DMSE用戶能夠隨時訪問實驗的結(jié)果。
數(shù)據(jù)挖掘?qū)嶒灥某跏蓟c管理工作主要通過建??茖W工作流程實現(xiàn)。DMSE 用戶上傳一個數(shù)據(jù)文件,選擇數(shù)據(jù)預處理、計算統(tǒng)計特征、數(shù)據(jù)降維、數(shù)據(jù)聚類與分類等子技術(shù),觀察DMSE的仿真結(jié)果。
數(shù)據(jù)挖掘技術(shù)需要處理來自不同設(shè)備與社交媒體的數(shù)據(jù)集,此類數(shù)據(jù)集一般為高維度數(shù)據(jù),這為數(shù)據(jù)挖掘處理帶來了極大的困難。降維處理的目標是從高維數(shù)據(jù)集提取其低維度結(jié)構(gòu),將高維空間的數(shù)據(jù)映射到低維度空間。降維處理是數(shù)據(jù)挖掘領(lǐng)域一個極為重要的處理步驟,對于大數(shù)據(jù)集極為重要,大數(shù)據(jù)集在映射到低維空間之后,可通過其他的數(shù)據(jù)挖掘算法對低維數(shù)據(jù)集進行進一步的分析。數(shù)據(jù)集的一部分特征屬于冗余特征,通過降維技術(shù)可排除此類冗余特征,提高數(shù)據(jù)挖掘的效率與準確率。
高維空間無法以圖像的形式表示,DMSE 系統(tǒng)需要為用戶提供數(shù)據(jù)集的可視化結(jié)構(gòu),因此降維處理是DMSE重要的一部分。本文的DMSE集成了多個經(jīng)典的降維算法:
(1)主成分分析技術(shù)(Principal Component Analysis,PCA)[8]。PCA 是一個廣泛使用的降維技術(shù)。
(2)多維尺度變換(multidimensional scaling,MDS)[9]。MDS廣泛用于降維處理與高維數(shù)據(jù)的可視化處理,該技術(shù)主要利用高維數(shù)據(jù)點之間的距離信息將高維數(shù)據(jù)轉(zhuǎn)化為低維數(shù)據(jù)。
數(shù)控程序采點功能,可以簡化程序局部更改過程,對于尺寸變化需要更改程序的情況,使用采點功能直接在工件二維圖上采集坐標點,并將其自動轉(zhuǎn)化為機床程序坐標語句,后續(xù)添加準備功能字等即可變成程序段[9],避免在CAD/CAM軟件上重新畫圖,重新出程序的復雜過程。
(3)相對MDS[10]。MDS 技術(shù)保留了高維數(shù)據(jù)的結(jié)構(gòu),但并不提供新數(shù)據(jù)點的映射。相對MDS則提供了新數(shù)據(jù)點的映射機制。
(4)結(jié)合自組織映射的多維尺度變換(Self Organizing Mapsmultidimensional scaling, SOMMDS)[11]。SOM是一種神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),其結(jié)果是一個神經(jīng)元集合,該集合表征了高維數(shù)據(jù)點,MDS 將該高維數(shù)據(jù)點映射至二維平面。結(jié)合SOM與MDS 可提高對大數(shù)據(jù)的降維效率。
DMSE也集成了數(shù)據(jù)預處理、分類和聚類等子技術(shù)的經(jīng)典算法,例如:特征選擇、數(shù)據(jù)劃分、孤立點消除、數(shù)據(jù)統(tǒng)計特征計算、隨機決策預測等。為輸出數(shù)據(jù)挖掘的圖形化結(jié)果,設(shè)計了數(shù)據(jù)點的二維坐標圖。
DMSE支持建模數(shù)據(jù)挖掘過程,用戶可利用DMSE深入觀察數(shù)據(jù)集的內(nèi)部關(guān)系。圖2 所示為DMSE對數(shù)據(jù)集進行數(shù)據(jù)挖掘的過程,本文將人工合成數(shù)據(jù)集與真實數(shù)據(jù)集混合作為實驗的數(shù)據(jù)集。
第1 個數(shù)據(jù)挖掘?qū)嶒炇褂霉_的Breast Cancer Wisconsin數(shù)據(jù)集[12],該數(shù)據(jù)集包括699 個樣本,共有9 個特征,其中每個樣本均有一個類標簽,共有benign與malignant兩個類。通過數(shù)據(jù)挖掘算法獲得該數(shù)據(jù)集隱含的信息,DMSE則混合了各個數(shù)據(jù)挖掘子技術(shù)來完成實驗。數(shù)據(jù)挖掘?qū)嶒炦^程分為以下步驟:
圖2 DMSE對數(shù)據(jù)集進行數(shù)據(jù)挖掘流程圖
步驟1數(shù)據(jù)文件上傳。為了使用DMSE 分析數(shù)據(jù),數(shù)據(jù)必須為兼容的格式,例如:tab、txt、csv、xlsx、arff。
步驟3數(shù)據(jù)分類。DMSE 集成了隨機決策森林(Random Decision Forest,RDF)與多層感知機(Multi-Layer Perceptron,MLP)兩種分類算法。
步驟4數(shù)據(jù)降維。DMSE 集成了基于降維技術(shù)的可視化算法(Scaling by Majorizing a Complicated Function,SMACOF)[13]。
步驟5輸出圖形化結(jié)果。以二維散點圖作為數(shù)據(jù)挖掘的輸出形式。
DMSE通過建立一個科學工作流程即可簡單地實現(xiàn)數(shù)據(jù)挖掘模型,圖3 所示為DMSE的操作界面,通過鼠標拖動圖標即可建立數(shù)據(jù)挖掘的工作流程,DMSE界面即可輸出數(shù)據(jù)挖掘結(jié)果的二維散點圖。
圖3 DMSE的操作界面
DMSE系統(tǒng)的RDF與MLP數(shù)據(jù)分類結(jié)果見表1,可見DMSE的數(shù)據(jù)分類性能較高。
表1 不同數(shù)據(jù)挖掘軟件的分類器性能
如圖4 所示為降維處理后的二維散列圖,壓縮最小化配置(stress minimization Configuration,SMACOF)算法[13]將數(shù)據(jù)集降為二維的空間。圖中的紅色數(shù)據(jù)點對應腫瘤數(shù)據(jù),紅色點相對集中,其他的綠色點對應惡性腫瘤數(shù)據(jù),綠色點則極為分散。從圖4(a)可以觀察數(shù)據(jù)集的隱含關(guān)系,也提高了數(shù)據(jù)集的可理解性。每個breast cancer數(shù)據(jù)樣本表示為9 個特征,并非所有的特征均為關(guān)鍵特征,圖4(b)所示為一部分特征的散列圖結(jié)果。將圖4(a)、(b)的散列圖進行比較,可看出特征選擇處理對輸出的散列圖并沒有明顯的影響,卻導致數(shù)據(jù)的分類準確率降低,因此可總結(jié)出該數(shù)據(jù)集的全部特征均為關(guān)鍵特征。
圖4 降維處理后的二維散列圖
微軟機器學習庫(Microsoft Azure Machine Learning Studio,Microsoft Azure ML)[14]也是一個能夠輸出數(shù)據(jù)挖掘散列圖的商業(yè)軟件,該軟件也是基于云計算實現(xiàn)。將DMSE與Microsoft Azure ML比較,如圖5(a)所示為Azure ML 軟件對于breast cancer 數(shù)據(jù)集的工作流程,圖5(b)為使用PCA 進行降維處理的結(jié)果。將圖4 與圖5(b)比較,可看出DMSE輸出的圖像為彩色圖像,而Azure ML軟件的輸出圖像為黑白色圖像,因此DMSE的散列圖像具有更好的表現(xiàn)效果。此外DMSE集成的降維算法也多于Azure ML軟件。
圖5 Microsoft Azure ML軟件[16]輸出的散列圖
數(shù)據(jù)挖掘需要消耗大量的計算資源與存儲資源,處理大規(guī)模數(shù)據(jù)集或者高維數(shù)據(jù)集的效率較低,不利于課程教學。DMSE采用了云計算方案實現(xiàn)分布式計算與分布式存儲,采用一個高維大數(shù)據(jù)集“ellipsoidal數(shù)據(jù)集”(http:/ /personalpages.manchester.ac.uk/mbs/julia.handl/generators.html)進行仿真,該數(shù)據(jù)集包含10 個重疊的橢圓形簇,共有3 140 個50 維的數(shù)據(jù)點,如圖6 所示為高維數(shù)據(jù)集的結(jié)構(gòu)圖,DMSE 采用SMACOF對該數(shù)據(jù)集進行處理。將DMSE與不采用云計算的DMSE進行比較,基于云計算的DMSE 簡稱為“云DMSE”,未采用云計算的DMSE 簡稱為“簡版DMSE”。
圖6 ellipsoidal數(shù)據(jù)集的結(jié)構(gòu)圖
如圖7 所示為“云DMSE”與“簡版DMSE”分別對ellipsoidal數(shù)據(jù)集的分析結(jié)果。由圖7 可見,云DMSE的分類結(jié)果優(yōu)于簡版DMSE,其原因在于SMACOF技術(shù)的性能依賴低維數(shù)據(jù)點的初始化值,云DMSE 通過分布式計算獲得了較好的初始化值,簡版DMSE 則未能獲得較好的初始化值。簡版DMSE的運行時間約為21.3 s,而云DMSE的運行時間約為9.7 s。采用云計算技術(shù)不僅提高了數(shù)據(jù)挖掘的效果,也提高了數(shù)據(jù)挖掘的效率。
圖7 “云DMSE”與“簡版DMSE”分別對ellipsoidal數(shù)據(jù)集的分析結(jié)果
為提高數(shù)據(jù)挖掘課程的可理解性,設(shè)計了針對數(shù)據(jù)挖掘技術(shù)的實驗方案。本方案包含了數(shù)據(jù)的分類、聚類、降維以及關(guān)聯(lián)規(guī)則等數(shù)據(jù)挖掘的子技術(shù)。將傳感器、互聯(lián)網(wǎng)、社交媒體等不同類型的數(shù)據(jù)集作為實驗數(shù)據(jù)集,采用云計算技術(shù)提高計算與存儲的效率,提高教學與實驗的效率。設(shè)計的圖形交互界面,能夠以圖形形式與表格形式輸出數(shù)據(jù)的分類、聚類、降維以及關(guān)聯(lián)規(guī)則的結(jié)果,提高數(shù)據(jù)挖掘技術(shù)的可理解性。仿真效果證明,采用云計算技術(shù)不僅提高了數(shù)據(jù)挖掘的可視化效果,也提高了數(shù)據(jù)挖掘的效率。