◆施啟軍 龍福海 茍輝鵬 蘇浩辀 謝雨寒
基于深度神經網絡的多分類方法研究
◆施啟軍 龍福海 茍輝鵬 蘇浩辀 謝雨寒
(貴州民族大學數據科學與信息工程學院 貴州 550025)
隨著大數據和網絡時代的飛速發展,網絡數據呈爆炸式增長,對海量數據的分析和處理成為大數據領域最核心的問題。對數據進行分類是分析和處理數據流量的一項關鍵技術。在機器學習和數據挖掘領域,分類問題變得越來越重要。有關深度神經網絡的分類研究中,大多數都是基于二分類問題的,用深度神經網絡處理多分類問題的研究還很少。針對傳統的數據分類模型分類精度低以及如何利用深度神經網絡解決多分類這一問題,我們提出了一種基于深度神經網絡的大數據高效分類方法,并在weka自帶的鳶尾花數據集上進行分類實驗,實驗結果表明該方法能大大提高數據的分類精度。最后我們用該方法與幾種機器學習中的經典分類算法進行性能對比實驗,實驗結果顯示我們的方法在分類準確率上優于其他方法。
深度神經網絡;機器學習;大數據分析與處理;多分類
當今我們正處于大數據的浪潮中,數據爆炸式增長給大數據的分析和處理帶來巨大挑戰。人們迫切需要研究出更加方便有效的工具對收集到的海量信息進行快速準確的分類。對龐大的數據進行合理分類是大數據分析與挖掘過程中必不可少的環節,這一研究熱點備受相關領域工作人員的青睞,不同的分類算法可根據不同的訓練數據集訓練出不同的分類器,分類器的可靠性和分類精度根據分類器的不同而不同,同時分類器的好壞會對數據的分類質量造成直接影響,所以我們需要挖掘出分類精度較高且可靠的分類器對數據進行精準分類,這不僅能提高對大數據的精準分類,還會為相關工作人員提供借鑒意義。
隨著人們對分類算法的不斷研究,機器學習領域出現了很多分類算法,包括有監督分類算法、無監督分類算法、半監督分類算法等。現有的分類算法有很多種,比較常用的有C4.5決策樹[1]、K近鄰(K-nearest Neighbor)[2]、支持向量機(Support Vector Machine)[3]、隨機森林(Random Forest)[4]、貝葉斯神經網絡(BayesianNeural Network)[5]等方法。雖然以上研究均能夠對大數據分析與挖掘提供有利推動作用,但是從具體上來說,仍然存在局限性,其分類精度還有待提高。針對傳統分類器分類準確率不是很高以及如何利用深度神經網絡解決數據多分類這一問題,我們提出一種基于深度神經網絡的數據多分類方法。我們在不同樣本容量的大數據樣本中進行分類實驗,實驗結果表明,我們提出的方法能取得較好的分類效果。論文其余部分結構如下:第二節對深度神經網絡的概念和結構進行闡述;第三節介紹用于多分類實驗的數據集以及DNN框架,并給出實驗結果;第四節對本文進行總結。
深度神經網絡(Deep Neural Networks,DNN)也叫作多層感知機(Multi-Layer perceptron,MLP),它由神經網絡演變而來,也可以理解為具有很多隱藏層的神經網絡,它是深度學習的基礎。DNN按照不同層的位置劃分,其內部的神經網絡層可以分為三類:輸入層、隱藏層和輸出層,如圖1所示,第一層為輸入層,中間的所有層為隱藏層,最后一層為輸出層。

圖1 DNN基本結構


圖2 用于對DNN線性系數和偏倚進行定義講解


2.3 DNN反向傳播算法


本文實驗所采用的數據集是weka自帶的鳶尾花數據集(Iris),如表1所示。該數據集總共有150個樣本,每個樣本包含了四個特征,分別為花萼長度(sepallength)、花萼寬度(sepalwidth)、花瓣長度(petallength)、花瓣寬度(petalwidth),將鳶尾花分為三類,分別為Iris-setosa、Iris-versicolour和Iris-virginica,每一類有50個樣本。在實驗中我們保持數據中各類數據樣本比例不變,抽取該數據集的70%作為訓練集,其余30%作為測試集。我們的實驗是在Intel(R) Core(TM) i5-9400F CPU、運行內存為16G的計算機上,基于weka平臺以及weka工具包設計實現的。
我們利用Keras搭建深度神經網絡來解決對鳶尾花數據集的分類問題,其具體結構如圖3所示。
表1 實驗數據集

我們搭建的DNN多分類實驗架構圖由輸入層、隱藏層、輸出層和softmax函數四個部分組成,由圖3可知,架構圖中的輸入層由4個神經元組成,它們對應鳶尾花數據集中所具有的4個特征。中間部分為隱藏層,有兩層神經元,分別有5和6個神經元。緊跟其后的為輸出層,由3個神經元組成,對應鳶尾花數據集的3個類別。最后面是一個softmax函數。在本文給出的DNN模型中,我們選擇ReLU函數作為神經元激活函數,選擇交叉熵(cross entropy)作為損失函數,選擇Adam作為迭代的優化器,各個層的連接權重和偏重的初始值是隨機生成的。
定義完模型后,我們就對模型進行訓練,本次實驗采用交叉驗證法(Cross Validation)進行評價,實驗的最大迭代次數被設置為100。為了對模型進行評估,我們輸出來該DNN模型的損失函數的值以及在測試集上的準確率,迭代100次后準確率達到98.26%,分類效果顯著。
weka平臺集成了所有主流的機器學習算法0,同時也可以實現數據的預處理操作。我們將相同的數據集導入到weka平臺,分類器分別選擇C4.5決策樹、貝葉斯網絡(BN)、K近鄰(KNN)、隨機森林(RF)和支持向量機(SVM),分別迭代100次后輸出各個算法的分類準確率,然后與我們的實驗結果進行比較,如圖4所示。最終結果表明,DNN的分類準確率最高,其分類性能最好。

圖4 各分類器在iris數據集上的分類性能比較
在這篇文章中,我們利用深度神經網絡解決多分類問題,并基于weka平臺進行性能評估實驗,實驗結果表明,該方法具有較好的分類效果。對該算法的研究仍處在初級發展階段,需要研究人員進一步加強相關內容的研究。在以后的工作中我們可以運用更加廣泛的數據集來檢驗算法的運行效率,使用不同分類器來檢測所選特征子集在分類時的準確性以及采用不同的評估方法對所提出的算法進行評估。
[1]徐鵬,林森. 基于C4.5決策樹的流量分類方法[J]. 計算機學報. 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,Frank 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.