趙紫汝,暢志賢,李 釗,許艷紅
(1.西安電子科技大學(xué) 網(wǎng)絡(luò)與信息安全學(xué)院,陜西 西安 710126; 2.西安郵電大學(xué) 通信與信息工程學(xué)院,陜西 西安 710121)
隨著5G技術(shù)和應(yīng)用的迅猛發(fā)展,無線網(wǎng)絡(luò)規(guī)模急劇擴(kuò)大,用戶對(duì)網(wǎng)絡(luò)性能的要求不斷提高。方便、準(zhǔn)確地分析和研究網(wǎng)絡(luò)性能,不僅能夠指導(dǎo)網(wǎng)絡(luò)的建設(shè)和運(yùn)維,也對(duì)網(wǎng)絡(luò)資源的動(dòng)態(tài)配置具有重要意義[1]。一方面,由于網(wǎng)絡(luò)的性能指標(biāo)直接反映了網(wǎng)絡(luò)提供服務(wù)的能力,根據(jù)時(shí)延、丟包率、吞吐量等網(wǎng)絡(luò)性能指標(biāo)可以對(duì)網(wǎng)絡(luò)服務(wù)質(zhì)量(Quality of Service,QoS)以及網(wǎng)絡(luò)存在的問題進(jìn)行分析和預(yù)測,確定瓶頸節(jié)點(diǎn)或鏈路,指導(dǎo)網(wǎng)絡(luò)資源的配置。另一方面,為了適應(yīng)不同類型的業(yè)務(wù),需要對(duì)網(wǎng)絡(luò)性能進(jìn)行準(zhǔn)確分析和認(rèn)識(shí),進(jìn)而合理分配網(wǎng)絡(luò)資源,使網(wǎng)絡(luò)性能能夠滿足不同業(yè)務(wù)的需求[2]。
網(wǎng)絡(luò)態(tài)勢(shì)感知方法通過研究整個(gè)網(wǎng)絡(luò)的當(dāng)前狀態(tài)和變化趨勢(shì),為用戶提供關(guān)于網(wǎng)絡(luò)的宏觀理解[3]。然而,網(wǎng)絡(luò)態(tài)勢(shì)感知只能預(yù)測某個(gè)時(shí)間點(diǎn)的網(wǎng)絡(luò)整體狀態(tài),無法對(duì)具體的網(wǎng)絡(luò)性能指標(biāo)進(jìn)行分析,其預(yù)測結(jié)果難以用于指導(dǎo)網(wǎng)絡(luò)資源配置?;谀M仿真的網(wǎng)絡(luò)分析方法可以利用網(wǎng)絡(luò)仿真軟件如OPNET(Optimized Network Engineering Tool)、NS-3(Network Simulator-3)和OMNeT++(Objective Modular Network Testbed in C++)等獲得網(wǎng)絡(luò)性能并進(jìn)行分析[4]。然而,該方法無法對(duì)歷史仿真數(shù)據(jù)進(jìn)行利用,使其在每次網(wǎng)絡(luò)結(jié)構(gòu)、協(xié)議或參數(shù)發(fā)生改變時(shí),都需要在網(wǎng)絡(luò)仿真軟件上重新搭建網(wǎng)絡(luò)模型或重新配置網(wǎng)絡(luò)協(xié)議和參數(shù),導(dǎo)致工作量增加和效率降低。
實(shí)際上,歷史數(shù)據(jù)是寶貴的資源,若是能夠?qū)W(wǎng)絡(luò)仿真歷史數(shù)據(jù)進(jìn)行收集,并利用機(jī)器學(xué)習(xí)方法從歷史數(shù)據(jù)中獲得網(wǎng)絡(luò)運(yùn)行的規(guī)律,便可以在不重復(fù)進(jìn)行網(wǎng)絡(luò)搭建、參數(shù)配置和仿真的條件下高效地預(yù)測網(wǎng)絡(luò)性能。
目前應(yīng)用于網(wǎng)絡(luò)性能預(yù)測的機(jī)器學(xué)習(xí)模型主要包括統(tǒng)計(jì)模型和神經(jīng)網(wǎng)絡(luò)模型兩種[5-6]。統(tǒng)計(jì)模型通常針對(duì)單一網(wǎng)絡(luò)參數(shù)進(jìn)行基于時(shí)間序列的預(yù)測[5],無法同時(shí)分析多個(gè)網(wǎng)絡(luò)參數(shù)對(duì)網(wǎng)絡(luò)性能的影響。與之相對(duì)應(yīng),神經(jīng)網(wǎng)絡(luò)模型則可以同時(shí)進(jìn)行多個(gè)網(wǎng)絡(luò)參量的數(shù)據(jù)擬合。特別是誤差反傳多層前饋(Back Propagation,BP)神經(jīng)網(wǎng)絡(luò)模型,由于其能夠以任意精度逼近任何非線性函數(shù)[6],并且具有高度的自學(xué)習(xí)和自適應(yīng)能力,得到了廣泛的應(yīng)用。
利用BP神經(jīng)網(wǎng)絡(luò)可以對(duì)不同網(wǎng)絡(luò)參數(shù)下的網(wǎng)絡(luò)性能指標(biāo)進(jìn)行預(yù)測,進(jìn)而分析不同網(wǎng)絡(luò)參數(shù)對(duì)網(wǎng)絡(luò)性能的影響。然而,影響網(wǎng)絡(luò)性能的網(wǎng)絡(luò)參數(shù)的種類眾多,這些網(wǎng)絡(luò)參數(shù)中,有的參數(shù)與網(wǎng)絡(luò)性能指標(biāo)并非高度相關(guān),或者不同的網(wǎng)絡(luò)參數(shù)可能對(duì)同一網(wǎng)絡(luò)性能指標(biāo)具有相似的影響,即存在冗余,若不做處理地將這些參數(shù)作為BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型的輸入對(duì)其進(jìn)行訓(xùn)練,不僅會(huì)增加模型的復(fù)雜度,導(dǎo)致訓(xùn)練收斂速度慢,還會(huì)使模型的泛化能力下降,出現(xiàn)過擬合情況[7]。為此,有必要通過特征選擇[8-11]來降低輸入BP神經(jīng)網(wǎng)絡(luò)的特征參數(shù)的數(shù)量。
特征選擇的關(guān)鍵是目標(biāo)函數(shù)的選取。目標(biāo)函數(shù)通過評(píng)價(jià)特征子集的質(zhì)量指導(dǎo)特征的篩選。根據(jù)目標(biāo)函數(shù)的不同,特征選擇方法主要包括過濾法和包裹法兩種方法[7]。過濾法利用數(shù)據(jù)的內(nèi)在聯(lián)系,例如,輸入特征與輸出標(biāo)簽之間的互信息或相關(guān)度作為特征的評(píng)分依據(jù)[8-10],通過過濾掉評(píng)分低的特征以減少特征數(shù)量。過濾法計(jì)算復(fù)雜度較低,其對(duì)特征的選擇獨(dú)立于預(yù)測模型,有可能導(dǎo)致對(duì)于具體的預(yù)測模型,其選擇結(jié)果不一定最優(yōu)。包裹法以預(yù)測模型的性能作為目標(biāo)函數(shù),對(duì)所選特征進(jìn)行評(píng)估[11],即在使用特征對(duì)預(yù)測模型進(jìn)行訓(xùn)練時(shí),根據(jù)模型的輸出對(duì)所選特征進(jìn)行評(píng)分,從而得到與預(yù)測模型適配的特征子集。但是,包裹法需要遍歷所有可能的特征子集,將各個(gè)特征子集輸入至模型中訓(xùn)練并計(jì)算預(yù)測誤差,其計(jì)算復(fù)雜度較高,訓(xùn)練效率較低[8]。
為了更簡便、準(zhǔn)確地根據(jù)無線網(wǎng)絡(luò)的多個(gè)特征預(yù)測其性能,本文擬提出一種基于兩級(jí)特征壓縮BP神經(jīng)網(wǎng)絡(luò)(Two-Stage Feature Compression based BP Neural Network,2SFC-BPNN)的網(wǎng)絡(luò)性能預(yù)測方法,分析不同網(wǎng)絡(luò)參數(shù)對(duì)網(wǎng)絡(luò)性能的影響。首先,在網(wǎng)絡(luò)仿真軟件中搭建無線網(wǎng)絡(luò)模型并進(jìn)行仿真,對(duì)多次仿真的網(wǎng)絡(luò)參數(shù)數(shù)據(jù)(特征)和網(wǎng)絡(luò)性能指標(biāo)數(shù)據(jù)(標(biāo)簽)進(jìn)行收集,以建立數(shù)據(jù)集。其次,建立多輸入、多輸出的BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型,一方面,利用網(wǎng)絡(luò)參數(shù)之間的數(shù)學(xué)關(guān)系,通過初等函數(shù)運(yùn)算得到衍生網(wǎng)絡(luò)參數(shù),然后,利用衍生網(wǎng)絡(luò)參數(shù)替換原始網(wǎng)絡(luò)參數(shù),以此實(shí)現(xiàn)第一次特征壓縮,稱為特征簡并;另一方面,根據(jù)網(wǎng)絡(luò)參數(shù)數(shù)據(jù)與網(wǎng)絡(luò)性能指標(biāo)數(shù)據(jù)的相關(guān)度和網(wǎng)絡(luò)參數(shù)數(shù)據(jù)之間的冗余度計(jì)算特征的優(yōu)選權(quán)重,然后,基于該權(quán)重逐一搜索、添加特征并訓(xùn)練BP神經(jīng)網(wǎng)絡(luò),同時(shí),對(duì)訓(xùn)練得到的網(wǎng)絡(luò)模型的預(yù)測質(zhì)量進(jìn)行評(píng)價(jià),以確定優(yōu)選特征子集以及該特征子集對(duì)應(yīng)的預(yù)測模型,至此完成第二次特征壓縮,稱為特征優(yōu)選。最后,利用兩級(jí)特征壓縮后得到的BP神經(jīng)網(wǎng)絡(luò)即可對(duì)無線網(wǎng)絡(luò)性能進(jìn)行預(yù)測,以改善經(jīng)典BP神經(jīng)網(wǎng)絡(luò)模型泛化能力差的問題,并且降低特征冗余。
圖1給出了利用2SFC-BPNN進(jìn)行網(wǎng)絡(luò)性能預(yù)測模型的設(shè)計(jì)框架。如圖所示,設(shè)計(jì)的2SFC-BPNN預(yù)測模型主要包括數(shù)據(jù)采集、預(yù)測模型建立以及模型評(píng)價(jià)等3個(gè)部分。首先,利用OMNeT++搭建無線網(wǎng)絡(luò)并進(jìn)行仿真,采集多次仿真中的網(wǎng)絡(luò)參數(shù)(特征)和網(wǎng)絡(luò)性能指標(biāo)(標(biāo)簽),完成數(shù)據(jù)集構(gòu)建。其次,簡并、優(yōu)選特征數(shù)據(jù)集并訓(xùn)練得到可用的BP神經(jīng)網(wǎng)絡(luò)模型。最后,以平均絕對(duì)百分比誤差(Mean Absolute Percentage Error,MAPE)作為評(píng)價(jià)函數(shù),利用特征優(yōu)選后的測試集數(shù)據(jù)對(duì)輸出的預(yù)測模型質(zhì)量進(jìn)行評(píng)價(jià),當(dāng)預(yù)測結(jié)果的MAPE大于預(yù)設(shè)的閾值時(shí),調(diào)整預(yù)測模型的超參數(shù),重新執(zhí)行特征優(yōu)選操作,并在優(yōu)選過程中重新訓(xùn)練BP神經(jīng)網(wǎng)絡(luò);反之,當(dāng)預(yù)測結(jié)果的MAPE小于預(yù)設(shè)閾值時(shí),則得到可以用于網(wǎng)絡(luò)性能預(yù)測的預(yù)測模型。
圖1 2SFC-BPNN網(wǎng)絡(luò)性能預(yù)測模型設(shè)計(jì)框架
在利用OMNeT++搭建網(wǎng)絡(luò)并進(jìn)行仿真時(shí),涉及r個(gè)原始網(wǎng)絡(luò)參數(shù)和k個(gè)網(wǎng)絡(luò)性能指標(biāo)。如圖1所示,原始網(wǎng)絡(luò)參數(shù)包括信號(hào)調(diào)制階數(shù)、網(wǎng)絡(luò)節(jié)點(diǎn)間距、平均包長、節(jié)點(diǎn)個(gè)數(shù)、鏈路速率、節(jié)點(diǎn)發(fā)射功率、節(jié)點(diǎn)包的到達(dá)率、時(shí)隙長度以及子時(shí)隙數(shù)等9個(gè)參數(shù),即r=9。其中,子時(shí)隙數(shù)由OMNeT++仿真過程中,數(shù)據(jù)包的傳輸時(shí)長和節(jié)點(diǎn)分配的時(shí)隙長度共同決定,即一個(gè)時(shí)隙被劃分為多個(gè)子時(shí)隙用于數(shù)據(jù)包發(fā)送,一個(gè)子時(shí)隙用于傳輸一個(gè)數(shù)據(jù)包。網(wǎng)絡(luò)性能指標(biāo)包括分組平均時(shí)延和網(wǎng)絡(luò)吞吐量兩個(gè)指標(biāo),即k=2。設(shè)置N組不同的原始網(wǎng)絡(luò)參數(shù)數(shù)據(jù)對(duì)搭建的網(wǎng)絡(luò)模型進(jìn)行N次仿真,可以得到N組網(wǎng)絡(luò)性能指標(biāo)數(shù)據(jù),據(jù)此構(gòu)建原始網(wǎng)絡(luò)參數(shù)數(shù)據(jù)集和網(wǎng)絡(luò)性能指標(biāo)數(shù)據(jù)集,將其寫作矩陣形式,分別記為M和K,K∈N×k,M∈N×r,表示實(shí)數(shù)空間。將M和K合并為網(wǎng)絡(luò)數(shù)據(jù)集C∈N×(r+k),即C=[MK]。
在圖1中,為了體現(xiàn)特征維數(shù)的壓縮,將C、特征簡并后的網(wǎng)絡(luò)數(shù)據(jù)集C(Ⅰ)和特征優(yōu)選后的網(wǎng)絡(luò)數(shù)據(jù)集C(Ⅱ)以轉(zhuǎn)置的形式進(jìn)行表示。將C的N行(組)數(shù)據(jù)劃分為訓(xùn)練(Training)數(shù)據(jù)集、驗(yàn)證(Validation)數(shù)據(jù)集和測試(Testing)數(shù)據(jù)集,劃分的比例系數(shù)設(shè)置分別為αtr、αv和αte,αtr,αv,αte∈(0,1),滿足αtr+αv+αte=1。訓(xùn)練數(shù)據(jù)集用于訓(xùn)練BP神經(jīng)網(wǎng)絡(luò),驗(yàn)證數(shù)據(jù)集用于在特征優(yōu)選階段對(duì)特征子集的質(zhì)量進(jìn)行評(píng)價(jià),測試數(shù)據(jù)集則用于評(píng)價(jià)BP神經(jīng)網(wǎng)絡(luò)的超參數(shù)設(shè)置。具體地,原始網(wǎng)絡(luò)參數(shù)訓(xùn)練數(shù)據(jù)集Mtr∈αtrN×r,原始網(wǎng)絡(luò)參數(shù)驗(yàn)證數(shù)據(jù)集Mv∈αvN×r,原始網(wǎng)絡(luò)參數(shù)測試數(shù)據(jù)集Mte∈αteN×r。類似地,將網(wǎng)絡(luò)性能指標(biāo)訓(xùn)練數(shù)據(jù)集、網(wǎng)絡(luò)性能指標(biāo)驗(yàn)證數(shù)據(jù)集和網(wǎng)絡(luò)性能指標(biāo)測試數(shù)據(jù)集分別表示為Ktr∈αtrN×k,Kv∈αvN×k和Kte∈αteN×k。于是,C可以被重新表示為
特征簡并后的網(wǎng)絡(luò)數(shù)據(jù)集可以被表示為
特征優(yōu)選后的網(wǎng)絡(luò)數(shù)據(jù)集可以被表示為
在實(shí)際應(yīng)用過程中,參數(shù)N、αtr、αv和αte的選擇需要保證αtrN、αvN和αteN均為整數(shù)。
利用網(wǎng)絡(luò)仿真軟件OMNeT++搭建網(wǎng)絡(luò)并進(jìn)行仿真,可以獲得多組的網(wǎng)絡(luò)參數(shù)輸入和網(wǎng)絡(luò)性能指標(biāo)輸出數(shù)據(jù),若將全部的網(wǎng)絡(luò)參數(shù)作為BP神經(jīng)網(wǎng)絡(luò)的輸入,會(huì)造成網(wǎng)絡(luò)模型的規(guī)模過大和復(fù)雜度過高等問題。并且,由于仿真數(shù)據(jù)的采集會(huì)帶來較高的成本,數(shù)據(jù)集的樣本數(shù)量通常是有限的。過多的特征輸入和過少的樣本數(shù)據(jù)量會(huì)導(dǎo)致模型因?qū)W習(xí)大量的無關(guān)信息而產(chǎn)生泛化能力變差等問題。針對(duì)上述問題,本節(jié)將給出2SFC-BPNN的無線網(wǎng)絡(luò)性能預(yù)測方法設(shè)計(jì),通過對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行簡并和優(yōu)選,以在獲得較好的預(yù)測性能的同時(shí),降低BP神經(jīng)網(wǎng)絡(luò)的復(fù)雜度。
在得到網(wǎng)絡(luò)數(shù)據(jù)集C并對(duì)其進(jìn)行劃分后,接下來,對(duì)原始網(wǎng)絡(luò)參數(shù)數(shù)據(jù)集M進(jìn)行特征簡并操作,得到簡并后的網(wǎng)絡(luò)參數(shù)數(shù)據(jù)集M(Ι)。具體采用如下操作。
根據(jù)M中的不同原始網(wǎng)絡(luò)參數(shù)之間的數(shù)學(xué)關(guān)系,對(duì)原始網(wǎng)絡(luò)參數(shù)進(jìn)行初等函數(shù)運(yùn)算以獲得一個(gè)衍生參數(shù)。使用衍生參數(shù)替代產(chǎn)生該衍生參數(shù)的原始網(wǎng)絡(luò)參數(shù)。令
式中,m1,m2,…,mN表示M中的原始網(wǎng)絡(luò)參數(shù)向量,每個(gè)原始網(wǎng)絡(luò)參數(shù)向量包含r個(gè)不同的原始網(wǎng)絡(luò)參數(shù)。
對(duì)于任意mn∈M,其中n∈{1,2,…,N},若存在βn,則使用βn替換mn中的元素mnx,…,mny,即刪除mn中的元素mnx,…,mny,并在mnx的位置添加βn,得到簡并后的網(wǎng)絡(luò)參數(shù)數(shù)據(jù)向量m′n。βn的數(shù)學(xué)表示式為
βn=f(mnx,…,mny)
式中:f(·)表示初等函數(shù);mnx,…,mny為mn中的原始網(wǎng)絡(luò)參數(shù)元素(這些網(wǎng)絡(luò)參數(shù)元素可以不連續(xù)),其中x,y∈{1,2,…,r},且y>x。
根據(jù)無線通信網(wǎng)絡(luò)參數(shù)之間的物理聯(lián)系,可以對(duì)原始網(wǎng)絡(luò)參數(shù)進(jìn)行特征簡并。以無人機(jī)集群網(wǎng)絡(luò)項(xiàng)目搭建的OMNeT++仿真網(wǎng)絡(luò)的常用參數(shù)為例,原始網(wǎng)絡(luò)參數(shù)包括信號(hào)調(diào)制階數(shù)、網(wǎng)絡(luò)節(jié)點(diǎn)間距、平均包長、節(jié)點(diǎn)個(gè)數(shù)、鏈路速率、節(jié)點(diǎn)發(fā)射功率、節(jié)點(diǎn)包的到達(dá)率、時(shí)隙長度以及子時(shí)隙數(shù)等9個(gè)參數(shù)。在信號(hào)帶寬一定的情況下,調(diào)制階數(shù)越高,則信息傳輸速率越大,說明調(diào)制階數(shù)會(huì)影響鏈路速率。并且,節(jié)點(diǎn)間距離決定鏈路長度,而鏈路長度與節(jié)點(diǎn)發(fā)射功率又共同影響節(jié)點(diǎn)的接收功率,進(jìn)而影響鏈路速率。因此,根據(jù)特征簡并的設(shè)計(jì)思想,由調(diào)制階數(shù)、節(jié)點(diǎn)間距和節(jié)點(diǎn)發(fā)射功率可以衍生出鏈路速率,更進(jìn)一步,可以使用鏈路速率替代調(diào)制階數(shù)、節(jié)點(diǎn)間距和節(jié)點(diǎn)發(fā)射功率等3個(gè)參數(shù),最終得到包含平均包長、鏈路速率、節(jié)點(diǎn)包到達(dá)率、時(shí)隙長度、子時(shí)隙數(shù)以及節(jié)點(diǎn)個(gè)數(shù)的簡并后的網(wǎng)絡(luò)參數(shù)。
為了進(jìn)一步減少輸入BP神經(jīng)網(wǎng)絡(luò)的特征數(shù),即網(wǎng)絡(luò)參數(shù)的數(shù)量,使用標(biāo)簽與特征的相關(guān)系數(shù)表征相關(guān)度,應(yīng)用特征和特征之間的相關(guān)系數(shù)表示冗余度,并基于相關(guān)度和冗余度計(jì)算特征優(yōu)選權(quán)重,進(jìn)行網(wǎng)絡(luò)參數(shù)的優(yōu)選。
首先,選擇一個(gè)與標(biāo)簽相關(guān)度最大的特征作為初始特征加入優(yōu)選特征子集。由于預(yù)測模型有多個(gè)標(biāo)簽輸出,因此,需要分別計(jì)算特征與所有標(biāo)簽的相關(guān)系數(shù)之和,選擇相關(guān)系數(shù)之和最大的特征,以確保所選特征對(duì)標(biāo)簽數(shù)據(jù)具有較強(qiáng)的表達(dá)能力。接下來,在候選特征集合(包含未添加至優(yōu)選特征子集的特征)中搜索合適的特征并添加至優(yōu)選特征子集中。為了防止由于所選特征之間冗余度過高而出現(xiàn)的多重共線性問題,同時(shí)保證特征與標(biāo)簽具有較高的相關(guān)度,根據(jù)候選特征與已選特征之間的冗余度、候選特征連同已選特征與標(biāo)簽之間的相關(guān)度,計(jì)算每個(gè)候選特征的優(yōu)選權(quán)重,并將優(yōu)選權(quán)重最小的特征添加至優(yōu)選特征子集中。
為了便于敘述,將簡并后的M(Ⅰ)包含的r′個(gè)網(wǎng)絡(luò)參數(shù)組成的集合稱為特征集合D={d1,d2,…,dr′},滿足r′=|D|,其中|·|表示集合包含的元素個(gè)數(shù)。類似地,將K包含的k個(gè)網(wǎng)絡(luò)性能指標(biāo)組成的集合稱為標(biāo)簽集合U={u1,u2,…,uk},有k=|U|。特征優(yōu)選的具體步驟如下。
步驟1初始化特征添加次數(shù)。令λ=1,初始化優(yōu)選特征子集,令B=Θ,Θ表示空集。將D中未添加至B的特征組成的集合稱為候選特征集合,記為D′,有D′=D-B,初始化候選特征集合,令D′=D,進(jìn)行第一次特征優(yōu)選,即從D中選擇與U中所有標(biāo)簽的相關(guān)系數(shù)之和最大的特征。具體地,計(jì)算D′中的第i個(gè)特征與U中的第j個(gè)標(biāo)簽的Pearson相關(guān)系數(shù)[12]。Pearson相關(guān)系數(shù)的定義式為
(1)
式中:xi為第i個(gè)網(wǎng)絡(luò)參數(shù)di∈D′(i∈{1,2,…,r′})對(duì)應(yīng)的M(Ⅰ)中的數(shù)據(jù)向量;yj為第j個(gè)網(wǎng)絡(luò)性能指標(biāo)uj∈U(j∈{1,2,…,k})對(duì)應(yīng)的K中的數(shù)據(jù)向量;cov(xi,yj)表示xi和yj的協(xié)方差;σxi和σyj分別表示xi和yj的方差。
由于預(yù)測模型為多輸出BP神經(jīng)網(wǎng)絡(luò),D′中的第i個(gè)特征與U中所有標(biāo)簽的相關(guān)系數(shù)之和的計(jì)算表示式為
(2)
選擇D′中最大的si(i∈{1,2,…,r′})對(duì)應(yīng)的特征,記為dg,將dg加入B,即B←B+{dg},并將dg從D′中刪除,即D′←D′-{dg}。
步驟2更新λ。若λ=r′,說明D′中的所有特征都已經(jīng)添加完畢,特征優(yōu)選結(jié)束,將D′作為B;否則,當(dāng)λ (3) 式中:ρxpxq表示B中的特征dp與D′中的特征dq的Pearson相關(guān)系數(shù),dp∈B,p∈{1,2,…,r′},dq∈D′,q∈{1,2,…,r′},且p≠q;sp和sq分別為dp和dq與U中所有標(biāo)簽的相關(guān)系數(shù)之和。 將式(3)中的ρxpxq/(sp+sq)稱為優(yōu)選系數(shù),其表示候選特征dq與已選特征dp之間的冗余度與相關(guān)度的比值,該數(shù)值越小,說明dq與dp的相關(guān)度越高且冗余度越低。由于B中包含多個(gè)已選特征,因此,hq為D′中的第q個(gè)特征與B的所有已選特征的優(yōu)選系數(shù)之和。在D′中選擇優(yōu)選權(quán)重最小的特征dv添加至B,即B←B+{dv},并更新D′←D′-{dv}。 (4) 同樣地,根據(jù)式(4),可以得到第λ次特征添加后訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)netλ以及由式(4)得到的該網(wǎng)絡(luò)預(yù)測結(jié)果的MAPE,記為γλ。 為了便于理解,下面給出了特征優(yōu)選算法的偽代碼。 算法:特征優(yōu)選算法輸入:M(Ⅰ)tr,M(Ⅰ)v,Ktr,Kv,標(biāo)簽集合U,特征集合D,簡并后的網(wǎng)絡(luò)參數(shù)個(gè)數(shù)r'輸出:優(yōu)選特征子集B,訓(xùn)練好的網(wǎng)絡(luò)n^et1: 初始化:λ=1,B=Θ,候選特征集合D'=D2: 根據(jù)式(1)計(jì)算D'中的第i個(gè)特征與U中第j個(gè)標(biāo)簽的相關(guān)系數(shù)ρxiyj;根據(jù)式(2)計(jì)算D'中第i個(gè)特征與U中所有標(biāo)簽之間的相關(guān)系數(shù)之和si3: while λ 為了驗(yàn)證所提方法的有效性,使用MATLAB提供的神經(jīng)網(wǎng)絡(luò)工具箱搭建BP神經(jīng)網(wǎng)絡(luò)模型,并對(duì)其進(jìn)行訓(xùn)練和測試。使用的計(jì)算機(jī)設(shè)備處理器為Intel Core i5-1240,內(nèi)存為16 GB。 利用OMNeT++搭建無線網(wǎng)絡(luò)、進(jìn)行仿真并采集數(shù)據(jù)。在預(yù)測網(wǎng)絡(luò)性能指標(biāo)時(shí),訓(xùn)練模型所用的數(shù)據(jù)集涉及多種網(wǎng)絡(luò)參數(shù)和網(wǎng)絡(luò)性能指標(biāo),而實(shí)際的網(wǎng)絡(luò)形式多樣,適用于各種網(wǎng)絡(luò),能根據(jù)不同網(wǎng)絡(luò)參數(shù)預(yù)測任意網(wǎng)絡(luò)性能指標(biāo)的公開數(shù)據(jù)集難以獲得,已有的一些相關(guān)研究通常利用網(wǎng)絡(luò)仿真建立符合要求的數(shù)據(jù)集[13-14]。因此,仿真利用OMNeT++建立實(shí)現(xiàn)、驗(yàn)證2SFC-BPNN所需的數(shù)據(jù)集。 由于無線網(wǎng)絡(luò)在不同的網(wǎng)絡(luò)參數(shù)設(shè)置下存在傳輸能力的上限,單位時(shí)間內(nèi)網(wǎng)絡(luò)中任意節(jié)點(diǎn)的包到達(dá)數(shù)與其單位時(shí)間內(nèi)能夠傳輸?shù)陌鼣?shù)的比值稱為業(yè)務(wù)強(qiáng)度因子。當(dāng)業(yè)務(wù)強(qiáng)度因子小于1時(shí),網(wǎng)絡(luò)未達(dá)到其傳輸能力上限;當(dāng)至少存在一個(gè)節(jié)點(diǎn)的業(yè)務(wù)強(qiáng)度因子大于1時(shí),網(wǎng)絡(luò)達(dá)到其傳輸能力上限。當(dāng)網(wǎng)絡(luò)的業(yè)務(wù)負(fù)荷達(dá)到其能力上限后,網(wǎng)絡(luò)性能將趨于飽和甚至惡化;當(dāng)業(yè)務(wù)負(fù)荷未達(dá)到網(wǎng)絡(luò)能力上限時(shí),網(wǎng)絡(luò)性能指標(biāo)則會(huì)隨機(jī)波動(dòng)。因此,不同的網(wǎng)絡(luò)業(yè)務(wù)負(fù)荷會(huì)使網(wǎng)絡(luò)性能指標(biāo)表現(xiàn)出明顯的差距,進(jìn)而影響B(tài)P神經(jīng)網(wǎng)絡(luò)的預(yù)測性能。 基于上述考慮,分別在網(wǎng)絡(luò)是達(dá)到和未達(dá)到其能力上限兩種情況下構(gòu)建數(shù)據(jù)集,并進(jìn)行網(wǎng)絡(luò)性能預(yù)測。除此之外,由于特征簡并利用網(wǎng)絡(luò)參數(shù)之間的數(shù)學(xué)關(guān)系對(duì)網(wǎng)絡(luò)參數(shù)數(shù)量進(jìn)行壓縮,而網(wǎng)絡(luò)參數(shù)之間的數(shù)學(xué)關(guān)系復(fù)雜,造成了第一級(jí)特征簡并操作的特征壓縮得到的參數(shù)組合不唯一,因此,選擇不同的參數(shù)組合進(jìn)行差異化實(shí)驗(yàn)。 表1給出了在不同業(yè)務(wù)負(fù)荷下構(gòu)建的網(wǎng)絡(luò)數(shù)據(jù)集Data1、Data2和Data3??梢钥闯?不同數(shù)據(jù)集包含不同的網(wǎng)絡(luò)特征參數(shù),預(yù)測的網(wǎng)絡(luò)性能指標(biāo)(標(biāo)簽)均包括網(wǎng)絡(luò)吞吐量和分組平均時(shí)延。每個(gè)數(shù)據(jù)集包含N=103組原始網(wǎng)絡(luò)參數(shù)數(shù)據(jù)和網(wǎng)絡(luò)性能指標(biāo)數(shù)據(jù),對(duì)應(yīng)于103次網(wǎng)絡(luò)仿真。將上述原始網(wǎng)絡(luò)參數(shù)數(shù)據(jù)集和網(wǎng)絡(luò)性能指標(biāo)數(shù)據(jù)集組成的網(wǎng)絡(luò)數(shù)據(jù)集按照比例αtr∶αv∶αte=8∶1∶1劃分為訓(xùn)練數(shù)據(jù)集、驗(yàn)證數(shù)據(jù)集和測試數(shù)據(jù)集。 表1 網(wǎng)絡(luò)數(shù)據(jù)集 接下來,使用MATLAB提供的神經(jīng)網(wǎng)絡(luò)工具箱搭建BP神經(jīng)網(wǎng)絡(luò)模型,并利用上述數(shù)據(jù)集Data1、Data2和Data3對(duì)其進(jìn)行訓(xùn)練和測試,訓(xùn)練采用的算法為貝葉斯正則化算法。當(dāng)訓(xùn)練得到的模型預(yù)測誤差MAPE小于預(yù)設(shè)的閾值20%時(shí),則獲得可用的預(yù)測模型。表2給出了BP神經(jīng)網(wǎng)絡(luò)的參數(shù)設(shè)置。仿真結(jié)果表明,利用表2中的參數(shù)建立的BP神經(jīng)網(wǎng)絡(luò)的預(yù)測MAPE均小于20%。 表2 BP神經(jīng)網(wǎng)絡(luò)的參數(shù)設(shè)置 OMNeT++網(wǎng)絡(luò)仿真模型根據(jù)某基于Link16數(shù)據(jù)鏈的無人機(jī)集群網(wǎng)絡(luò)項(xiàng)目搭建,網(wǎng)絡(luò)節(jié)點(diǎn)采用時(shí)分多址(Time Division Multiple Access,TDMA)接入方式,網(wǎng)絡(luò)參數(shù)包括調(diào)制階數(shù)、節(jié)點(diǎn)間距、節(jié)點(diǎn)發(fā)射功率、平均包長、鏈路傳輸速率、分組到達(dá)率、時(shí)隙長度、節(jié)點(diǎn)個(gè)數(shù)以及子時(shí)隙數(shù)等9種網(wǎng)絡(luò)參數(shù)。表3給出上述9種網(wǎng)絡(luò)參數(shù)的取值情況。 表3 網(wǎng)絡(luò)參數(shù)及其取值范圍 圖2 網(wǎng)絡(luò)吞吐量的預(yù)測性能 圖3 分組平均時(shí)延的預(yù)測性能 接下來,對(duì)兩級(jí)特征壓縮中的特征優(yōu)選進(jìn)行復(fù)雜度分析。分別使用數(shù)據(jù)集Data1、Data2和Data3進(jìn)行103次神經(jīng)網(wǎng)絡(luò)訓(xùn)練,每次訓(xùn)練的網(wǎng)絡(luò)初始權(quán)值均由隨機(jī)方式產(chǎn)生。根據(jù)實(shí)驗(yàn)設(shè)置,Data1、Data2和Data3等3個(gè)網(wǎng)絡(luò)數(shù)據(jù)集均包含4個(gè)特征,由于此時(shí)的特征維數(shù)較低,特征優(yōu)選有可能選擇全部4個(gè)特征構(gòu)成優(yōu)選特征子集。 為了驗(yàn)證特征優(yōu)選對(duì)模型結(jié)構(gòu)復(fù)雜度,即模型的輸入特征數(shù)量的降低,在使用2SFC-BPNN方法對(duì)吞吐量或時(shí)延進(jìn)行預(yù)測時(shí),分別在Data1、Data2和Data3等3個(gè)數(shù)據(jù)集中對(duì)特征優(yōu)選得到的特征子集包含的不同數(shù)量特征的概率進(jìn)行統(tǒng)計(jì)。預(yù)測模型為多輸入——二輸出的BP神經(jīng)網(wǎng)絡(luò),輸入的維數(shù)取決于優(yōu)選特征子集的元素?cái)?shù)。進(jìn)行103次實(shí)驗(yàn),當(dāng)特征子集的元素?cái)?shù)分別為1、2、3、4時(shí),特征優(yōu)選得到的特征子集包含不同數(shù)量特征的概率分布情況實(shí)驗(yàn)結(jié)果如圖4所示。 圖4 特征子集包含不同數(shù)量特征的概率 如圖4所示,在103次實(shí)驗(yàn)中,對(duì)網(wǎng)絡(luò)數(shù)據(jù)集Data1有7%、38%、29%和26%的概率選擇1個(gè)、2個(gè)、3個(gè)和4個(gè)特征;對(duì)Data2分別以5.8%、4.4%、63.4%和26.4%的概率選擇1個(gè)、2個(gè)、3個(gè)和4個(gè)特征;對(duì)Data3有7.2%、3.6%、57.8%和31.4%的概率優(yōu)選1個(gè)、2個(gè)、3個(gè)和4個(gè)特征。根據(jù)圖4可以計(jì)算得到數(shù)據(jù)集Data1、Data2和Data3的概率加權(quán)平均優(yōu)選特征個(gè)數(shù)分別為2.780、3.104和3.134,即平均優(yōu)選特征數(shù)量均相比于特征優(yōu)選前的4個(gè)特征減小約24.9%,證明了特征優(yōu)選算法能夠?qū)μ卣鬟M(jìn)行優(yōu)化選擇,即能夠篩選掉對(duì)預(yù)測性能沒有貢獻(xiàn)的特征。說明通過特征優(yōu)選,可以降低BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)復(fù)雜度。 此外,進(jìn)行103次實(shí)驗(yàn),分別統(tǒng)計(jì)2FSC-BPNN與不進(jìn)行特征優(yōu)選的BP神經(jīng)網(wǎng)絡(luò)的平均訓(xùn)練時(shí)間。實(shí)驗(yàn)結(jié)果如表4所示,可以看出,對(duì)于數(shù)據(jù)集Data1、Data2和Data3,相比于不進(jìn)行特征優(yōu)選的模型平均訓(xùn)練時(shí)間,所提方法可以將模型訓(xùn)練時(shí)間分別縮短8.48%、1.43%和13.46%,平均改善量約為7.79%,說明所提2FSC-BPNN方法能夠降低BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練的時(shí)間復(fù)雜度。 表4 模型平均訓(xùn)練時(shí)間 最后,對(duì)所提方法對(duì)預(yù)測精度的改善進(jìn)行驗(yàn)證。將所提方法與利用最大相關(guān)度最小冗余度準(zhǔn)(minimal-Redundancy-Maximal-Relevance Criterion,mRMR)方法[9]、ReliefF算法[10]、前向搜索(Sequential Forward Selection,SFS)方法[10]選擇特征并進(jìn)行BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練,進(jìn)而用訓(xùn)練好的模型進(jìn)行時(shí)延和吞吐量預(yù)測的平均MAPE進(jìn)行對(duì)比。 mRMR方法和ReliefF方法均屬于過濾方法。mRMR方法利用特征與特征、特征與標(biāo)簽的互信息對(duì)特征進(jìn)行評(píng)分,從而選擇與標(biāo)簽相關(guān)度最大、與其它特征冗余度最小的特征子集;ReliefF方法利用特征與標(biāo)簽樣本的數(shù)值鄰近程度賦予特征不同的權(quán)重,權(quán)重越大表明特征的貢獻(xiàn)程度越高。SFS算法屬于特征選擇適配于模型的包裹方法,該方法根據(jù)模型的預(yù)測性能逐一搜索添加特征,直至得到優(yōu)選的特征集合。利用Data1、Data2和Data3等3個(gè)數(shù)據(jù)集分別進(jìn)行103次實(shí)驗(yàn),并相應(yīng)地統(tǒng)計(jì)所提2SFC-BPNN方法對(duì)吞吐量和時(shí)延預(yù)測的平均MAPE,即對(duì)103次實(shí)驗(yàn)得到的103個(gè)MAPE樣本取平均。需要指出的是,mRMR方法、ReliefF方法以及SFS算法需要預(yù)先指定降維后的特征數(shù)。為了形成對(duì)照實(shí)驗(yàn),在每次實(shí)驗(yàn)中將特征優(yōu)選算法中選擇的特征個(gè)數(shù)作為其它特征選擇方法的預(yù)設(shè)特征數(shù)。使用不同特征選擇方法對(duì)Data1、Data2和Data3等3個(gè)數(shù)據(jù)集網(wǎng)絡(luò)吞吐量和分組平均時(shí)延的預(yù)測平均MAPE實(shí)驗(yàn)結(jié)果如表5所示。其中,使用全部特征記為方法All。表5中加粗的數(shù)值表示使用不同特征選擇方法對(duì)特定網(wǎng)絡(luò)性能指標(biāo)進(jìn)行預(yù)測時(shí)的平均MAPE的最小值。 表5 不同特征選擇方法的預(yù)測平均MAPE 表5顯示,對(duì)于網(wǎng)絡(luò)吞吐量,基于所提特征優(yōu)選算法得到的模型在數(shù)據(jù)集Data1、Data2下的預(yù)測精度最高,在Data3下的表現(xiàn)略差于其它方法。對(duì)于分組平均時(shí)延,所提方法的平均MAPE最小。并且,所提2FSC-BPNN方法在Data1、Data2和Data3這3個(gè)數(shù)據(jù)集下的預(yù)測精度均優(yōu)于不進(jìn)行特征選擇的方法。具體地,對(duì)于數(shù)據(jù)集Data1、Data2和Data3,相對(duì)于不進(jìn)行特征優(yōu)選,2FSC-BPNN方法對(duì)網(wǎng)絡(luò)吞吐量的預(yù)測精度分別提高了24.0%、12.4%和9.8%,即平均預(yù)測精度提高了約15.4%;對(duì)于分組平均時(shí)延的預(yù)測,2FSC-BPNN方法的預(yù)測精度分別提高了9.8%、3.7%和4.4%,即平均提高了約6.0%。這是因?yàn)?在訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型時(shí),并非所有特征都適合于對(duì)網(wǎng)絡(luò)性能指標(biāo)的預(yù)測,篩選掉這些冗余特征可以避免模型學(xué)習(xí)到無關(guān)的信息,從而提升模型的泛化能力,改善其預(yù)測性能。該實(shí)驗(yàn)證明了所提特征優(yōu)選方法能夠有效提高網(wǎng)絡(luò)性能指標(biāo)的預(yù)測精度。 提出了一種基于兩級(jí)特征壓縮的BP神經(jīng)網(wǎng)絡(luò)無線網(wǎng)絡(luò)性能預(yù)測的2SFC-BPNN方法。該方法首先對(duì)使用OMNeT++搭建的無線網(wǎng)絡(luò)進(jìn)行仿真,以建立網(wǎng)絡(luò)參數(shù)數(shù)據(jù)集和網(wǎng)絡(luò)性能指標(biāo)數(shù)據(jù)集,然后,使用數(shù)據(jù)集對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練以獲得預(yù)測網(wǎng)絡(luò)模型,并且在訓(xùn)練過程中對(duì)輸入神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)參數(shù)進(jìn)行兩級(jí)特征壓縮。特征壓縮過程包括特征簡并和特征優(yōu)選。在獲得訓(xùn)練好的BP神經(jīng)網(wǎng)絡(luò)后,對(duì)網(wǎng)絡(luò)性能指標(biāo)進(jìn)行預(yù)測。2SFC-BPNN方法的特征簡并操作能夠有效減少特征數(shù)量,特征優(yōu)選操作能夠兼顧特征與機(jī)器學(xué)習(xí)模型的適配和特征選擇復(fù)雜度的降低。實(shí)驗(yàn)結(jié)果表明,所提2SFC-BPNN方法能夠在降低預(yù)測模型復(fù)雜度的同時(shí),獲得較好的預(yù)測性能。3 仿真及分析
4 結(jié)語