◆施啟軍 龍福海 茍輝鵬 蘇浩辀 謝雨寒
基于深度神經(jīng)網(wǎng)絡(luò)的多分類方法研究
◆施啟軍 龍福海 茍輝鵬 蘇浩辀 謝雨寒
(貴州民族大學(xué)數(shù)據(jù)科學(xué)與信息工程學(xué)院 貴州 550025)
隨著大數(shù)據(jù)和網(wǎng)絡(luò)時代的飛速發(fā)展,網(wǎng)絡(luò)數(shù)據(jù)呈爆炸式增長,對海量數(shù)據(jù)的分析和處理成為大數(shù)據(jù)領(lǐng)域最核心的問題。對數(shù)據(jù)進(jìn)行分類是分析和處理數(shù)據(jù)流量的一項關(guān)鍵技術(shù)。在機器學(xué)習(xí)和數(shù)據(jù)挖掘領(lǐng)域,分類問題變得越來越重要。有關(guān)深度神經(jīng)網(wǎng)絡(luò)的分類研究中,大多數(shù)都是基于二分類問題的,用深度神經(jīng)網(wǎng)絡(luò)處理多分類問題的研究還很少。針對傳統(tǒng)的數(shù)據(jù)分類模型分類精度低以及如何利用深度神經(jīng)網(wǎng)絡(luò)解決多分類這一問題,我們提出了一種基于深度神經(jīng)網(wǎng)絡(luò)的大數(shù)據(jù)高效分類方法,并在weka自帶的鳶尾花數(shù)據(jù)集上進(jìn)行分類實驗,實驗結(jié)果表明該方法能大大提高數(shù)據(jù)的分類精度。最后我們用該方法與幾種機器學(xué)習(xí)中的經(jīng)典分類算法進(jìn)行性能對比實驗,實驗結(jié)果顯示我們的方法在分類準(zhǔn)確率上優(yōu)于其他方法。
深度神經(jīng)網(wǎng)絡(luò);機器學(xué)習(xí);大數(shù)據(jù)分析與處理;多分類
當(dāng)今我們正處于大數(shù)據(jù)的浪潮中,數(shù)據(jù)爆炸式增長給大數(shù)據(jù)的分析和處理帶來巨大挑戰(zhàn)。人們迫切需要研究出更加方便有效的工具對收集到的海量信息進(jìn)行快速準(zhǔn)確的分類。對龐大的數(shù)據(jù)進(jìn)行合理分類是大數(shù)據(jù)分析與挖掘過程中必不可少的環(huán)節(jié),這一研究熱點備受相關(guān)領(lǐng)域工作人員的青睞,不同的分類算法可根據(jù)不同的訓(xùn)練數(shù)據(jù)集訓(xùn)練出不同的分類器,分類器的可靠性和分類精度根據(jù)分類器的不同而不同,同時分類器的好壞會對數(shù)據(jù)的分類質(zhì)量造成直接影響,所以我們需要挖掘出分類精度較高且可靠的分類器對數(shù)據(jù)進(jìn)行精準(zhǔn)分類,這不僅能提高對大數(shù)據(jù)的精準(zhǔn)分類,還會為相關(guān)工作人員提供借鑒意義。
隨著人們對分類算法的不斷研究,機器學(xué)習(xí)領(lǐng)域出現(xiàn)了很多分類算法,包括有監(jiān)督分類算法、無監(jiān)督分類算法、半監(jiān)督分類算法等?,F(xiàn)有的分類算法有很多種,比較常用的有C4.5決策樹[1]、K近鄰(K-nearest Neighbor)[2]、支持向量機(Support Vector Machine)[3]、隨機森林(Random Forest)[4]、貝葉斯神經(jīng)網(wǎng)絡(luò)(BayesianNeural Network)[5]等方法。雖然以上研究均能夠?qū)Υ髷?shù)據(jù)分析與挖掘提供有利推動作用,但是從具體上來說,仍然存在局限性,其分類精度還有待提高。針對傳統(tǒng)分類器分類準(zhǔn)確率不是很高以及如何利用深度神經(jīng)網(wǎng)絡(luò)解決數(shù)據(jù)多分類這一問題,我們提出一種基于深度神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)多分類方法。我們在不同樣本容量的大數(shù)據(jù)樣本中進(jìn)行分類實驗,實驗結(jié)果表明,我們提出的方法能取得較好的分類效果。論文其余部分結(jié)構(gòu)如下:第二節(jié)對深度神經(jīng)網(wǎng)絡(luò)的概念和結(jié)構(gòu)進(jìn)行闡述;第三節(jié)介紹用于多分類實驗的數(shù)據(jù)集以及DNN框架,并給出實驗結(jié)果;第四節(jié)對本文進(jìn)行總結(jié)。
深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNN)也叫作多層感知機(Multi-Layer perceptron,MLP),它由神經(jīng)網(wǎng)絡(luò)演變而來,也可以理解為具有很多隱藏層的神經(jīng)網(wǎng)絡(luò),它是深度學(xué)習(xí)的基礎(chǔ)。DNN按照不同層的位置劃分,其內(nèi)部的神經(jīng)網(wǎng)絡(luò)層可以分為三類:輸入層、隱藏層和輸出層,如圖1所示,第一層為輸入層,中間的所有層為隱藏層,最后一層為輸出層。
圖1 DNN基本結(jié)構(gòu)
圖2 用于對DNN線性系數(shù)和偏倚進(jìn)行定義講解
2.3 DNN反向傳播算法
本文實驗所采用的數(shù)據(jù)集是weka自帶的鳶尾花數(shù)據(jù)集(Iris),如表1所示。該數(shù)據(jù)集總共有150個樣本,每個樣本包含了四個特征,分別為花萼長度(sepallength)、花萼寬度(sepalwidth)、花瓣長度(petallength)、花瓣寬度(petalwidth),將鳶尾花分為三類,分別為Iris-setosa、Iris-versicolour和Iris-virginica,每一類有50個樣本。在實驗中我們保持?jǐn)?shù)據(jù)中各類數(shù)據(jù)樣本比例不變,抽取該數(shù)據(jù)集的70%作為訓(xùn)練集,其余30%作為測試集。我們的實驗是在Intel(R) Core(TM) i5-9400F CPU、運行內(nèi)存為16G的計算機上,基于weka平臺以及weka工具包設(shè)計實現(xiàn)的。
我們利用Keras搭建深度神經(jīng)網(wǎng)絡(luò)來解決對鳶尾花數(shù)據(jù)集的分類問題,其具體結(jié)構(gòu)如圖3所示。
表1 實驗數(shù)據(jù)集
我們搭建的DNN多分類實驗架構(gòu)圖由輸入層、隱藏層、輸出層和softmax函數(shù)四個部分組成,由圖3可知,架構(gòu)圖中的輸入層由4個神經(jīng)元組成,它們對應(yīng)鳶尾花數(shù)據(jù)集中所具有的4個特征。中間部分為隱藏層,有兩層神經(jīng)元,分別有5和6個神經(jīng)元。緊跟其后的為輸出層,由3個神經(jīng)元組成,對應(yīng)鳶尾花數(shù)據(jù)集的3個類別。最后面是一個softmax函數(shù)。在本文給出的DNN模型中,我們選擇ReLU函數(shù)作為神經(jīng)元激活函數(shù),選擇交叉熵(cross entropy)作為損失函數(shù),選擇Adam作為迭代的優(yōu)化器,各個層的連接權(quán)重和偏重的初始值是隨機生成的。
定義完模型后,我們就對模型進(jìn)行訓(xùn)練,本次實驗采用交叉驗證法(Cross Validation)進(jìn)行評價,實驗的最大迭代次數(shù)被設(shè)置為100。為了對模型進(jìn)行評估,我們輸出來該DNN模型的損失函數(shù)的值以及在測試集上的準(zhǔn)確率,迭代100次后準(zhǔn)確率達(dá)到98.26%,分類效果顯著。
weka平臺集成了所有主流的機器學(xué)習(xí)算法0,同時也可以實現(xiàn)數(shù)據(jù)的預(yù)處理操作。我們將相同的數(shù)據(jù)集導(dǎo)入到weka平臺,分類器分別選擇C4.5決策樹、貝葉斯網(wǎng)絡(luò)(BN)、K近鄰(KNN)、隨機森林(RF)和支持向量機(SVM),分別迭代100次后輸出各個算法的分類準(zhǔn)確率,然后與我們的實驗結(jié)果進(jìn)行比較,如圖4所示。最終結(jié)果表明,DNN的分類準(zhǔn)確率最高,其分類性能最好。
圖4 各分類器在iris數(shù)據(jù)集上的分類性能比較
在這篇文章中,我們利用深度神經(jīng)網(wǎng)絡(luò)解決多分類問題,并基于weka平臺進(jìn)行性能評估實驗,實驗結(jié)果表明,該方法具有較好的分類效果。對該算法的研究仍處在初級發(fā)展階段,需要研究人員進(jìn)一步加強相關(guān)內(nèi)容的研究。在以后的工作中我們可以運用更加廣泛的數(shù)據(jù)集來檢驗算法的運行效率,使用不同分類器來檢測所選特征子集在分類時的準(zhǔn)確性以及采用不同的評估方法對所提出的算法進(jìn)行評估。
[1]徐鵬,林森. 基于C4.5決策樹的流量分類方法[J]. 計算機學(xué)報. 2009,20(10):2692-2704.
[2]Indarti,Indarti,Indriyani Novita,Budi Arief Setya,Laraswati Dewi,Yusnaeni Wina,Hidayat Arief. The Classification Of Monster And Williams Pear Varieties Using K-means Clustering And K-Nearest Neighbor(KNN)Algorithm[J]. Journal of Physics:Conference Series,2020,1641(1).
[3]Este A,Gringoli F,Salgarelli L. Support vector machines for TCP tra?c classification[J]. Computer Networks,2009,53(14):2476-2490.
[4]Gislason,PO,Benediktsson,et al. Random Forests for land cover classification[J]. PATTERN RECOGNITION LETT, 2006.
[5]Auld Tom,Moore Andrew W,Gull Stephen F. Bayesian neural networks for internet traffic classification.[J]. IEEE transactions on neural networks,2007,18(1).
[6]Hall M,F(xiàn)rank E,Holmes G, Pfahringer B,Reutemann P, Witten IH. The WEKA data mining software:an update. ACM SIGKDD explorations newsletter,2009,11(1):10-18.