王 彥,董育寧,葛 軍
1.南京郵電大學(xué) 通信與信息工程學(xué)院,南京210003
2.南京郵電大學(xué) 現(xiàn)代郵政學(xué)院,南京210003
根據(jù)思科視覺(jué)網(wǎng)絡(luò)指數(shù)(2020)[1]的最新預(yù)測(cè),從2017 年到2022 年,全球互聯(lián)網(wǎng)視頻流量將翻兩番,到2022 年將占所有互聯(lián)網(wǎng)流量的82%以上。不同類型的視頻應(yīng)用程序?qū)Ψ?wù)質(zhì)量(Quality of Service,QoS)的要求也不同。視頻業(yè)務(wù)的識(shí)別和分類是實(shí)現(xiàn)相關(guān)網(wǎng)絡(luò)行為以進(jìn)一步提高視頻服務(wù)端到端QoS 的前提?;ヂ?lián)網(wǎng)服務(wù)提供商(Internet Service Provider,ISP)為了合理地將相應(yīng)的網(wǎng)絡(luò)資源分配給不同的視頻應(yīng)用程序,需要對(duì)視頻服務(wù)進(jìn)行精細(xì)的分類,而不僅僅是將視頻業(yè)務(wù)視為一個(gè)單獨(dú)的類別。
近年來(lái),機(jī)器學(xué)習(xí)(Machine Learning,ML)方法已經(jīng)成功地用于識(shí)別網(wǎng)絡(luò)視頻流量。但是傳統(tǒng)的ML 不能解決以下兩個(gè)問(wèn)題:首先,由于網(wǎng)絡(luò)視頻服務(wù)技術(shù)的不斷更新,許多以前收集的視頻流數(shù)據(jù)集很容易過(guò)時(shí),再重新收集和標(biāo)記新的實(shí)例需要花費(fèi)大量人力成本。其次,每次更新數(shù)據(jù)集時(shí),都需要重新訓(xùn)練新模型,該過(guò)程非常復(fù)雜且耗時(shí)。因此,本文提出一種遷移學(xué)習(xí)(Transfer Learning,TL)框架來(lái)解決上述問(wèn)題。該方法可以在僅擁有比較少的新收集的有標(biāo)簽數(shù)據(jù)和大量過(guò)時(shí)的訓(xùn)練數(shù)據(jù)集的情況下來(lái)實(shí)現(xiàn)視頻流多分類。
在基于ML的分類方法中,特征選擇(Feature Selection,F(xiàn)S)是重要的一步。它通常被視為數(shù)據(jù)預(yù)處理操作,可以減少后續(xù)分類算法的計(jì)算時(shí)間,改善預(yù)測(cè)性能。
本文的主要?jiǎng)?chuàng)新點(diǎn)如下:
(1)借鑒MultiSURF[2]與遺傳算法(Genetic Algorithm,GA)[3],提出一種混合式的FS算法——MSGA。該算法結(jié)合了過(guò)濾式與包裹式FS 方法的優(yōu)點(diǎn),在實(shí)現(xiàn)特征尺寸快速降維的同時(shí)還可以降低特征子集的冗余度,能幫助后續(xù)分類器提高分類準(zhǔn)確率。
(2)借鑒SAMME 算法[4],將TrAdaBoost 算法[5]從只可識(shí)別兩類擴(kuò)展到可識(shí)別多類,從而提出了MultiTrAda-Boost算法,實(shí)現(xiàn)對(duì)視頻流數(shù)據(jù)的精細(xì)分類;該算法可以較好地利用過(guò)去的數(shù)據(jù),從中篩選出有用的樣本遷移至分類目標(biāo)域,在節(jié)省大量收集和標(biāo)記新數(shù)據(jù)的成本的同時(shí)也提高了分類的準(zhǔn)確率。
Ferriyan 和Thamrin 等[6]提出了一種用于入侵檢測(cè)系統(tǒng)的基于遺傳算法的的優(yōu)化FS 方法,該方法采用單點(diǎn)交叉的方式來(lái)選擇GA的參數(shù),并結(jié)合隨機(jī)森林算法在分類率和訓(xùn)練時(shí)間方面取得了較好的結(jié)果。劉成鍇等[7]提出了一種將過(guò)濾式算法TF-IDF(Term Frequency-Inverse Document Frequency)與封裝式GA相結(jié)合的文本FS算法,該方法有效降低了高維的文本特征,并具有良好的分類效果。姚樹春等[8]針對(duì)高維小樣本數(shù)據(jù)FS冗余度高和過(guò)擬合的問(wèn)題,提出一種基于混合GA與互信息分析的高維小樣本FS 算法,該算法有效地增強(qiáng)了GA的穩(wěn)定性和魯棒性,并且實(shí)現(xiàn)了較好的FS效果。
Canovas等[9]根據(jù)模式對(duì)多媒體流量進(jìn)行分類,這些模式允許使用視頻流和網(wǎng)絡(luò)特征作為輸入?yún)?shù)來(lái)區(qū)分流量類型。吳爭(zhēng)等[10]針對(duì)不同類別網(wǎng)絡(luò)流分布不平衡的問(wèn)題,設(shè)計(jì)了一種能夠?qū)崿F(xiàn)低存儲(chǔ)、低時(shí)延、高準(zhǔn)確率的網(wǎng)絡(luò)視頻流細(xì)分類算法,并在真實(shí)數(shù)據(jù)集中取得了較高的識(shí)別率。楊凌云等[11]使用較小的數(shù)據(jù)來(lái)代替長(zhǎng)視頻流進(jìn)行分類,減少了數(shù)據(jù)處理時(shí)間的同時(shí)也提高了分類精度。
Zhang 等[12]提出了一種新的TL 框架JGSA,該框架可減少兩個(gè)域之間在統(tǒng)計(jì)和幾何上的偏移,從而更好地實(shí)現(xiàn)跨域遷移,提高識(shí)別準(zhǔn)確率。Han等[13]提出了一種兩階段分類技術(shù),該技術(shù)結(jié)合了TL 和Web 數(shù)據(jù)擴(kuò)充方法,有效地減少了對(duì)訓(xùn)練集樣本數(shù)量的要求并避免了過(guò)擬合問(wèn)題。劉三民等[14]結(jié)合TL 方法,利用大量的歷史標(biāo)注樣本來(lái)輔助當(dāng)前新概念的模型學(xué)習(xí),解決了代表新概念標(biāo)注樣本數(shù)量不足的問(wèn)題。
2.1.1 MultiSURF模型
MultiSURF 是一種過(guò)濾式FS 方法,它根據(jù)每個(gè)屬性和類別的相關(guān)性為每個(gè)屬性分配不同的權(quán)重。特征權(quán)重向量W[A] 的更新如下所示:
其中,diff是一個(gè)距離函數(shù),用于計(jì)算樣本S1和樣本S2之間的屬性A的值的區(qū)別(其中S1=Ri和S2=最近的命中(H)或最近的未命中(M)),b是訓(xùn)練樣本的總數(shù),h和m分別為最近的命中次數(shù)和最近的未命中的個(gè)數(shù)。然后,該算法會(huì)依據(jù)各個(gè)特征的權(quán)重值大小進(jìn)行排序,進(jìn)而選擇特征子集。
2.1.2 TrAdaBoost算法
TrAdaBoost 是一個(gè)TL 算法,可通過(guò)提升基礎(chǔ)學(xué)習(xí)器從而將有用的知識(shí)從一個(gè)分布域遷移到另一個(gè)分布域。該算法的輸出如下:
其中,γt為εt/(1-εt),εt是基礎(chǔ)學(xué)習(xí)器的分類錯(cuò)誤率,N為最大迭代次數(shù)。從中可以看出它只可以處理兩分類(0或者1)問(wèn)題。
2.1.3 SAMME算法
SAMME 是一種自然地將AdaBoost[15]算法擴(kuò)展到可實(shí)現(xiàn)多分類而不是將其轉(zhuǎn)化成進(jìn)行多次二分類情況的算法。它通過(guò)優(yōu)化一個(gè)多類指數(shù)損失函數(shù),來(lái)獲得樣本c屬于類k的概率,即:
2.1.4 JGSA算法
JGSA(Joint Geometrical and Statistical Alignment)是一個(gè)可以同時(shí)減少源和目標(biāo)域之間的分布和幾何差異的遷移學(xué)習(xí)框架,具體來(lái)說(shuō),通過(guò)學(xué)習(xí)兩個(gè)耦合投影(A代表源域,B代表目標(biāo)域)來(lái)獲得各自域的新表示。映射完成之后,可以達(dá)到(1)目標(biāo)域數(shù)據(jù)的方差最大化;(2)保留源域數(shù)據(jù)的判別信息;(3)源域和目標(biāo)域之間的分布散度最小化;(4)源域和目標(biāo)域的子空間散度最小化。該算法的整體目標(biāo)函數(shù)為:
其中,St、Sw、Sb分別是目標(biāo)域散度矩陣、類內(nèi)散布矩陣和類間散度矩陣,λ、β、μ是重要的權(quán)衡參數(shù)。最終,該算法通過(guò)不斷優(yōu)化目標(biāo)函數(shù)來(lái)減小域位移。
本節(jié)提出一種新的基于MultiSURF 和GA 的混合FS方法MSGA,如圖1所示。
圖1 MSGA算法流程圖
使用MSGA算法選擇特征子集的計(jì)算過(guò)程如下:
步驟1 首先MultiSURF算法依據(jù)公式(1)計(jì)算出每個(gè)屬性的權(quán)重值,并將其按從大到小的順序進(jìn)行排序,去掉部分與類別關(guān)聯(lián)較弱的屬性,最后按照順序選擇前a個(gè)屬性。
步驟2 基于上一步選出的a個(gè)屬性隨機(jī)初始化原始種群。
步驟3 計(jì)算每個(gè)個(gè)體的適應(yīng)度函數(shù)值,本實(shí)驗(yàn)中的適應(yīng)度值為CART算法的分類準(zhǔn)確率。
步驟4 算法遵循基本的GA 操作,對(duì)個(gè)體進(jìn)行選擇、變異、交叉。
步驟5 將新生成的所有解加到種群中,形成新的種群。
步驟6 如果適應(yīng)度值不再變化,或者算法達(dá)到最大迭代次數(shù),則此時(shí)的輸出的結(jié)果為最佳個(gè)體,否則重復(fù)步驟3至5,直到滿足終止條件。
在進(jìn)行分類實(shí)驗(yàn)之前,使用MSGA特征選擇算法從原始的25個(gè)特征[10]中篩選出8個(gè)特征,具體如表1所示。
表1 分類實(shí)驗(yàn)數(shù)據(jù)集的8個(gè)特征
本文提出的MultiTrAdaBoost算法繼承了TrAdaBoost的遷移思想,并結(jié)合SAMME 來(lái)實(shí)現(xiàn)多類識(shí)別。算法1給出了MultiTrAdaBoost 的詳細(xì)計(jì)算步驟。首先,分別初始化兩個(gè)有標(biāo)簽訓(xùn)練集Ta和Tb的權(quán)重向量W1(n是舊數(shù)據(jù)集Ta的大小,m是新數(shù)據(jù)集Tb的大?。?。β用于更新Ta中樣本的權(quán)重,被設(shè)置為,即它的大小由n和迭代次數(shù)N決定。然后算法進(jìn)入迭代過(guò)程,在每次迭代開始時(shí)首先歸一化pt,它是所有訓(xùn)練集T(Ta∪Tb)樣本的權(quán)重分布。本實(shí)驗(yàn)中選擇CART算法作為基礎(chǔ)學(xué)習(xí)器,所有用于訓(xùn)練基礎(chǔ)學(xué)習(xí)器的樣本都遵循pt的分布,然后學(xué)習(xí)器將得到一個(gè)假設(shè)函數(shù)ht:X→Y,并將其保存起來(lái),以便最終可以通過(guò)加性模型進(jìn)行組合以形成一個(gè)強(qiáng)分類器。之后計(jì)算數(shù)據(jù)集Tb上的錯(cuò)誤率εt并根據(jù)它更新βt。如果Ta中的樣本分類錯(cuò)誤,其權(quán)重將乘以,以減少其對(duì)下一輪迭代中的學(xué)習(xí)器的影響。如果Tb中的樣本分類錯(cuò)誤,其權(quán)重將乘以增加權(quán)重值,這將使下一個(gè)分類器更加關(guān)注此樣本。經(jīng)過(guò)幾次迭代后,通過(guò)不斷從Ta中選擇輔助數(shù)據(jù)來(lái)幫助分類,基礎(chǔ)學(xué)習(xí)器的錯(cuò)誤率將逐漸變小。最后,所有保存的基礎(chǔ)學(xué)習(xí)器將與各自的權(quán)重ln(1 /βt)集成在一起,以生成最終的強(qiáng)分類器。在本算法中,最終輸出的假設(shè)函數(shù)是:
其中,N是迭代的次數(shù),ht是基礎(chǔ)學(xué)習(xí)器的假設(shè)函數(shù),βt=γt/(K-1) 。I是一個(gè)指示函數(shù),它代表如果ht(x)=k則它的值為1,否則為0。
算法1 MultiTrAdaBoost
輸入:兩個(gè)有標(biāo)簽訓(xùn)練集Ta和Tb,無(wú)標(biāo)簽測(cè)試集S,類別數(shù)目K,基礎(chǔ)學(xué)習(xí)器和最大迭代次數(shù)N。
實(shí)驗(yàn)中共使用兩個(gè)數(shù)據(jù)集,一個(gè)是包含780個(gè)樣本的老數(shù)據(jù)集,于2013 年在南京郵電大學(xué)(Nanjing University of Posts and Telecommunications,NJUPT)收集。另一個(gè)新數(shù)據(jù)集包含438個(gè)樣本,是2019年在倫敦瑪麗皇后大學(xué)(Queen Mary University of London,QMUL)收集的。這兩個(gè)數(shù)據(jù)集的每個(gè)樣本都具有相同的25個(gè)特征和各自的類別標(biāo)簽。數(shù)據(jù)集總共包含6種類別,即在線標(biāo)清視頻(SD,480p),在線高清視頻(HD,720p),在線超清視頻(CD,1 080p),交互式視頻通信(IVC),P2P視頻(P2P)和網(wǎng)絡(luò)實(shí)時(shí)視頻(ILV)。
由于NJUPT 數(shù)據(jù)集為六年前收集的,所以在某種程度上已經(jīng)過(guò)時(shí)了。因此,可以將其視為過(guò)時(shí)的數(shù)據(jù)集Ta。QMUL數(shù)據(jù)集分為兩部分:帶標(biāo)簽的新數(shù)據(jù)集(Tb)和無(wú)標(biāo)簽的測(cè)試集(S),這兩部分服從相同的分布。為了進(jìn)行更加詳細(xì)的比較,本文從QMUL 數(shù)據(jù)集中分別提取了20%、40%和60%的數(shù)據(jù)作為Tb,其余為測(cè)試集S。
將MSGA 與MultiSURF 和基于GA 的包裹式兩種FS算法進(jìn)行對(duì)比,后端分類算法都是MultiTrAdaBoost。
為了驗(yàn)證MultiTrAdaBoost 算法的性能,本文選擇了(1)Cart_a,它利用舊數(shù)據(jù)集Ta作為訓(xùn)練集;(2)Cart_ab,它將老數(shù)據(jù)集Ta和新數(shù)據(jù)集Tb組合起來(lái)形成訓(xùn)練集,這兩種方法均使用CART 算法訓(xùn)練分類器;(3)JGSA[13]TL 算法進(jìn)行性能比較。在MultiTrAdaBoost 中,CART算法被用作基礎(chǔ)學(xué)習(xí)器。
使用總體準(zhǔn)確率、查準(zhǔn)率、查全率和F1-measure 來(lái)測(cè)試算法性能,分別定義如下:
分別使用MultiSURF、基于GA 的包裹式和MSGA三種FS 算法選出了8、10 和8 個(gè)特征,最后的分類總體準(zhǔn)確率如表2所示。
表2 三種FS算法在測(cè)試集上的總體準(zhǔn)確率
可以看出,使用MSGA的分類結(jié)果要高于其他兩種方法,這說(shuō)明MSGA所選擇的特征對(duì)于分類來(lái)說(shuō)更加有效。MultiSURF 算法選擇的特征子集大小與MSGA 相同,但子集內(nèi)容不一樣,由于其是過(guò)濾式FS 方法,所以無(wú)法避免特征子集冗余問(wèn)題,分類精度均低于0.9。相較于MSGA,基于GA 的FS 方法選擇了更多的特征,但是分類精度仍然普遍低于MSGA,這意味著包裹式FS方法并不能很好地去除無(wú)關(guān)特征。
表3 顯示了本文提出的TL 算法與兩種傳統(tǒng)ML 方法分類的總體準(zhǔn)確率??梢园l(fā)現(xiàn),本文算法的整體準(zhǔn)確率明顯高于其他兩種基于傳統(tǒng)ML的方法。
表3 三種分類方法的總體準(zhǔn)確率
Cart_a的總體準(zhǔn)確率均低于37%,這表明了新數(shù)據(jù)集和老數(shù)據(jù)集之間的分布是不相同的,通過(guò)訓(xùn)練老數(shù)據(jù)集得到的模型無(wú)法識(shí)別新的數(shù)據(jù)集。在Cart_ab 算法中,即使引入新數(shù)據(jù)集Tb作為訓(xùn)練集,由于有大量和新數(shù)據(jù)集分布不同的過(guò)時(shí)實(shí)例Ta的干擾,該算法不能很好地訓(xùn)練模型,分類準(zhǔn)確率均低于89%。而本文算法可以克服新老數(shù)據(jù)集分布不同的問(wèn)題,通過(guò)從老數(shù)據(jù)集中篩選出有用的樣本來(lái)幫助分類進(jìn)而提高分類準(zhǔn)確率,其總體準(zhǔn)確率達(dá)到了94%以上,并且還可以減少大量老數(shù)據(jù)集的浪費(fèi)。
表4給出了JGSA與本文方法對(duì)六種不同類型的網(wǎng)絡(luò)視頻流分類的結(jié)果,可以看出,本文方法明顯優(yōu)于JGSA方法。JGSA不能很好地區(qū)分SD、HD和ILV三類,這是由于原始數(shù)據(jù)中這三個(gè)類別特征分布比較相似,當(dāng)通過(guò)JGSA 算法映射到更低維度的子空間之后,三個(gè)類別的新老數(shù)據(jù)的子空間無(wú)法很好地區(qū)別開,仍存在較大的域位移。另外,在總體準(zhǔn)確率方面,本文方法的分類精確度高于94%,而JGSA方法的總體正確率僅為67%。因?yàn)楸疚姆椒ㄊ峭ㄟ^(guò)迭代訓(xùn)練弱分類器來(lái)從源域中直接篩選出與目標(biāo)域相似的數(shù)據(jù),相較于JGSA,更為簡(jiǎn)單有效。
表4 JGSA和本文方法對(duì)6種網(wǎng)絡(luò)視頻流分類結(jié)果對(duì)比
本文提出了一種基于TL的新型網(wǎng)絡(luò)視頻流量分類算法MultiTrAdaBoost,該算法將TrAdaBoost與SAMME算法結(jié)合起來(lái),可以實(shí)現(xiàn)多類別的分類。實(shí)驗(yàn)結(jié)果表明,在訓(xùn)練集和測(cè)試集處于不同分布的情況下,本文方法可以在整體準(zhǔn)確率上獲得更好的性能。另外,為了提高分類準(zhǔn)確率,本文還提出了一種混合式的FS 方法MSGA,可以在選擇特征子集的過(guò)程中快速降維并減小子集的冗余度。盡管如此,仍有一些需要進(jìn)一步探索的問(wèn)題,而下一步的工作是研究如何在具有不同特征空間或不同類標(biāo)簽的領(lǐng)域之間遷移知識(shí)。