• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)流量分類(lèi)算法

      2019-06-09 02:26:04呂品潘思羽許嘉李陶深
      關(guān)鍵詞:網(wǎng)絡(luò)流量決策樹(shù)建模

      呂品,潘思羽,許嘉*,李陶深,3

      (1.廣西大學(xué)計(jì)算機(jī)與電子信息學(xué)院, 廣西南寧530004 ;2.廣西多媒體通信與網(wǎng)絡(luò)技術(shù)重點(diǎn)實(shí)驗(yàn)室, 廣西南寧530004 ;3.廣西高校并行與分布式計(jì)算技術(shù)重點(diǎn)實(shí)驗(yàn)室, 廣西南寧530004)

      0 引言

      互聯(lián)網(wǎng)應(yīng)用的蓬勃發(fā)展催生了種類(lèi)多樣的網(wǎng)絡(luò)數(shù)據(jù)。對(duì)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行自動(dòng)識(shí)別和分類(lèi),是全面了解網(wǎng)絡(luò)運(yùn)行狀態(tài)、合理分配網(wǎng)絡(luò)資源、及時(shí)發(fā)現(xiàn)異常流量、準(zhǔn)確做出控制決策的前提和基礎(chǔ),對(duì)于實(shí)現(xiàn)自動(dòng)化、智能化的網(wǎng)絡(luò)控制與管理至關(guān)重要[1]。

      已有的網(wǎng)絡(luò)流量分類(lèi)技術(shù)按其核心思想可以分為基于端口、基于內(nèi)容、基于啟發(fā)式和基于機(jī)器學(xué)習(xí)的分類(lèi)方法[2-3]。基于端口的網(wǎng)絡(luò)流量分類(lèi)方法是通過(guò)TCP或UDP報(bào)文的端口號(hào)識(shí)別不同類(lèi)型的網(wǎng)絡(luò)應(yīng)用,這種方法在互聯(lián)網(wǎng)發(fā)展初期具有很高的分類(lèi)效率與分類(lèi)精度。然而在P2P應(yīng)用興起之后,由于這類(lèi)應(yīng)用常常使用動(dòng)態(tài)隨機(jī)端口或進(jìn)行端口偽裝,使得基于端口的網(wǎng)絡(luò)流量分類(lèi)方法有效性大幅降低[4]。為了避免流量分類(lèi)過(guò)于依賴端口號(hào),研究人員提出了基于內(nèi)容的網(wǎng)絡(luò)流量分類(lèi)方法,也稱為深度包檢測(cè)(deep packet inspection, DPI)[5]。深度包檢測(cè)首先讀取報(bào)文載荷中的特征碼,然后在已知應(yīng)用的特征碼庫(kù)中進(jìn)行匹配,從而實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)數(shù)據(jù)的分類(lèi)[6]。出于信息安全的考慮,越來(lái)越多的網(wǎng)絡(luò)數(shù)據(jù)開(kāi)始采用流量加密技術(shù),這使得深度包檢測(cè)技術(shù)無(wú)法獲得報(bào)文載荷中的特征碼,從而無(wú)法進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)分類(lèi)。一些研究人員提出了基于啟發(fā)式的網(wǎng)絡(luò)流量分類(lèi)方法[7],這類(lèi)方法雖然不依賴端口號(hào)和載荷內(nèi)容,但是其分類(lèi)精度和效率都相對(duì)較低,難以應(yīng)用于實(shí)際。由于上述網(wǎng)絡(luò)流量分類(lèi)方法存在局限性,基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)流量分類(lèi)技術(shù)逐步受到廣泛關(guān)注[8-9]。基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)流量分類(lèi)技術(shù)是通過(guò)網(wǎng)絡(luò)流量的統(tǒng)計(jì)特征對(duì)其進(jìn)行分類(lèi),該方法不依賴端口號(hào)和特征碼,具有較高的分類(lèi)精度和效率,并且能夠應(yīng)對(duì)新型網(wǎng)絡(luò)數(shù)據(jù),因此具有廣闊的應(yīng)用前景。

      基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)流量分類(lèi)又可以分為有監(jiān)督分類(lèi)和無(wú)監(jiān)督分類(lèi),這兩種分類(lèi)方法分別適合不同的應(yīng)用場(chǎng)景。有監(jiān)督分類(lèi)是通過(guò)學(xué)習(xí)樣本類(lèi)別已知的數(shù)據(jù)集來(lái)構(gòu)建分類(lèi)模型,可以實(shí)現(xiàn)對(duì)已知的流量類(lèi)型的高準(zhǔn)確度檢測(cè)。有監(jiān)督分類(lèi)的代表性方法有樸素貝葉斯[10]、支持向量機(jī)(SVM)[11]、K近鄰(KNN)[12]、決策樹(shù)[3,13]等。無(wú)監(jiān)督分類(lèi)是對(duì)未分類(lèi)的流量數(shù)據(jù)進(jìn)行聚合分簇[14-15],能夠用于未知應(yīng)用類(lèi)型的網(wǎng)絡(luò)數(shù)據(jù)分類(lèi)問(wèn)題。

      本文主要針對(duì)有監(jiān)督的分類(lèi)應(yīng)用場(chǎng)景,采用分類(lèi)效率和精度都較高的決策樹(shù)方法[3],設(shè)計(jì)了網(wǎng)絡(luò)流量數(shù)據(jù)分類(lèi)算法,其中決策樹(shù)的構(gòu)建效率與分類(lèi)精度成為本文重點(diǎn)考慮的問(wèn)題。與文獻(xiàn)[3]、[13]等不同的是,為了提高分類(lèi)模型的構(gòu)建效率,本文根據(jù)網(wǎng)絡(luò)流各個(gè)屬性的信息熵,選取對(duì)分類(lèi)影響最大的屬性子集作為網(wǎng)絡(luò)流量分類(lèi)的依據(jù),這樣可以在分類(lèi)精度幾乎不受影響的前提下,大幅縮短模型建立的時(shí)間,從而提高了決策樹(shù)的構(gòu)建效率。通過(guò)在真實(shí)網(wǎng)絡(luò)流量數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),并且與開(kāi)源機(jī)器學(xué)習(xí)平臺(tái)Weka在相同數(shù)據(jù)集上的運(yùn)行結(jié)果對(duì)比,證明本文提出的網(wǎng)絡(luò)流量分類(lèi)模型具有更高的建模效率和分類(lèi)精度。

      本文的主要貢獻(xiàn)可總結(jié)為以下兩點(diǎn):

      ① 設(shè)計(jì)了基于信息熵的網(wǎng)絡(luò)流量屬性選擇算法,從網(wǎng)絡(luò)流量數(shù)據(jù)的249個(gè)屬性中選取8個(gè)屬性進(jìn)行分類(lèi),能達(dá)到與使用全部屬性相近的分類(lèi)精度,同時(shí)使決策樹(shù)模型的構(gòu)建時(shí)間大幅降低;

      ② 設(shè)計(jì)了基于決策樹(shù)模型的網(wǎng)絡(luò)流量分類(lèi)算法,在真實(shí)權(quán)威數(shù)據(jù)集上驗(yàn)證了分類(lèi)算法的有效性和高效性,達(dá)到了比開(kāi)源機(jī)器學(xué)習(xí)平臺(tái)Weka更優(yōu)的性能。

      1 基于機(jī)器學(xué)習(xí)的流量分類(lèi)算法

      因不依賴端口號(hào)、不依賴數(shù)據(jù)包有效載荷且具有自適應(yīng)性,機(jī)器學(xué)習(xí)成為了網(wǎng)絡(luò)流量分類(lèi)領(lǐng)域的研究重點(diǎn),決策樹(shù)模型是機(jī)器學(xué)習(xí)領(lǐng)域的一個(gè)重要分支,是一種基于實(shí)例的歸納學(xué)習(xí)算法。該算法在模型建立后執(zhí)行分類(lèi)速度較快,能在短時(shí)間內(nèi)分類(lèi)大型數(shù)據(jù)源,并具有較高的準(zhǔn)確率,故被各個(gè)領(lǐng)域廣泛應(yīng)用。

      1.1 特征屬性選擇

      決策樹(shù)能夠從有標(biāo)記的數(shù)據(jù)集中構(gòu)建出有分類(lèi)和預(yù)測(cè)能力的模型,其分類(lèi)算法包括兩個(gè)步驟:

      ① 采集帶有類(lèi)別標(biāo)記的樣本數(shù)據(jù)作為訓(xùn)練集,構(gòu)建出用于分類(lèi)的決策樹(shù)模型。這個(gè)過(guò)程的本質(zhì)是從數(shù)據(jù)中獲取知識(shí)經(jīng)驗(yàn),然后進(jìn)行機(jī)器學(xué)習(xí)[16]。

      ② 使用步驟①中構(gòu)建的決策樹(shù)模型,對(duì)新的無(wú)類(lèi)別標(biāo)記的樣本數(shù)據(jù)集進(jìn)行分類(lèi)。

      構(gòu)建決策樹(shù)是使用決策樹(shù)方法進(jìn)行分類(lèi)的核心。建模的基本思想是根據(jù)屬性測(cè)試結(jié)果把數(shù)據(jù)集分為若干個(gè)子集,然后遞歸地對(duì)相應(yīng)的子集進(jìn)行劃分,每次劃分后產(chǎn)生一個(gè)中間節(jié)點(diǎn),當(dāng)無(wú)需劃分時(shí),當(dāng)前節(jié)點(diǎn)即為葉子節(jié)點(diǎn)。

      在劃分的過(guò)程中,應(yīng)盡量把所有可能屬于同一類(lèi)別的樣本數(shù)據(jù)劃分在決策樹(shù)的同一個(gè)分支,即每個(gè)節(jié)點(diǎn)包含集合的樣本純度盡可能高。其關(guān)鍵點(diǎn)在于,執(zhí)行每一步之前如何選擇一個(gè)最佳的當(dāng)前測(cè)試屬性,才能構(gòu)建出高性能的決策樹(shù)。

      由此可知,決策樹(shù)建立的重點(diǎn)是在每一次劃分前,選擇出最佳的屬性對(duì)樣本數(shù)據(jù)集進(jìn)行劃分。

      以S表示當(dāng)前樣本數(shù)據(jù)集,用“信息熵”來(lái)作為樣本數(shù)據(jù)集純度的度量指標(biāo)。信息熵Ent(S)的值越小,樣本數(shù)據(jù)集S的純度越高,其定義如下:

      (1)

      其中,pi表示當(dāng)前數(shù)據(jù)集S中包含的i類(lèi)樣本的數(shù)量占整個(gè)集合樣本總數(shù)的比例,y表示S中包含的樣本類(lèi)別數(shù)量,即i∈[1,y]。

      建立決策樹(shù)可以使用信息增益指標(biāo)來(lái)進(jìn)行最佳屬性選擇。其核心思想在于以信息增益為度量指標(biāo),每次選擇信息增益值最大的屬性來(lái)對(duì)數(shù)據(jù)集進(jìn)行劃分,自上而下構(gòu)建決策樹(shù)。

      信息增益表示采用屬性A對(duì)數(shù)據(jù)集S進(jìn)行劃分時(shí),所能獲得的收益。信息增益值越大,把屬性A作為劃分屬性獲得樣本的純度就越高,所得到的收益也就越大。由于樣本數(shù)量在每個(gè)分支節(jié)點(diǎn)的分布不同,該分支節(jié)點(diǎn)的重要程度與其樣本數(shù)量成正比,導(dǎo)出信息增益公式如下:

      (2)

      其中,S為當(dāng)前樣本數(shù)據(jù)集合;樣本數(shù)據(jù)中屬性A的取值范圍為V(A)(V(A) =A1,A2,…,An);以A為劃分屬性對(duì)S進(jìn)行劃分,所產(chǎn)生的分支節(jié)點(diǎn)數(shù)量為n,在第i個(gè)節(jié)點(diǎn)上的樣本數(shù)據(jù)集,包括了S中所有在屬性A上取值為Ai的樣本記錄。Si表示第i個(gè)節(jié)點(diǎn)上的樣本集合(i∈[1,n])。

      從式(2)可以看出信息增益這一標(biāo)準(zhǔn)偏向于對(duì)于值域廣的屬性,為了減少這種誤差,在選擇劃分屬性時(shí),本來(lái)考慮以信息增益率作為指標(biāo)。

      在數(shù)據(jù)集S中,屬性A的信息增益率定義如下:

      (3)

      其中IV(A)是屬性A的固有值,當(dāng)屬性A可能的取值數(shù)量越多,IV(A)取值越大,其定義如下:

      (4)

      該算法并不是直接選擇信息增益率最大的候選劃分屬性,而是使用了一個(gè)啟發(fā)式:首先從候選的劃分屬性中找出信息增益高于平均值的屬性子集,再?gòu)倪@個(gè)子集中找出增益率最高的屬性。

      1.2 決策樹(shù)算法設(shè)計(jì)與實(shí)現(xiàn)

      決策樹(shù)是依賴有標(biāo)記的訓(xùn)練集生成的分類(lèi)器模型,因此在建模之前需要先將有標(biāo)記的樣本數(shù)據(jù)讀入程序,作為訓(xùn)練集。預(yù)處理操作包括把屬性值和屬性的名稱相關(guān)聯(lián),以及按照樣本數(shù)據(jù)的類(lèi)別劃分訓(xùn)練集。使用Map >保存數(shù)據(jù)預(yù)處理結(jié)果。Object存放樣本類(lèi)別,對(duì)應(yīng)的List列表存放類(lèi)別為Object的樣本數(shù)據(jù)。

      1.2.1 決策樹(shù)的構(gòu)建

      用遞歸方法生成決策樹(shù)。每一次遞歸選擇出最佳的劃分屬性,使用最佳屬性對(duì)樣本數(shù)據(jù)集進(jìn)行劃分,每次劃分產(chǎn)生決策樹(shù)的一個(gè)分支,劃分到不能繼續(xù)劃分出當(dāng)前數(shù)據(jù)集的子集時(shí),把當(dāng)前節(jié)點(diǎn)設(shè)為葉子節(jié)點(diǎn),算法此時(shí)結(jié)束。遞歸構(gòu)建決策樹(shù)算法如算法1所示。

      算法1決策樹(shù)構(gòu)建算法

      輸入:樣本數(shù)據(jù)集S,樣本屬性集合A

      輸出:以N為根節(jié)點(diǎn)的決策樹(shù)T

      Step 1:生成包含數(shù)據(jù)集S的根節(jié)點(diǎn)N。

      Step 2:判斷S的數(shù)據(jù)類(lèi)別是否為具有相同的類(lèi)別標(biāo)簽L,若相同則轉(zhuǎn)step 3,若不同則轉(zhuǎn)step 4。

      Step 3:設(shè)N為葉子節(jié)點(diǎn),其標(biāo)簽設(shè)為L(zhǎng),算法退出。

      Step 4:判斷A是否為空集或S中樣本在A上取值是否相同,若是則轉(zhuǎn)step 5,若不是則轉(zhuǎn)step 6。

      Step 5:設(shè)N為葉子節(jié)點(diǎn),S中樣本數(shù)量最多的類(lèi)別設(shè)為該節(jié)點(diǎn)的標(biāo)簽,算法退出。

      Step 6:選擇A中信息增益率最高的屬性a作為劃分屬性。

      Step 7:循環(huán)對(duì)屬性a的每個(gè)取值ai執(zhí)行step 8至step 9。

      Step 8:節(jié)點(diǎn)N產(chǎn)生一個(gè)包含數(shù)據(jù)集Sv的分支,Sv為S集合中屬性a取值為ai的樣本子集。

      Step 9:若Sv為空集,則將分支節(jié)點(diǎn)標(biāo)記為葉節(jié)點(diǎn),其類(lèi)別標(biāo)記為S中樣本最多的類(lèi)并退出算法;否則以(Sv,A-{a})為參數(shù)遞歸調(diào)用本算法。

      1.2.2 使用決策樹(shù)進(jìn)行數(shù)據(jù)分類(lèi)

      使用決策樹(shù)進(jìn)行分類(lèi)的過(guò)程如算法2所示。將決策樹(shù)的根節(jié)點(diǎn)N和待分類(lèi)的測(cè)試數(shù)據(jù)作為輸入,過(guò)程是根據(jù)測(cè)試數(shù)據(jù)屬性值進(jìn)行從根節(jié)點(diǎn)至葉節(jié)點(diǎn)的匹配,最終到達(dá)葉節(jié)點(diǎn)的類(lèi)別即為測(cè)試數(shù)據(jù)的分類(lèi)結(jié)果。

      算法2測(cè)試集分類(lèi)算法

      輸入:決策樹(shù)測(cè)試數(shù)據(jù)的根節(jié)點(diǎn)N,測(cè)試數(shù)據(jù)

      輸出:測(cè)試數(shù)據(jù)的所屬類(lèi)別

      Step 1:找到?jīng)Q策樹(shù)根節(jié)點(diǎn)N的屬性a。

      Step 2:根據(jù)測(cè)試數(shù)據(jù)屬性a的值找到N的對(duì)應(yīng)子節(jié)點(diǎn)Nc。

      Step 3:判斷Nc是否為葉節(jié)點(diǎn),如果是則返回Nc的類(lèi)別作為測(cè)試數(shù)據(jù)的分類(lèi)結(jié)果;否則以(Nc, 測(cè)試數(shù)據(jù))為參數(shù)遞歸調(diào)用本算法。

      1.2.3 評(píng)價(jià)指標(biāo)

      用召回率(Recall)和精度(Precision)評(píng)估該決策樹(shù)分類(lèi)性能。統(tǒng)計(jì)如下三個(gè)變量:

      用N表示:統(tǒng)計(jì)數(shù)據(jù)集中每個(gè)類(lèi)別的樣本數(shù)量。

      用F表示:統(tǒng)計(jì)決策樹(shù)分類(lèi)結(jié)果中每個(gè)類(lèi)別的樣本數(shù)量。

      用R表示:統(tǒng)計(jì)決策樹(shù)能正確分類(lèi)的每個(gè)類(lèi)別的樣本數(shù)量。

      Recall和Precision計(jì)算公式如下:

      (5)

      (6)

      2 實(shí)驗(yàn)結(jié)果分析

      本節(jié)通過(guò)實(shí)驗(yàn)來(lái)評(píng)估基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)數(shù)據(jù)分類(lèi)算法,使用準(zhǔn)確率(Accuracy)、精度(Precision)、召回率(Recall)、建模時(shí)間、分類(lèi)時(shí)間作為考察算法的關(guān)鍵指標(biāo)??紤]數(shù)據(jù)擁有信息量與還原過(guò)程的復(fù)雜度,使用網(wǎng)絡(luò)數(shù)據(jù)流級(jí)別的數(shù)據(jù)類(lèi)型進(jìn)行分類(lèi),能夠在保證擁有的信息足以判別數(shù)據(jù)類(lèi)別的同時(shí),付出較小的計(jì)算代價(jià)和存儲(chǔ)成本。

      實(shí)驗(yàn)使用1臺(tái)CPU主頻為2.50 GHz、內(nèi)存大小為4 G、裝有Windows 64位操作系統(tǒng)的PC,用Java編程語(yǔ)言實(shí)現(xiàn)本文提出的網(wǎng)絡(luò)流量分類(lèi)器。在決策樹(shù)分類(lèi)算法的研究過(guò)程中,使用劍橋大學(xué)Moore教授在文獻(xiàn)[17]提出的數(shù)據(jù)集作為實(shí)驗(yàn)數(shù)據(jù)集。Moore教授的實(shí)驗(yàn)小組在2003年8月20日收集了10個(gè)時(shí)間段內(nèi)的網(wǎng)絡(luò)流量數(shù)據(jù)(每個(gè)時(shí)間段的數(shù)據(jù)是一個(gè)數(shù)據(jù)子集),這10個(gè)時(shí)間段的起始時(shí)間隨機(jī)選取、均勻分布,每個(gè)時(shí)間段長(zhǎng)約為28 min。

      2.1 實(shí)驗(yàn)設(shè)置

      為了對(duì)本文構(gòu)建的決策樹(shù)模型進(jìn)行性能評(píng)估,設(shè)計(jì)了以下3個(gè)實(shí)驗(yàn)。

      實(shí)驗(yàn)1:選擇特征屬性。數(shù)據(jù)集中每個(gè)數(shù)據(jù)樣本包含249個(gè)特征屬性,為了提高建模效率,從中選取一個(gè)特征屬性子集構(gòu)建決策樹(shù)。本實(shí)驗(yàn)的目的是驗(yàn)證所選擇的特征屬性子集能夠在保證模型性能的前提下,使建模效率大幅提高。

      實(shí)驗(yàn)2:確定實(shí)驗(yàn)的訓(xùn)練集和測(cè)試集。用數(shù)據(jù)集中的10個(gè)數(shù)據(jù)子集分別建立決策樹(shù)模型,并對(duì)同一個(gè)測(cè)試集進(jìn)行測(cè)試,選擇測(cè)試結(jié)果最佳的決策樹(shù)模型的數(shù)據(jù)作為訓(xùn)練集;從每個(gè)數(shù)據(jù)集中隨機(jī)抽取10 %的數(shù)據(jù)合成測(cè)試集TEST。使用從實(shí)驗(yàn)1選擇出來(lái)的特征屬性子集構(gòu)建的決策樹(shù)進(jìn)行測(cè)試。

      實(shí)驗(yàn)3:進(jìn)行對(duì)比實(shí)驗(yàn)。把實(shí)驗(yàn)結(jié)果和開(kāi)源機(jī)器學(xué)習(xí)平臺(tái)Weka的實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比。

      2.2 實(shí)驗(yàn)1:屬性選擇實(shí)驗(yàn)

      Weka是一個(gè)開(kāi)源的機(jī)器學(xué)習(xí)實(shí)驗(yàn)平臺(tái),可在該實(shí)驗(yàn)平臺(tái)上進(jìn)行數(shù)據(jù)的分類(lèi)、聚類(lèi),及對(duì)數(shù)據(jù)屬性進(jìn)行選擇等。首先使用data1進(jìn)行實(shí)驗(yàn),以data1的全部數(shù)據(jù)做為訓(xùn)練集,使用data2作為測(cè)試集,如表1所示。

      表1 實(shí)驗(yàn)1數(shù)據(jù)集Tab.1 Dataset in experiment 1

      使用樣本數(shù)據(jù)的全部屬性(249個(gè))進(jìn)行第1次實(shí)驗(yàn),得到?jīng)Q策樹(shù)平均建模時(shí)間為15.97 s,對(duì)測(cè)試集進(jìn)行分類(lèi)預(yù)測(cè)的時(shí)間為1.3 s,總體的分類(lèi)準(zhǔn)確率為98.51 %。

      對(duì)data1使用特征屬性選擇算法,信息增益率從大到小排名前八的屬性編號(hào)為1、38、60、79、96、101、143、188。使用這8個(gè)屬性進(jìn)行下一組實(shí)驗(yàn),得到?jīng)Q策樹(shù)平均建模時(shí)間為0.42 s,對(duì)測(cè)試集進(jìn)行分類(lèi)的平均時(shí)間為0.15 s,總體的分類(lèi)準(zhǔn)確率為98.27 %。兩次實(shí)驗(yàn)平均建模時(shí)間對(duì)比如圖1所示;網(wǎng)絡(luò)流量平均分類(lèi)時(shí)間對(duì)比如圖2所示;網(wǎng)絡(luò)流量分類(lèi)精度對(duì)比如圖3所示。第2次實(shí)驗(yàn)建模時(shí)間僅為第1次實(shí)驗(yàn)的2.63 %,分類(lèi)時(shí)間僅為第1次實(shí)驗(yàn)的十分之一,而兩個(gè)模型分類(lèi)的整體準(zhǔn)確率相差不到0.3 %。

      圖1 建模時(shí)間對(duì)比Fig.1 Modeling time comparison

      圖2 分類(lèi)時(shí)間對(duì)比
      Fig.2 Classification time comparison

      圖3 分類(lèi)精度對(duì)比
      Fig.3 Classification accuracy comparison

      對(duì)于具體的網(wǎng)絡(luò)流量種類(lèi),兩次實(shí)驗(yàn)得到的分類(lèi)精度和召回率對(duì)比分別如圖4和圖5所示。使用屬性子集建立起來(lái)的模型,雖然對(duì)于小流量(例如FTP-DATA)的分類(lèi)精度和召回率略有降低,但對(duì)于WWW、Mail、P2P等主要流量分類(lèi)的精度和召回率,與使用原始數(shù)據(jù)集建立的模型基本持平,甚至在一些類(lèi)別上有所提高(如MULTIMEDIA)。

      圖4 兩次實(shí)驗(yàn)精度對(duì)比
      Fig.4 Precision comparison

      圖5 兩次實(shí)驗(yàn)召回率對(duì)比
      Fig.5 Recall comparison

      上述結(jié)果表明,在特征屬性選擇算法基礎(chǔ)上構(gòu)建決策樹(shù)模型,能夠在分類(lèi)精度幾乎不受影響的情況下,大幅降低建模時(shí)間。因此使用特征屬性子集來(lái)構(gòu)建決策樹(shù)的方法是有效的。

      通過(guò)對(duì)每個(gè)數(shù)據(jù)集使用特征屬性選擇算法并進(jìn)行測(cè)試驗(yàn)證,最終選擇序號(hào)為1、39、66、79、97、101、125、136的屬性組成屬性子集進(jìn)行后續(xù)的實(shí)驗(yàn)。特征屬性子集包含的屬性及其含義如表2所示。

      表2 選擇出的特征屬性Tab.2 Selected feature attributes

      2.3 實(shí)驗(yàn)2:確定測(cè)試集和訓(xùn)練集

      使用10個(gè)數(shù)據(jù)集分別作為訓(xùn)練集,構(gòu)建出10個(gè)決策樹(shù)分類(lèi)模型。依次對(duì)這10個(gè)模型進(jìn)行分類(lèi)測(cè)試,比較其建模效率和分類(lèi)性能等指標(biāo),確定data6為構(gòu)建的決策樹(shù)模型的訓(xùn)練集。本文基于data6構(gòu)建的決策樹(shù)模型記為DTC(decision tree-based classifier)。將TEST作為測(cè)試集,在該數(shù)據(jù)集上運(yùn)行Weka和DTC比較建模效率和網(wǎng)絡(luò)流量分類(lèi)性能,實(shí)驗(yàn)結(jié)果見(jiàn)“2.4節(jié)”。

      2.4 實(shí)驗(yàn)3:與Weka平臺(tái)進(jìn)行比較

      本實(shí)驗(yàn)中,首先在Weka平臺(tái)上以data6為訓(xùn)練集,TEST為測(cè)試集進(jìn)行實(shí)驗(yàn),然后使用DTC模型在TEST上進(jìn)行測(cè)試。兩次實(shí)驗(yàn)得到的建模效率對(duì)比、分類(lèi)時(shí)間對(duì)比、總體分類(lèi)精度對(duì)比分別見(jiàn)圖6~圖8。

      圖6表明,DTC的建立模型時(shí)間為137 ms,僅為Weka平臺(tái)建模時(shí)間(260 ms)的三分之二。從圖7可以看出,使用相同的測(cè)試集進(jìn)行分類(lèi),DTC的分類(lèi)時(shí)間高于Weka。圖8則顯示出DTC和的分類(lèi)精度略高于Weka。

      圖6 建模時(shí)間對(duì)比Fig.6 Modeling time comparison

      圖7 分類(lèi)時(shí)間對(duì)比
      Fig.7 Classification time comparison

      圖8 分類(lèi)精度對(duì)比
      Fig.8 Classification accuracy comparison

      具體到每種網(wǎng)絡(luò)流量,圖9和圖10分別表明DTC和Weka平臺(tái)對(duì)相同數(shù)據(jù)集分類(lèi)的精度和召回率。從圖中可以看出,對(duì)于主流流量WWW、Mail,兩者的精度和召回率大體上保持一致,并且都接近100 %。值得注意的是,對(duì)于當(dāng)下較為流行的P2P流量分類(lèi)結(jié)果,DTC的召回率雖稍低于Weka,但分類(lèi)精度相對(duì)Weka提高了約60 %。而在所占比例較小的網(wǎng)絡(luò)流量中,DTC相比Weka也有一定優(yōu)勢(shì)。例如,對(duì)于ATTACK,DTC的精度是Weka的2.5倍;而對(duì)于Services,DTC的分類(lèi)精度可達(dá)到100 %。

      圖9 網(wǎng)絡(luò)流量分類(lèi)精度對(duì)比
      Fig.9 Precision comparison

      圖10 網(wǎng)絡(luò)流量分類(lèi)召回率對(duì)比
      Fig.10 Recall comparison

      從上述實(shí)驗(yàn)結(jié)果可以看出,本文提出的決策樹(shù)分類(lèi)模型相對(duì)于Weka平臺(tái)的決策樹(shù)模型,在建模時(shí)間方面具有顯著優(yōu)勢(shì),并且一些網(wǎng)絡(luò)流量類(lèi)型上比Weka具有更高的分類(lèi)精度。因此,本文提出的基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)流量分類(lèi)算法具有良好的實(shí)用性和高效性。

      3 結(jié)語(yǔ)

      為了對(duì)網(wǎng)絡(luò)流量進(jìn)行高效的分類(lèi),本文提出了基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)流量分類(lèi)算法。該算法基于機(jī)器學(xué)習(xí)中的決策樹(shù)模型,對(duì)網(wǎng)絡(luò)數(shù)據(jù)流量進(jìn)行分類(lèi)。在建模階段,通過(guò)特征屬性選擇算法選擇信息增益率高的屬性構(gòu)成特征屬性子集,采用開(kāi)放數(shù)據(jù)集作為模型的訓(xùn)練集。在測(cè)試階段,使用建模時(shí)間、分類(lèi)時(shí)間、準(zhǔn)確度、召回率、精度等指標(biāo)進(jìn)行評(píng)價(jià),將實(shí)驗(yàn)結(jié)果與Weka實(shí)驗(yàn)平臺(tái)的測(cè)試結(jié)果進(jìn)行對(duì)比,證明了本文提出模型的高效性。Weka平臺(tái)的建模時(shí)間是本文提出模型建模時(shí)間的1.5倍左右,且兩者在主流網(wǎng)絡(luò)流量分類(lèi)方面的性能相當(dāng),對(duì)于某些小規(guī)模流量本文方法的分類(lèi)性能甚至優(yōu)于Weka。

      本文提出的方法屬于機(jī)器學(xué)習(xí)中的有監(jiān)督學(xué)習(xí),需要事先收集數(shù)據(jù)集作為訓(xùn)練集。在未來(lái)的研究工作中,將繼續(xù)深入研究無(wú)監(jiān)督學(xué)習(xí)策略,在沒(méi)有事先構(gòu)建模型的情況下對(duì)網(wǎng)絡(luò)流量進(jìn)行分類(lèi),進(jìn)一步增強(qiáng)網(wǎng)絡(luò)流量分類(lèi)器的實(shí)用性。

      猜你喜歡
      網(wǎng)絡(luò)流量決策樹(shù)建模
      基于多元高斯分布的網(wǎng)絡(luò)流量異常識(shí)別方法
      基于神經(jīng)網(wǎng)絡(luò)的P2P流量識(shí)別方法
      聯(lián)想等效,拓展建?!浴皫щ娦∏蛟诘刃?chǎng)中做圓周運(yùn)動(dòng)”為例
      一種針對(duì)不均衡數(shù)據(jù)集的SVM決策樹(shù)算法
      基于PSS/E的風(fēng)電場(chǎng)建模與動(dòng)態(tài)分析
      電子制作(2018年17期)2018-09-28 01:56:44
      決策樹(shù)和隨機(jī)森林方法在管理決策中的應(yīng)用
      電子制作(2018年16期)2018-09-26 03:27:06
      不對(duì)稱半橋變換器的建模與仿真
      AVB網(wǎng)絡(luò)流量整形幀模型端到端延遲計(jì)算
      基于決策樹(shù)的出租車(chē)乘客出行目的識(shí)別
      基于肺癌CT的決策樹(shù)模型在肺癌診斷中的應(yīng)用
      宿州市| 溧水县| 遵义县| 兰西县| 惠水县| 桦川县| 双柏县| 莆田市| 二手房| 商水县| 靖江市| 奎屯市| 桦南县| 盘山县| 镇康县| 金寨县| 周至县| 湖州市| 嵩明县| 包头市| 兖州市| 宁陕县| 涿鹿县| 东乡县| 防城港市| 车致| 长宁区| 郑州市| 剑川县| 津南区| 巴林左旗| 景德镇市| 荥阳市| 封丘县| 莱阳市| 宁远县| 罗江县| 贵港市| 宜昌市| 丰城市| 平潭县|