袁夢(mèng)嬌,董育寧
(南京郵電大學(xué) 通信與信息工程學(xué)院,江蘇 南京 210003)
隨著互聯(lián)網(wǎng)和多媒體技術(shù)的進(jìn)步,網(wǎng)絡(luò)視頻服務(wù)也隨之迅速發(fā)展起來。根據(jù)CISCO發(fā)布的白皮書,到2022年,視頻流量將占整個(gè)互聯(lián)網(wǎng)總流量的82%[1]。網(wǎng)絡(luò)視頻流分類可以使網(wǎng)絡(luò)供應(yīng)商更好地分配網(wǎng)絡(luò)資源,為不同的視頻業(yè)務(wù)提供精細(xì)化的服務(wù)質(zhì)量(QoS)[2-3]。
傳統(tǒng)的流分類方法包括基于端口的和基于有效負(fù)載的方法[4]。這些方法需要檢查數(shù)據(jù)包的有效載荷或包頭信息[5]。從網(wǎng)絡(luò)供應(yīng)商的角度來看,涉及到侵犯用戶的隱私權(quán)[6]。另外,這些方法對(duì)加密數(shù)據(jù)無效[7]。
近年來,基于統(tǒng)計(jì)特性和機(jī)器學(xué)習(xí)(ML)的方法已成為主要的研究趨勢(shì)之一[8]。由于該方法一般是基于流級(jí)別的信息,因此其有效性在很大程度上取決于從流中提取的特征[9]。通常根據(jù)網(wǎng)絡(luò)流數(shù)據(jù)或單個(gè)數(shù)據(jù)包[10]來提取特征,例如源目標(biāo)端口號(hào)、目標(biāo)端口號(hào)、數(shù)據(jù)包長度以及包到達(dá)時(shí)間等[11];這些特征對(duì)于每種特定類型的應(yīng)用程序都是唯一的,因此可用于區(qū)分不同的應(yīng)用程序[12]。由于該方法避免了對(duì)包內(nèi)容的檢查,克服了傳統(tǒng)方法的不足,可用于加密數(shù)據(jù)[13]。
目前,在特征融合(Feature fusion,F(xiàn)F)方面已取得一些成果。FF主要包括以下兩個(gè)方面:基于特征選擇(Feature Selection,F(xiàn)S)方法[14-15]和基于原始特征提取新特征[16]。文獻(xiàn)[17]使用了簡單相加和的融合規(guī)則。文獻(xiàn)[18]通過多項(xiàng)式核函數(shù)進(jìn)行FF來完成加密的網(wǎng)絡(luò)應(yīng)用程序分類。文獻(xiàn)[19]提出了兩種不同的融合方法,即相加和拼接的融合規(guī)則,用于中文文本分類。在上述研究基礎(chǔ)上,本文對(duì)現(xiàn)有的FF方法進(jìn)行了拓展,提出了新的融合規(guī)則的組合,目的是使得它們更加有利于網(wǎng)絡(luò)數(shù)據(jù)流分類;實(shí)驗(yàn)結(jié)果表明本文提出的3種融合規(guī)則組合能改善分類性能。
本文方法主要是通過對(duì)原始特征進(jìn)行融合生成融合特征,將融合特征與原始特征拼接,產(chǎn)生復(fù)合特征集。然而并非復(fù)合特征集中的所有特征都有用,因此在分類之前,需要進(jìn)行FS,選出最優(yōu)的特征子集來完成分類任務(wù)。本文的主要貢獻(xiàn)如下:
(1)提出了一種新的FF方法,即特征之間進(jìn)行絕對(duì)值相加來生成新的特征。該融合規(guī)則與相加、相乘的融合規(guī)則形成了一種新的融合規(guī)則的組合。
(2)在采集的視頻流數(shù)據(jù)集上驗(yàn)證了本文方法的有效性。通過嵌入式FS方法和隨機(jī)森林分類器,分類準(zhǔn)確率可以達(dá)到99.3%,與之前提出的FF方法相比,本文方法的分類性能更好。
(3)本文方法具有較好的普適性。在移動(dòng)數(shù)據(jù)流和UCI數(shù)據(jù)集等多個(gè)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),均獲得較好的分類性能。
目前,基于統(tǒng)計(jì)特性和ML的網(wǎng)絡(luò)流分類取得了許多成就。這種方法的分類準(zhǔn)確性取決于所用特征的區(qū)分能力。將從不同維度提取的特征直接拼接在一起是FF的一種。Auld等[20]提出了248個(gè)流量特征,包括端口號(hào)、數(shù)據(jù)包大小、數(shù)量和持續(xù)時(shí)間等。Aceto等[21]研究了用于移動(dòng)應(yīng)用程序分類的多種融合方法,結(jié)果表明,該融合方法可以提高移動(dòng)應(yīng)用程序的分類性能。Oudah等[22]提出了一套新的特征,這些特征基于數(shù)據(jù)包到達(dá)時(shí)間間隔、流量突發(fā)性和不活動(dòng)時(shí)間段(空閑時(shí)間),在分類各個(gè)應(yīng)用程序時(shí)得到了較高的準(zhǔn)確性。Liu等[23]從移動(dòng)應(yīng)用數(shù)據(jù)提取了一個(gè)混合特征集,以提高移動(dòng)應(yīng)用流量分類的穩(wěn)定性。在文獻(xiàn)[24]中,拼接靜態(tài)和動(dòng)態(tài)特征,總共377個(gè)特征,對(duì)10種類別進(jìn)行了分類。
在網(wǎng)絡(luò)流分類的問題中所涉及的FF可通過FS的方法來實(shí)現(xiàn),這些方法沒有產(chǎn)生新的特征。例如,F(xiàn)ahad等[14]提出了一種穩(wěn)健的方法,稱為全局優(yōu)化方法(GOA),它基于多準(zhǔn)則融合的FS技術(shù)和信息理論方法來識(shí)別最優(yōu)和穩(wěn)定的特征。實(shí)驗(yàn)研究表明,提出的GOA方法優(yōu)于流分類任務(wù)常用的FS技術(shù)。Shen等[25]提出了一種基于滑動(dòng)塊的混合FS方法,其大小可根據(jù)分類要求進(jìn)行調(diào)整。為了提高分類精度,Shahzad等[15]研究了綜合過濾式與封裝式FS的FF方法以及多個(gè)分類算法的融合。
以上方法所用的特征均是從原始數(shù)據(jù)中提取,F(xiàn)F可以從這些特征中生成新的特征。Sreevani等[26]提出的方法包括原始和組合特征。它通過轉(zhuǎn)換原始特征來創(chuàng)建新的半特征,以使轉(zhuǎn)換后的特征與目標(biāo)類之間的互信息最大。Shen等[18]提出了一種通過多項(xiàng)式核函數(shù)融合特征的方法,其準(zhǔn)確率可達(dá)90%以上。
FS方法主要分為3類:過濾式方法、封裝式方法和嵌入式方法[27]。過濾式方法使用數(shù)據(jù)的相關(guān)性度量(例如一致性、依賴性和距離)來選擇特征[28]。該方法計(jì)算量小,具有可擴(kuò)展性且獨(dú)立于ML算法。但是,得到的子集不是最佳的[29]。另一種FS方法為封裝式方法。該方法的原理為ML算法在訓(xùn)練過程中對(duì)特征子集進(jìn)行評(píng)分。由于要為每個(gè)候選特征子集訓(xùn)練一個(gè)新的分類器,因此,計(jì)算量大。此外,該方法在可擴(kuò)展性方面存在困難,并且具有過度擬合的風(fēng)險(xiǎn)。但是與過濾式方法相比,通常會(huì)產(chǎn)生更準(zhǔn)確的特征子集[30]。嵌入式方法是在學(xué)習(xí)算法內(nèi)部實(shí)現(xiàn)的。由于嵌入式方法針對(duì)特定的學(xué)習(xí)算法進(jìn)行了優(yōu)化,因此它們比封裝式方法更快,并且可以實(shí)現(xiàn)最佳子集[29]。
Perera等[31]比較了6種廣泛使用的監(jiān)督ML算法(樸素貝葉斯,貝葉斯網(wǎng),隨機(jī)森林,決策樹,樸素貝葉斯樹和多層感知器)對(duì)網(wǎng)絡(luò)流量進(jìn)行分類的性能。結(jié)果表明,從分類精度和計(jì)算效率兩方面來看,隨機(jī)森林和決策樹算法更適合網(wǎng)絡(luò)流分類。隨機(jī)森林是一種基于決策樹的集成分類器,每棵樹都是獨(dú)立且隨機(jī)抽樣的,其結(jié)果將選擇最多樹分類的類,因此在分類方面顯示出更好的性能[32]。
本文方法的總體流程如圖1所示,它包括6個(gè)功能模塊:數(shù)據(jù)采集、特征提取、特征融合、特征選擇、分類器和性能評(píng)估。從采集的視頻流數(shù)據(jù)中提取特征,通過本文提出的FF方法進(jìn)行特征融合,增加特征數(shù)目;再從原始特征和融合特征中選出最佳特征子集;最后通過分類器完成分類并進(jìn)行性能評(píng)估。
圖1 本文方法總體框圖
在2019年3月至5月,用 PC機(jī)通過WireShark①http:∥www.wireshark.org/在南京郵電大學(xué)校園網(wǎng)抓取了6種不同類型的視頻數(shù)據(jù),共892條,如表1所示。視頻流數(shù)據(jù)集由6類互聯(lián)網(wǎng)視頻應(yīng)用程序組成,分別是微博②https:∥weibo.com/視頻、微信③https:∥ weixin.qq.com/視頻、QQ④http:∥im.qq.com/pcqq/視頻,直播(以 Cbox⑤http:∥tv.cntv.cn/為例)、P2P視頻(以Kankan⑥http:∥www.kankan.com/為例)和 HTTP視頻下載。每條流的時(shí)間長度為30 min,包含30 min內(nèi)多個(gè)連續(xù)的數(shù)據(jù)包。采集的數(shù)據(jù)包信息為五元組:源地址、目的地址、包到達(dá)時(shí)間、包大小以及傳輸協(xié)議。
表1 視頻數(shù)據(jù)集
對(duì)采集的視頻數(shù)據(jù)進(jìn)行統(tǒng)計(jì)計(jì)算,從而提取統(tǒng)計(jì)特征,包括平均包大小、包到達(dá)時(shí)間間隔等42個(gè)特征,如表2所示。
表2 視頻數(shù)據(jù)集統(tǒng)計(jì)特征
其中,傳輸層協(xié)議只選擇 UDP或 TCP或HTTP,稱為有效IP;有效IP比表示傳輸協(xié)議為有效IP的數(shù)據(jù)包數(shù)目與數(shù)據(jù)包總數(shù)的比值;子流定義為源地址相同且連續(xù)的一組數(shù)據(jù)包。
FF是由多個(gè)原始特征集生成新的融合特征。為了更好地闡述本文提出的融合方法,首先做了以下定義:
定義1 原始特征集OFS為
定義2 融合特征集FFS為
定義3 復(fù)合特征集CFS為
其中,原始特征集OFS是從原始數(shù)據(jù)中提取的特征,D為原始特征的數(shù)目。對(duì)不同的原始特征之間進(jìn)行以下3種運(yùn)算,生成新的融合特征為
其中,fi,fj∈ OFS,且i≠j, abs() 為絕對(duì)值運(yùn)算。
生成的這些融合特征fk′組成了融合特征集FFS,該特征集中的特征個(gè)數(shù)為N,即式(4)至式(6)中的k∈ (1,2,…,N)
復(fù)合特征集CFS為原始特征集OFS與融合特征集FFS的并集,既包含原始特征,又有融合特征。對(duì)于這兩種特征有以下3種情況:(1)FF后產(chǎn)生的融合特征比原始特征更有區(qū)分性;(2)融合后的特征不如原始特征;(3)單個(gè)的兩種特征對(duì)分類作用都不大,但兩者結(jié)合時(shí)有利于分類任務(wù)的完成,即兩者為互補(bǔ)關(guān)系?;谝陨锨樾?,我們使用了復(fù)合特征集的概念,既包括融合特征,同時(shí)又保留了原始特征[26]。復(fù)合特征集與原始特征集相比,特征數(shù)目大量增加,對(duì)于后面的FS算法而言有了更多的選擇,因此有助于提高分類性能。
在CFS中,并非所有的特征都有利于分類,可能存在一些無關(guān)或冗余特征。因此在分類前,需要進(jìn)行FS,去掉這些特征,降低特征維度,選出最優(yōu)的特征子集,進(jìn)一步提升分類性能[33]。
本文選用嵌入式的FS方法。先使用某些ML算法和模型進(jìn)行訓(xùn)練,得到各個(gè)特征的權(quán)值系數(shù),根據(jù)系數(shù)從大到小選擇特征。類似于Filter方法,但是嵌入式的FS方法是通過訓(xùn)練來確定特征的優(yōu)劣。
為了量化分類模型的準(zhǔn)確性,使用標(biāo)準(zhǔn)測(cè)量方法,分類器的總體準(zhǔn)確率(A),精度(P)和F測(cè)度(F)[34],如式(8)~(11)所示。
其中,TP表示該類樣本正確分為該類的樣本數(shù);FP表示該類樣本誤分為其他類的樣本數(shù);FN表示其他類樣本誤分類為該類的樣本數(shù);TN表示將其他類樣本正確分為其他類別的樣本數(shù)。
實(shí)驗(yàn)中FS采用嵌入式FS方法,通過python sklearn庫的SelectFromModel類來完成,閾值除了手動(dòng)設(shè)置以外,還可以通過字符串參數(shù)調(diào)用內(nèi)置的啟發(fā)式算法(heuristics)來設(shè)置閾值,包括:平均值(mean)、中位數(shù)(median)以及他們與浮點(diǎn)數(shù)的乘積,如0.1?mean。實(shí)驗(yàn)中,閾值設(shè)置選用默認(rèn)設(shè)置mean,分類器為隨機(jī)森林,基評(píng)估器的數(shù)量即n_estimators設(shè)為100。測(cè)試集是隨機(jī)選擇總樣本數(shù)的30%,重復(fù)5次取均值。同時(shí),將本文方法與FFP[18]和文獻(xiàn)[19]進(jìn)行比較。 文獻(xiàn)[18]中提出的FFP是通過多項(xiàng)式核函數(shù)對(duì)FS方法選出的特征進(jìn)行FF;文獻(xiàn)[19]是通過特征拼接和相加來產(chǎn)生新的特征。同時(shí)還對(duì)3種融合運(yùn)算中的所有情況進(jìn)行了驗(yàn)證。所有實(shí)驗(yàn)都是在Windows 1064位操作系統(tǒng)的筆記本上完成,該計(jì)算機(jī)配置為Intel(R)Core(TM)i5-4200U CPU@1.6 GHz 2 GB 顯卡和4 GB內(nèi)存。
3.3.1 視頻數(shù)據(jù)集
對(duì)采集的視頻數(shù)據(jù)進(jìn)行實(shí)驗(yàn)。為了驗(yàn)證本文方法的有效性,對(duì)原始特征集OFS和復(fù)合特征集CFS進(jìn)行了實(shí)驗(yàn),結(jié)果如表3所示。
從表3可知,不進(jìn)行FF的分類準(zhǔn)確率A為98.5%,而進(jìn)行FF后提升為99.3%,可見FF可以提高視頻流分類的準(zhǔn)確率。視頻數(shù)據(jù)集各個(gè)類別分類結(jié)果如表4所示,發(fā)現(xiàn)分類的準(zhǔn)確率提高主要體現(xiàn)在以下兩類:微博視頻和HTTP視頻下載。對(duì)于微博視頻,F(xiàn)從96%變?yōu)?8.4%。對(duì)于HTTP視頻下載,精度P由96.1% 提升到99%,F(xiàn)由原來的97.9%提升到99.5%。就時(shí)間消耗而言,由于FF使得特征個(gè)數(shù)由原來的42增加到2 625,F(xiàn)S選中的最終特征個(gè)數(shù)為588,導(dǎo)致FS和模型訓(xùn)練的時(shí)間增加。FS的時(shí)間由0.188 s增至0.707 s,增加了0.519 s;訓(xùn)練模型的時(shí)間由 0.125 s增至0.254 s,增加了 0.129 s;測(cè)試的時(shí)間增加了0.005 s??傮w來說,加上 FF的時(shí)間,增加了1.797 s,不到2 s,但是準(zhǔn)確率明顯提升,可達(dá)到99.3%,該實(shí)驗(yàn)表明了本文方法的有效性。
表3 視頻數(shù)據(jù)集整體準(zhǔn)確率和時(shí)間
表4 視頻數(shù)據(jù)集分類結(jié)果(均值±標(biāo)準(zhǔn)差) %
同時(shí)將本文的方法與 FFP[18]和文獻(xiàn)[19]中方法進(jìn)行了比較,F(xiàn)FP的準(zhǔn)確率為98.8%,對(duì)每一類而言,P和F不高于本文提出的方法。且在時(shí)間花銷方面,該方法比本文提出的方法所花的時(shí)間更多。主要包括兩個(gè)原因:(1)由于FFP采用多項(xiàng)式核函數(shù)進(jìn)行FF,融合后的特征個(gè)數(shù)為參與融合特征數(shù)的平方,其中必然包含大量的重復(fù)計(jì)算;而本文方法提出的融合規(guī)則考慮了去重,因此FF的時(shí)間比FFP短;(2)因?yàn)镕FP包括2次FS,而本文方法只進(jìn)行了一次FS,所以FS的時(shí)間比FFP短。綜上,本文方法的分類性能更勝一籌。文獻(xiàn)[19]的方法準(zhǔn)確率為98.7%,整體使用時(shí)間比本文方法少0.349 s,相差不大,但準(zhǔn)確率比本文方法低。綜合考慮,本文方法的分類性能更好。
為了進(jìn)一步研究相加、相乘以及絕對(duì)相加這3種運(yùn)算,即式(4)~(6),采用其中一種或兩種融合運(yùn)算來完成分類,實(shí)驗(yàn)結(jié)果如表5所示。只使用相加、相乘、絕對(duì)值相加的分類準(zhǔn)確率分別為98.8%、98.7%、98.8%;式(4)、式(5)表示使用相加和相乘兩種融合運(yùn)算,準(zhǔn)確率為98.7%;同時(shí)使用相加和絕對(duì)值相加時(shí),即式(4)、式(6),準(zhǔn)確率為 98.8%;同理,式(5)、式(6)表示使用相乘和絕對(duì)值相加,準(zhǔn)確率為98.7%。由此可見,以上6種組合的分類準(zhǔn)確率均不如本文提出的CFS,其準(zhǔn)確率為99.3%,包括式(4)~(6)運(yùn)算。同時(shí)使用這3種運(yùn)算可以提取更加豐富的信息,因此更有利于完成分類任務(wù),提高分類性能。這可能是因?yàn)槊糠N生成方法生成的特征一般只反映了流特性的某個(gè)側(cè)面,而某些生成特征可能有冗余,不能獨(dú)立代表流的隱含特性,而同時(shí)使用這3種不同的方法生成的特征可以從多個(gè)方面來反映流特性,相對(duì)于某一種生成方法而言,它提取了更加豐富的信息,更有利于完成分類任務(wù)。
表5 3種運(yùn)算組合對(duì)視頻數(shù)據(jù)集的分類準(zhǔn)確率 %
3.3.2 其他數(shù)據(jù)集
為了驗(yàn)證本文方法的普適性,還在其他數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),包括移動(dòng)流數(shù)據(jù)集和UCI數(shù)據(jù)集。
(1)移動(dòng)流數(shù)據(jù)集
移動(dòng)流數(shù)據(jù)是一個(gè)公開的數(shù)據(jù)集,包括主動(dòng)MTD(AMTD)和被動(dòng) MTD(PMTD)[35]。 從 2016 年10月至2017年3月,通過在10臺(tái)志愿者的智能手機(jī)上部署 mgtClient,并在遠(yuǎn)程服務(wù)器上部署mgtServer來收集。該數(shù)據(jù)集總共包含86 869條流,每條流平均為16 min。表6中的6種流行應(yīng)用被選作實(shí)驗(yàn)數(shù)據(jù),包含25個(gè)特征,如表7所示。
表6 移動(dòng)數(shù)據(jù)集
表7 移動(dòng)數(shù)據(jù)集統(tǒng)計(jì)特征
實(shí)驗(yàn)結(jié)果如表8和表9所示。執(zhí)行本文提出的FF后,分類準(zhǔn)確率由84.6%上升為89.2%。FS的時(shí)間由0.58 s變?yōu)?.773 s;模型訓(xùn)練時(shí)間由0.185 s變?yōu)?.464 s。盡管增加了少量的時(shí)間開銷,但分類準(zhǔn)確性得到明顯改善。FFP[18]的準(zhǔn)確率為87.6%,文獻(xiàn)[19]為88.8%,均低于本文方法。
表8 移動(dòng)數(shù)據(jù)集整體準(zhǔn)確率和時(shí)間
表9 移動(dòng)數(shù)據(jù)集分類結(jié)果(均值±標(biāo)準(zhǔn)差) %
使用相乘、相加和絕對(duì)值相加這3種運(yùn)算的其他6種組合,得到的分類結(jié)果如表10所示。這6種組合得到的分類準(zhǔn)確率均低于本文方法(89.2%),即同時(shí)使用這3種運(yùn)算得到的準(zhǔn)確率最高。
表10 3種運(yùn)算組合對(duì)移動(dòng)數(shù)據(jù)集的分類準(zhǔn)確率 %
(2) UCI數(shù)據(jù)集
本文采用的是 UCI數(shù)據(jù)集中的 Sonar和Ionosphere,如表11所示。
表11 UCI數(shù)據(jù)集
Sonar的實(shí)驗(yàn)結(jié)果分別如表12、表13所示。對(duì)于Sonar,本文方法的準(zhǔn)確率可達(dá)89.8%,比原來提高了 8.2%,比 FFP[18]和文獻(xiàn)[19]分別高3.8%和5.4%。Ionosphere的實(shí)驗(yàn)結(jié)果分別如表14、表15所示。對(duì)于 Ionosphere,本文方法準(zhǔn)確率為 95.7%,F(xiàn)FP[18]和文獻(xiàn)[19]的準(zhǔn)確率分別為93.8%和94.5%,本文方法準(zhǔn)確率較高。使用其他6種組合,Sonar和Ionosphere的實(shí)驗(yàn)結(jié)果如表16所示,分類準(zhǔn)確率均不如同時(shí)使用3種運(yùn)算的本文方法。
表12 Sonar數(shù)據(jù)集整體準(zhǔn)確率和時(shí)間
表13 Sonar數(shù)據(jù)集分類結(jié)果(均值±標(biāo)準(zhǔn)差) %
表14 Ionosphere數(shù)據(jù)集分類結(jié)果(均值±標(biāo)準(zhǔn)差)
表15 Ionosphere數(shù)據(jù)集分類結(jié)果(均值±標(biāo)準(zhǔn)差) %
表16 3種運(yùn)算組合對(duì)Sonar數(shù)據(jù)集和Ionosphere數(shù)據(jù)集的分類準(zhǔn)確率 %
本文提出了一種基于特征融合的視頻流分類方法。首先從采集的視頻流數(shù)據(jù)集提取統(tǒng)計(jì)特征即原始特征,再對(duì)原始特征采用本文提出的新FF方法組合,即3種運(yùn)算,產(chǎn)生融合特征。從由原始特征和融合特征組成的復(fù)合特征中選出最優(yōu)的特征子集,作為分類器的輸入。其中采用的是嵌入式FS方法,隨機(jī)森林作為分類算法。在視頻流數(shù)據(jù)集上對(duì)本文方法加以驗(yàn)證,分類準(zhǔn)確率可以達(dá)到99.3%,時(shí)間開銷略為增加,分類性能明顯優(yōu)于其他兩種方法。同時(shí)還對(duì)移動(dòng)數(shù)據(jù)集和UCI的2個(gè)數(shù)據(jù)集進(jìn)行了測(cè)試,得到的結(jié)果進(jìn)一步驗(yàn)證了該方法的有效性,分類性能優(yōu)于其他兩種方法。實(shí)驗(yàn)結(jié)果表明本文提出的方法提升了分類性能,且適用于多種分類問題。
在今后的工作中,將進(jìn)一步探討特征融合規(guī)則,提取出更多的有用信息,提高分類的準(zhǔn)確率;同時(shí)考慮特征降維問題,減少時(shí)間消耗。