智 春, 楊呈永, 崔建明
(桂林理工大學 a.信息科學與工程學院; b.現代教育技術中心; c.繼續教育學院, 廣西 桂林 541006)
大數據背景下, 用戶對網絡的要求越來越高, 網絡運行負荷和狀態直接影響到上網體驗。網絡流量作為網絡負荷狀態的重要參數, 其未來時間序列的網絡流量狀態將對用戶上網產生重要影響。
針對網絡流量的預測: Tian等[1]提出了一種基于改進的自由搜索算法優化最小二乘支持向量機的網絡流量預測方法, 該方法具有較好的預測效果, 預測誤差較小, 但增加了算法的時間復雜度; 龍震岳等[2]提出一種組合小波包分解(WPD)和灰狼橫縱多維混沌尋優算法(CCGWO)優化Elman神經網絡的短期網絡流量預測模型(WPD-CCGWO-ELMAN), 組合模型具有較好的預測精度和魯棒性, 但灰狼橫縱多維混沌尋優算法在尋找全局最優時所用時間太長, 計算量大; 此外, 還有基于ABC+AFS-LSSVM的網絡流量預測模型[3]、基于IWO-ESN的網絡流量研究[4]、混沌理論[5]等方法應用于網絡預測。同時, 優化參數的選擇對模型的預測效果有著重要的影響, 常見的優化算法有粒子群、蟻獅、差分等[6-8]優化算法。為解決行車路徑規劃問題, 文獻[9]提出一種混合遺傳蟻群算法來優化路徑的分配, 提高計算效率, 能夠準確的滿足路網綜合要求。為解決迭代后期出現的早熟收斂, 文獻[10]提出一種自適應混合粒子群優化算法, 使用差分策略更新粒子的隨機位置, 使得粒子逼近最優位置;文獻[11]利用模擬退火提高粒子群算法的全局性, 優化BP神經網絡的權值和閾值, 對實際采集的網絡流量時間序列進行建模, 具有更高的預測精度和良好的自適應性。
考慮到網絡流量的復雜性, 蟻群算法優化參數對預測模型容易陷入局部最優, 本文提出了一種改進蟻群算法, 來提高算法的搜索能力。首先通過局部均值分解(LMD)將網絡流量分成多個簡單的相關序列, 再使用高斯過程回歸(GPR)對多個相關序列進行建模分析,最后在蟻群中提出引入視線角度參數, 來擴寬螞蟻的視線范圍, 降低了搜索的隨機性, 同時, 利用萊維飛行機制更新螞蟻的步長, 使算法達到全局最優。
針對網絡流量在高斯過程回歸的應用作了許多研究: 李松等[12]提出將高斯過程混合模型(GPM)應用于網絡流量的多模態預測, 對樣本進行歸一化和重構, 采用分類迭代學習算法, 利用后驗概率最大化和似然函數對模型參數進行統計,再對統計的結果進行學習, 得到最適合模型的參數值,為網絡管理者分配資源提供參考;Bayati等[13]設計了一種考慮包括周期性、非線性和非平穩性等不同流量特征的有效預測模型, 通過為時間序列預測提出一個學習者集合, 該集合考慮了個體學習者的準確性以及學習結果的多樣性,每個學習者都通過在特征空間中尋找最優的精度多樣性平衡來優化,這種分而治之的方法避免了具有許多局部最優的復雜目標函數;Sun等[14]提出無限變分近似高斯過程用于流量的預測, 和Dirichlet結合根據數自動確定, 克服了單高斯過程模型計算復雜的不足, 驗證了該方法的有效性。
在數學定義上, 高斯分布是由均值和方差決定的。因此, 高斯過程模型的關鍵是對均值和方差的確定。給定一個數據集D{X,Y}, 將其根據具體的情況劃分為訓練集合{Xt,Yt}和測試集合{Xp,Yp}, 一般訓練集大小為數據的80%或70%, 測試集為20%或30%。假設噪聲服從0均值的高斯分布, 預測模型如下
y=f(x)+v;
(1)
(2)

cov(y*)=K(xp,xp)-K(xp,xt)[K(xt,xt)+
(3)
其中, cov(y*)是預測值的方差。
GPR的訓練過程是利用核函數的映射將數據映射到高維空間。核函數選擇徑向基核函數, 其表達式形具體為
(4)


(5)
(6)

螞蟻的信息素更新公式如下
(7)
其中:ρ為信息蒸發系數, 一般設置為[0.7,0.9]; 螞蟻搜索范圍為[-1,1]; 螞蟻數量通常為[10,50]。
經典蟻群算法在搜索時受到位置和速度的影響, 忽略了螞蟻本身觀察視線范圍的因素。由于搜索路徑的凹凸不平, 螞蟻的視線角度對當前路徑的搜索有一定的影響, 導致對局部搜索的不完整。同時, 由于搜索步長的因素, 造成蟻群算法容易陷入局部最優。本文一方面通過引入視線參數多方面控制螞蟻的搜索位置, 避免了單一因素對螞蟻位置的影響, 擴寬了螞蟻移動的視線范圍, 提高局部搜索能力; 另一方面通過萊維飛行更新步長, 避免陷入局部最優, 提高算法的全局效果。
改進的蟻群算法如下:

(8)
2)引入視角參數多變量控制螞蟻搜索位置的更新:
(9)

(10)

3)通過萊維飛行的跳躍性更新步長
(11)
其中: levy(λ)是隨機搜索路徑; ?是點乘;α為控制因子, 滿足萊維分布
levy~u=t-λ, 1≤λ≤3。
(12)
由于萊維飛行計算復雜, 采用Mantegna算法計算步長s
(13)


(14)
通常β取為1.5。算法的基本流程:
①設置初始參數, 包括螞蟻的數量N、所在的位置x、移動的次數nT、視角參數sj和區間范圍l等; ②對螞蟻的個體極值和全局極值初始化; ③計算相應的轉移概率, 如果P(i) VACO算法流程如圖1所示。 圖1 VACO算法流程圖 網絡流量往往受到多種因素的影響,如上網時間、節假日高峰、地區網速、網絡攻擊等。Sun等[16]將單任務學習和多任務學習分別用于單鏈路和多鏈路的流量預測,同時將圖像套索與神經網絡結合來解決涉及多變量的問題,提高了預測的精度。在此,將網絡流量看作一個復雜的非線性序列,基于將復雜問題分解成多個簡單問題的數學思想, 提出使用局部均值分解(local mean decomposition,LMD)將網絡流量分解成多個短相關序列,考慮到高斯過程回歸能夠很好地處理高維數、非線性的關系,并且具有容易實現、輸出具有概率意義的特點,本文使用GPR對相關短序列進行建模分析,用改進的蟻群算法優化模型參數。預測模型結構如圖2所示。 圖2 本文算法結構圖 通過收集某地區企業內部網絡新聞熱度的流量進行實驗, 數據采集間隔為1 h, 提取其中960個數據進行仿真分析, 通過對前一個月訪問產生的網絡流量的建模來預測后10天的網絡流量情況。網絡流量的原始數據X(t)和LMD分解的PF1、PF2、PF3、PF4和RES序列如圖3所示。 圖3 原始數據和LMD分解圖 為了驗證各算法的預測效果, 本文通過計算預測值和實際值的平均絕對誤差(MAE)、均方根誤差(RMSE)和平均絕對百分誤差(MAPE)來作為指標, 評價每個算法的預測效果: (15) (16) (17) 采用MATLAB進行仿真實驗, 針對研究問題, 將構造數據集的k設置為7, 螞蟻數量為10, 迭代次數為30, 使用GPR對PF1、PF2、PF3、PF4和RES進行建模預測。 由圖4a可看出, GPR對PF1突發點的預測效果并不理想; 從圖4b—e可以看出,GPR對PF2、PF3、PF4和RES的預測效果較好。因此, 為了進一步提高網絡流量的預測精度, 本文提出采用ACO優化GPR模型參數來預測PF1, 同時, 通過調整視線范圍和萊維飛行機制的跳躍性來改進ACO的搜索情況。 圖4 GPR對各分量突發點的預測 從圖5可看出, VACO算法在初始時下降范圍更大, 說明引入視線參數后, 螞蟻具備了更廣闊的視野, 找到了更好的搜索路徑; ACO算法在迭代6次后趨向于穩定, 而VACO在迭代6次之后還在不斷跳躍, 直到14次左右才趨向于穩定, 說明萊維飛行機制的隨機步長提高了螞蟻搜索的全局性, 能夠找到更優的解。同時, 從圖6和表1可以看出, VACO優化的GPR預測PF1更好地擬合了PF1的走向, 在MAE、RMSE、MAPE各方面, 相比GPR和ACO, VACO的誤差都有所降低, 提高了對PF1的預測精度。仿真結果表明, VACO算法相比ACO而言, 局部搜索能力更強, 同時, 在一定程度上避免陷入局部最優; 隨著迭代步數的增大, 蟻群算法將可能產生更多的跳躍性動作, 更加逼近最優解。 表1 各模型對PF1預測誤差對比 圖5 ACO和VACO的迭代軌跡 圖6 VACO對PF1的預測結果 從圖7對比可看出,經LMD分解,VACO優化GPR模型的預測較好地擬合了網絡流量的走向,能夠很好地預測突發點。從表2可看出, LMD-VACO-GPR在MAE、RMSE方面, 相比其GPR、LMD-GPR、ACO-GPR、VACO-GPR和VACO-GPR模型誤差更低, 具有更好的預測效果。在MAPE方面, LMD-VACO-GPR相對較大, 這可能是由于LMD對網絡流量序列的分解誤差導致。經過對比分析, 說明基于LMD的改進蟻群優化的GPR預測方法是有效的, 具有更高的預測精度, 能夠滿足預測的需要。 圖7 LMD-VACO-GPR的網絡流量預測結果 表2 各模型的網絡流量預測誤差對比 為了能更好地提升網絡用戶的上網體驗, 本文使用高斯過程回歸對網絡流量情況進行建模, 通過蟻群算法優化模型參數, 提出增加螞蟻的視線角度參數擴寬了螞蟻搜索的路徑, 降低了隨機性, 提高了局部搜索能力; 萊維飛行機制的跳躍性不斷跳出局部最優, 提高了算法搜索的全局性。結果表明, 基于LMD的VACO優化的GPR算法提高了預測的準確性, 對維護網絡安全具有重要的作用。下一步工作將尋找更好的特征分解方法, 使其網絡流量能夠徹底分解, 進而對其進行預測。
3 基于LMD改進蟻群優化的GPR網絡流量預測

4 實驗設計和分析
4.1 實驗數據和指標

4.2 實驗對比和分析






5 結束語