智 春, 楊呈永, 崔建明
(桂林理工大學 a.信息科學與工程學院; b.現(xiàn)代教育技術(shù)中心; c.繼續(xù)教育學院, 廣西 桂林 541006)
大數(shù)據(jù)背景下, 用戶對網(wǎng)絡(luò)的要求越來越高, 網(wǎng)絡(luò)運行負荷和狀態(tài)直接影響到上網(wǎng)體驗。網(wǎng)絡(luò)流量作為網(wǎng)絡(luò)負荷狀態(tài)的重要參數(shù), 其未來時間序列的網(wǎng)絡(luò)流量狀態(tài)將對用戶上網(wǎng)產(chǎn)生重要影響。
針對網(wǎng)絡(luò)流量的預(yù)測: Tian等[1]提出了一種基于改進的自由搜索算法優(yōu)化最小二乘支持向量機的網(wǎng)絡(luò)流量預(yù)測方法, 該方法具有較好的預(yù)測效果, 預(yù)測誤差較小, 但增加了算法的時間復(fù)雜度; 龍震岳等[2]提出一種組合小波包分解(WPD)和灰狼橫縱多維混沌尋優(yōu)算法(CCGWO)優(yōu)化Elman神經(jīng)網(wǎng)絡(luò)的短期網(wǎng)絡(luò)流量預(yù)測模型(WPD-CCGWO-ELMAN), 組合模型具有較好的預(yù)測精度和魯棒性, 但灰狼橫縱多維混沌尋優(yōu)算法在尋找全局最優(yōu)時所用時間太長, 計算量大; 此外, 還有基于ABC+AFS-LSSVM的網(wǎng)絡(luò)流量預(yù)測模型[3]、基于IWO-ESN的網(wǎng)絡(luò)流量研究[4]、混沌理論[5]等方法應(yīng)用于網(wǎng)絡(luò)預(yù)測。同時, 優(yōu)化參數(shù)的選擇對模型的預(yù)測效果有著重要的影響, 常見的優(yōu)化算法有粒子群、蟻獅、差分等[6-8]優(yōu)化算法。為解決行車路徑規(guī)劃問題, 文獻[9]提出一種混合遺傳蟻群算法來優(yōu)化路徑的分配, 提高計算效率, 能夠準確的滿足路網(wǎng)綜合要求。為解決迭代后期出現(xiàn)的早熟收斂, 文獻[10]提出一種自適應(yīng)混合粒子群優(yōu)化算法, 使用差分策略更新粒子的隨機位置, 使得粒子逼近最優(yōu)位置;文獻[11]利用模擬退火提高粒子群算法的全局性, 優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值, 對實際采集的網(wǎng)絡(luò)流量時間序列進行建模, 具有更高的預(yù)測精度和良好的自適應(yīng)性。
考慮到網(wǎng)絡(luò)流量的復(fù)雜性, 蟻群算法優(yōu)化參數(shù)對預(yù)測模型容易陷入局部最優(yōu), 本文提出了一種改進蟻群算法, 來提高算法的搜索能力。首先通過局部均值分解(LMD)將網(wǎng)絡(luò)流量分成多個簡單的相關(guān)序列, 再使用高斯過程回歸(GPR)對多個相關(guān)序列進行建模分析,最后在蟻群中提出引入視線角度參數(shù), 來擴寬螞蟻的視線范圍, 降低了搜索的隨機性, 同時, 利用萊維飛行機制更新螞蟻的步長, 使算法達到全局最優(yōu)。
針對網(wǎng)絡(luò)流量在高斯過程回歸的應(yīng)用作了許多研究: 李松等[12]提出將高斯過程混合模型(GPM)應(yīng)用于網(wǎng)絡(luò)流量的多模態(tài)預(yù)測, 對樣本進行歸一化和重構(gòu), 采用分類迭代學習算法, 利用后驗概率最大化和似然函數(shù)對模型參數(shù)進行統(tǒng)計,再對統(tǒng)計的結(jié)果進行學習, 得到最適合模型的參數(shù)值,為網(wǎng)絡(luò)管理者分配資源提供參考;Bayati等[13]設(shè)計了一種考慮包括周期性、非線性和非平穩(wěn)性等不同流量特征的有效預(yù)測模型, 通過為時間序列預(yù)測提出一個學習者集合, 該集合考慮了個體學習者的準確性以及學習結(jié)果的多樣性,每個學習者都通過在特征空間中尋找最優(yōu)的精度多樣性平衡來優(yōu)化,這種分而治之的方法避免了具有許多局部最優(yōu)的復(fù)雜目標函數(shù);Sun等[14]提出無限變分近似高斯過程用于流量的預(yù)測, 和Dirichlet結(jié)合根據(jù)數(shù)自動確定, 克服了單高斯過程模型計算復(fù)雜的不足, 驗證了該方法的有效性。
在數(shù)學定義上, 高斯分布是由均值和方差決定的。因此, 高斯過程模型的關(guān)鍵是對均值和方差的確定。給定一個數(shù)據(jù)集D{X,Y}, 將其根據(jù)具體的情況劃分為訓練集合{Xt,Yt}和測試集合{Xp,Yp}, 一般訓練集大小為數(shù)據(jù)的80%或70%, 測試集為20%或30%。假設(shè)噪聲服從0均值的高斯分布, 預(yù)測模型如下
y=f(x)+v;
(1)
(2)
cov(y*)=K(xp,xp)-K(xp,xt)[K(xt,xt)+
(3)
其中, cov(y*)是預(yù)測值的方差。
GPR的訓練過程是利用核函數(shù)的映射將數(shù)據(jù)映射到高維空間。核函數(shù)選擇徑向基核函數(shù), 其表達式形具體為
(4)
(5)
(6)
螞蟻的信息素更新公式如下
(7)
其中:ρ為信息蒸發(fā)系數(shù), 一般設(shè)置為[0.7,0.9]; 螞蟻搜索范圍為[-1,1]; 螞蟻數(shù)量通常為[10,50]。
經(jīng)典蟻群算法在搜索時受到位置和速度的影響, 忽略了螞蟻本身觀察視線范圍的因素。由于搜索路徑的凹凸不平, 螞蟻的視線角度對當前路徑的搜索有一定的影響, 導(dǎo)致對局部搜索的不完整。同時, 由于搜索步長的因素, 造成蟻群算法容易陷入局部最優(yōu)。本文一方面通過引入視線參數(shù)多方面控制螞蟻的搜索位置, 避免了單一因素對螞蟻位置的影響, 擴寬了螞蟻移動的視線范圍, 提高局部搜索能力; 另一方面通過萊維飛行更新步長, 避免陷入局部最優(yōu), 提高算法的全局效果。
改進的蟻群算法如下:
(8)
2)引入視角參數(shù)多變量控制螞蟻搜索位置的更新:
(9)
(10)
3)通過萊維飛行的跳躍性更新步長
(11)
其中: levy(λ)是隨機搜索路徑; ?是點乘;α為控制因子, 滿足萊維分布
levy~u=t-λ, 1≤λ≤3。
(12)
由于萊維飛行計算復(fù)雜, 采用Mantegna算法計算步長s
(13)
(14)
通常β取為1.5。算法的基本流程:
①設(shè)置初始參數(shù), 包括螞蟻的數(shù)量N、所在的位置x、移動的次數(shù)nT、視角參數(shù)sj和區(qū)間范圍l等; ②對螞蟻的個體極值和全局極值初始化; ③計算相應(yīng)的轉(zhuǎn)移概率, 如果P(i) VACO算法流程如圖1所示。 圖1 VACO算法流程圖 網(wǎng)絡(luò)流量往往受到多種因素的影響,如上網(wǎng)時間、節(jié)假日高峰、地區(qū)網(wǎng)速、網(wǎng)絡(luò)攻擊等。Sun等[16]將單任務(wù)學習和多任務(wù)學習分別用于單鏈路和多鏈路的流量預(yù)測,同時將圖像套索與神經(jīng)網(wǎng)絡(luò)結(jié)合來解決涉及多變量的問題,提高了預(yù)測的精度。在此,將網(wǎng)絡(luò)流量看作一個復(fù)雜的非線性序列,基于將復(fù)雜問題分解成多個簡單問題的數(shù)學思想, 提出使用局部均值分解(local mean decomposition,LMD)將網(wǎng)絡(luò)流量分解成多個短相關(guān)序列,考慮到高斯過程回歸能夠很好地處理高維數(shù)、非線性的關(guān)系,并且具有容易實現(xiàn)、輸出具有概率意義的特點,本文使用GPR對相關(guān)短序列進行建模分析,用改進的蟻群算法優(yōu)化模型參數(shù)。預(yù)測模型結(jié)構(gòu)如圖2所示。 圖2 本文算法結(jié)構(gòu)圖 通過收集某地區(qū)企業(yè)內(nèi)部網(wǎng)絡(luò)新聞熱度的流量進行實驗, 數(shù)據(jù)采集間隔為1 h, 提取其中960個數(shù)據(jù)進行仿真分析, 通過對前一個月訪問產(chǎn)生的網(wǎng)絡(luò)流量的建模來預(yù)測后10天的網(wǎng)絡(luò)流量情況。網(wǎng)絡(luò)流量的原始數(shù)據(jù)X(t)和LMD分解的PF1、PF2、PF3、PF4和RES序列如圖3所示。 圖3 原始數(shù)據(jù)和LMD分解圖 為了驗證各算法的預(yù)測效果, 本文通過計算預(yù)測值和實際值的平均絕對誤差(MAE)、均方根誤差(RMSE)和平均絕對百分誤差(MAPE)來作為指標, 評價每個算法的預(yù)測效果: (15) (16) (17) 采用MATLAB進行仿真實驗, 針對研究問題, 將構(gòu)造數(shù)據(jù)集的k設(shè)置為7, 螞蟻數(shù)量為10, 迭代次數(shù)為30, 使用GPR對PF1、PF2、PF3、PF4和RES進行建模預(yù)測。 由圖4a可看出, GPR對PF1突發(fā)點的預(yù)測效果并不理想; 從圖4b—e可以看出,GPR對PF2、PF3、PF4和RES的預(yù)測效果較好。因此, 為了進一步提高網(wǎng)絡(luò)流量的預(yù)測精度, 本文提出采用ACO優(yōu)化GPR模型參數(shù)來預(yù)測PF1, 同時, 通過調(diào)整視線范圍和萊維飛行機制的跳躍性來改進ACO的搜索情況。 圖4 GPR對各分量突發(fā)點的預(yù)測 從圖5可看出, VACO算法在初始時下降范圍更大, 說明引入視線參數(shù)后, 螞蟻具備了更廣闊的視野, 找到了更好的搜索路徑; ACO算法在迭代6次后趨向于穩(wěn)定, 而VACO在迭代6次之后還在不斷跳躍, 直到14次左右才趨向于穩(wěn)定, 說明萊維飛行機制的隨機步長提高了螞蟻搜索的全局性, 能夠找到更優(yōu)的解。同時, 從圖6和表1可以看出, VACO優(yōu)化的GPR預(yù)測PF1更好地擬合了PF1的走向, 在MAE、RMSE、MAPE各方面, 相比GPR和ACO, VACO的誤差都有所降低, 提高了對PF1的預(yù)測精度。仿真結(jié)果表明, VACO算法相比ACO而言, 局部搜索能力更強, 同時, 在一定程度上避免陷入局部最優(yōu); 隨著迭代步數(shù)的增大, 蟻群算法將可能產(chǎn)生更多的跳躍性動作, 更加逼近最優(yōu)解。 表1 各模型對PF1預(yù)測誤差對比 圖5 ACO和VACO的迭代軌跡 圖6 VACO對PF1的預(yù)測結(jié)果 從圖7對比可看出,經(jīng)LMD分解,VACO優(yōu)化GPR模型的預(yù)測較好地擬合了網(wǎng)絡(luò)流量的走向,能夠很好地預(yù)測突發(fā)點。從表2可看出, LMD-VACO-GPR在MAE、RMSE方面, 相比其GPR、LMD-GPR、ACO-GPR、VACO-GPR和VACO-GPR模型誤差更低, 具有更好的預(yù)測效果。在MAPE方面, LMD-VACO-GPR相對較大, 這可能是由于LMD對網(wǎng)絡(luò)流量序列的分解誤差導(dǎo)致。經(jīng)過對比分析, 說明基于LMD的改進蟻群優(yōu)化的GPR預(yù)測方法是有效的, 具有更高的預(yù)測精度, 能夠滿足預(yù)測的需要。 圖7 LMD-VACO-GPR的網(wǎng)絡(luò)流量預(yù)測結(jié)果 表2 各模型的網(wǎng)絡(luò)流量預(yù)測誤差對比 為了能更好地提升網(wǎng)絡(luò)用戶的上網(wǎng)體驗, 本文使用高斯過程回歸對網(wǎng)絡(luò)流量情況進行建模, 通過蟻群算法優(yōu)化模型參數(shù), 提出增加螞蟻的視線角度參數(shù)擴寬了螞蟻搜索的路徑, 降低了隨機性, 提高了局部搜索能力; 萊維飛行機制的跳躍性不斷跳出局部最優(yōu), 提高了算法搜索的全局性。結(jié)果表明, 基于LMD的VACO優(yōu)化的GPR算法提高了預(yù)測的準確性, 對維護網(wǎng)絡(luò)安全具有重要的作用。下一步工作將尋找更好的特征分解方法, 使其網(wǎng)絡(luò)流量能夠徹底分解, 進而對其進行預(yù)測。3 基于LMD改進蟻群優(yōu)化的GPR網(wǎng)絡(luò)流量預(yù)測
4 實驗設(shè)計和分析
4.1 實驗數(shù)據(jù)和指標
4.2 實驗對比和分析
5 結(jié)束語