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