史 虹, 鄧紅霞, 曹曉葉
(1.深圳職業技術學院人工智能學院,廣東深圳518055;2.太原理工大學計算機科學與技術學院,太原030024;3.華南理工大學計算機科學與工程學院,廣州510006)
數據挖掘技術能夠從海量數據中發現隱含的內在有用信息,包括數據之間的關系、數據流的趨勢、數據模式等信息,目前數據挖掘已經成為電子信息領域一個極為重要的技術[1]。數據挖掘技術由若干個子技術組成,包括:關聯規則挖掘[2]、頻繁項集挖掘[3]、模式挖掘[3]、數據聚類等,這些子技術與數學的關系十分密切并且較為抽象,使得初學者難以理解。
數據挖掘是高校計算機專業與信息專業的基礎課程,數據挖掘技術的抽象使得學生難以理解,這為教學帶來了極大的困難。數據挖掘教學與實驗方案[4]應當滿足以下幾點要求:① 支持不同的數據挖掘子技術;②能夠快速、準確地仿真數據挖掘的工作流程;③采用云計算技術提高數據分析與存儲的效率;④提供數據挖掘的可視化界面。目前主流的數據挖掘商業軟件主要有Orange4WS(Orange for Web Services)[5]、KNIME (Konstanz Information Miner) analytics platform[6]、RapidMiner Studio等,這些商業軟件價格較為昂貴,且不能同時滿足上述4 點要求,無法直接用于高校的數據挖掘教學與實驗。
為提高數據挖掘課程的可理解性,設計針對數據挖掘技術的教學與實驗方案。該方案收集了傳感器、互聯網、社交媒體等不同類型的數據集,采用云計算技術對數據集進行分析處理,提高數據處理的效率,由此也提高了教學的效率。此外,設計了PC 端的圖形界面,能夠以圖像形式描述數據分類、數據聚類以及數據降維的結果,提高數據挖掘技術的可理解性。
為滿足上述數據挖掘教學與實驗的4 點要求,本文設計了數據挖掘仿真實驗(Data Mining Simulation Experiment,DMSE)系統,該系統不僅滿足上述4 點要求,同時還考慮了用戶權限管理、可移植性與可擴展性。圖1 所示為DMSE 系統的總體結構,前端部分的圖形用戶界面(Graphical User Interface,GUI)負責與用戶交互,后端部分的計算服務模塊負責處理用戶的請求。

圖1 DMSE系統總體結構
設計了兩種用戶權限:管理者與普通用戶。普通用戶無須知道DMSE的內部信息,僅需要操作軟件完成數據挖掘的仿真與實驗。管理者應當熟悉DMSE的結構,可以修改DMSE的實驗數據集,并且集成新的數據挖掘子技術。
DMSE主要由GUI 與計算服務模塊組成,GUI 與計算服務模塊通過簡單對象訪問協議[7](Simple Object Accrss Protocol,SOAP)消息通信。如果GUI向計算服務模塊發送一個SOAP 消息,該消息中包含具體的數據挖掘算法,每個SOAP 消息觸發計算服務模塊運行相應的數據挖掘算法。為提高系統的處理速度,采用云計算實現計算服務模塊,云計算調度器為數據挖掘計算任務分配處理器資源與內存資源。
通過將GUI與計算服務模塊分離,能夠有效地提高DMSE的可移植性,獨立地對計算服務模塊進行升級,使用最新的開源云計算技術。GUI 負責用戶與DMSE之間的交互,為終端用戶提供數據挖掘的方案,并為用戶提供友好的界面,用戶可觀察數據挖掘的處理過程。DMSE采用了云計算技術與計算資源分離技術,使得DMSE具有4 個優點:① 使用云存儲技術降低了數據管理的難度;②采用云計算技術提高了計算資源的管理效率;③能夠簡單地引入新的數據挖掘算法;④能夠仿真數據挖掘算法的工作流程。
DMSE用戶利用數據挖掘算法對數據進行分析的過程主要分為以下步驟:首先,DMSE用戶初始化并且管理數據挖掘實驗,然后,建模與模擬數據分析程序,最終,DMSE 將實驗結果與數據分析結果保存于云存儲中,使得DMSE用戶能夠隨時訪問實驗的結果。
數據挖掘實驗的初始化與管理工作主要通過建模科學工作流程實現。DMSE 用戶上傳一個數據文件,選擇數據預處理、計算統計特征、數據降維、數據聚類與分類等子技術,觀察DMSE的仿真結果。
數據挖掘技術需要處理來自不同設備與社交媒體的數據集,此類數據集一般為高維度數據,這為數據挖掘處理帶來了極大的困難。降維處理的目標是從高維數據集提取其低維度結構,將高維空間的數據映射到低維度空間。降維處理是數據挖掘領域一個極為重要的處理步驟,對于大數據集極為重要,大數據集在映射到低維空間之后,可通過其他的數據挖掘算法對低維數據集進行進一步的分析。數據集的一部分特征屬于冗余特征,通過降維技術可排除此類冗余特征,提高數據挖掘的效率與準確率。
高維空間無法以圖像的形式表示,DMSE 系統需要為用戶提供數據集的可視化結構,因此降維處理是DMSE重要的一部分。本文的DMSE集成了多個經典的降維算法:
(1)主成分分析技術(Principal Component Analysis,PCA)[8]。PCA 是一個廣泛使用的降維技術。
(2)多維尺度變換(multidimensional scaling,MDS)[9]。MDS廣泛用于降維處理與高維數據的可視化處理,該技術主要利用高維數據點之間的距離信息將高維數據轉化為低維數據。
數控程序采點功能,可以簡化程序局部更改過程,對于尺寸變化需要更改程序的情況,使用采點功能直接在工件二維圖上采集坐標點,并將其自動轉化為機床程序坐標語句,后續添加準備功能字等即可變成程序段[9],避免在CAD/CAM軟件上重新畫圖,重新出程序的復雜過程。
(3)相對MDS[10]。MDS 技術保留了高維數據的結構,但并不提供新數據點的映射。相對MDS則提供了新數據點的映射機制。
(4)結合自組織映射的多維尺度變換(Self Organizing Mapsmultidimensional scaling, SOMMDS)[11]。SOM是一種神經網絡結構,其結果是一個神經元集合,該集合表征了高維數據點,MDS 將該高維數據點映射至二維平面。結合SOM與MDS 可提高對大數據的降維效率。
DMSE也集成了數據預處理、分類和聚類等子技術的經典算法,例如:特征選擇、數據劃分、孤立點消除、數據統計特征計算、隨機決策預測等。為輸出數據挖掘的圖形化結果,設計了數據點的二維坐標圖。
DMSE支持建模數據挖掘過程,用戶可利用DMSE深入觀察數據集的內部關系。圖2 所示為DMSE對數據集進行數據挖掘的過程,本文將人工合成數據集與真實數據集混合作為實驗的數據集。
第1 個數據挖掘實驗使用公開的Breast Cancer Wisconsin數據集[12],該數據集包括699 個樣本,共有9 個特征,其中每個樣本均有一個類標簽,共有benign與malignant兩個類。通過數據挖掘算法獲得該數據集隱含的信息,DMSE則混合了各個數據挖掘子技術來完成實驗。數據挖掘實驗過程分為以下步驟:

圖2 DMSE對數據集進行數據挖掘流程圖
步驟1數據文件上傳。為了使用DMSE 分析數據,數據必須為兼容的格式,例如:tab、txt、csv、xlsx、arff。
步驟3數據分類。DMSE 集成了隨機決策森林(Random Decision Forest,RDF)與多層感知機(Multi-Layer Perceptron,MLP)兩種分類算法。
步驟4數據降維。DMSE 集成了基于降維技術的可視化算法(Scaling by Majorizing a Complicated Function,SMACOF)[13]。
步驟5輸出圖形化結果。以二維散點圖作為數據挖掘的輸出形式。
DMSE通過建立一個科學工作流程即可簡單地實現數據挖掘模型,圖3 所示為DMSE的操作界面,通過鼠標拖動圖標即可建立數據挖掘的工作流程,DMSE界面即可輸出數據挖掘結果的二維散點圖。

圖3 DMSE的操作界面
DMSE系統的RDF與MLP數據分類結果見表1,可見DMSE的數據分類性能較高。

表1 不同數據挖掘軟件的分類器性能
如圖4 所示為降維處理后的二維散列圖,壓縮最小化配置(stress minimization Configuration,SMACOF)算法[13]將數據集降為二維的空間。圖中的紅色數據點對應腫瘤數據,紅色點相對集中,其他的綠色點對應惡性腫瘤數據,綠色點則極為分散。從圖4(a)可以觀察數據集的隱含關系,也提高了數據集的可理解性。每個breast cancer數據樣本表示為9 個特征,并非所有的特征均為關鍵特征,圖4(b)所示為一部分特征的散列圖結果。將圖4(a)、(b)的散列圖進行比較,可看出特征選擇處理對輸出的散列圖并沒有明顯的影響,卻導致數據的分類準確率降低,因此可總結出該數據集的全部特征均為關鍵特征。

圖4 降維處理后的二維散列圖
微軟機器學習庫(Microsoft Azure Machine Learning Studio,Microsoft Azure ML)[14]也是一個能夠輸出數據挖掘散列圖的商業軟件,該軟件也是基于云計算實現。將DMSE與Microsoft Azure ML比較,如圖5(a)所示為Azure ML 軟件對于breast cancer 數據集的工作流程,圖5(b)為使用PCA 進行降維處理的結果。將圖4 與圖5(b)比較,可看出DMSE輸出的圖像為彩色圖像,而Azure ML軟件的輸出圖像為黑白色圖像,因此DMSE的散列圖像具有更好的表現效果。此外DMSE集成的降維算法也多于Azure ML軟件。

圖5 Microsoft Azure ML軟件[16]輸出的散列圖
數據挖掘需要消耗大量的計算資源與存儲資源,處理大規模數據集或者高維數據集的效率較低,不利于課程教學。DMSE采用了云計算方案實現分布式計算與分布式存儲,采用一個高維大數據集“ellipsoidal數據集”(http:/ /personalpages.manchester.ac.uk/mbs/julia.handl/generators.html)進行仿真,該數據集包含10 個重疊的橢圓形簇,共有3 140 個50 維的數據點,如圖6 所示為高維數據集的結構圖,DMSE 采用SMACOF對該數據集進行處理。將DMSE與不采用云計算的DMSE進行比較,基于云計算的DMSE 簡稱為“云DMSE”,未采用云計算的DMSE 簡稱為“簡版DMSE”。

圖6 ellipsoidal數據集的結構圖
如圖7 所示為“云DMSE”與“簡版DMSE”分別對ellipsoidal數據集的分析結果。由圖7 可見,云DMSE的分類結果優于簡版DMSE,其原因在于SMACOF技術的性能依賴低維數據點的初始化值,云DMSE 通過分布式計算獲得了較好的初始化值,簡版DMSE 則未能獲得較好的初始化值。簡版DMSE的運行時間約為21.3 s,而云DMSE的運行時間約為9.7 s。采用云計算技術不僅提高了數據挖掘的效果,也提高了數據挖掘的效率。

圖7 “云DMSE”與“簡版DMSE”分別對ellipsoidal數據集的分析結果
為提高數據挖掘課程的可理解性,設計了針對數據挖掘技術的實驗方案。本方案包含了數據的分類、聚類、降維以及關聯規則等數據挖掘的子技術。將傳感器、互聯網、社交媒體等不同類型的數據集作為實驗數據集,采用云計算技術提高計算與存儲的效率,提高教學與實驗的效率。設計的圖形交互界面,能夠以圖形形式與表格形式輸出數據的分類、聚類、降維以及關聯規則的結果,提高數據挖掘技術的可理解性。仿真效果證明,采用云計算技術不僅提高了數據挖掘的可視化效果,也提高了數據挖掘的效率。