高佰宏,劉朝暉,劉 華
(1.南華大學(xué)計(jì)算機(jī)學(xué)院,湖南 衡陽(yáng) 421000; 2.南華大學(xué)電氣工程學(xué)院,湖南 衡陽(yáng) 421000)
隨著通信技術(shù)的發(fā)展,網(wǎng)絡(luò)規(guī)模和吞吐量急劇擴(kuò)大,網(wǎng)絡(luò)結(jié)構(gòu)日益復(fù)雜,網(wǎng)絡(luò)性能和服務(wù)質(zhì)量問(wèn)題日益突出,這給網(wǎng)絡(luò)安全防御、網(wǎng)絡(luò)故障修復(fù)以及網(wǎng)絡(luò)資源分配規(guī)劃的工作帶來(lái)巨大的挑戰(zhàn)。因此,準(zhǔn)確地預(yù)測(cè)網(wǎng)絡(luò)流量,掌握網(wǎng)絡(luò)流量的變化規(guī)律,對(duì)網(wǎng)絡(luò)安全態(tài)勢(shì)變化趨向的把握,降低網(wǎng)絡(luò)擁塞中的信息丟失和延遲,以及充分利用網(wǎng)絡(luò)資源和提高服務(wù)質(zhì)量,具有重要的意義[1]
網(wǎng)絡(luò)流量預(yù)測(cè)主要根據(jù)流量的統(tǒng)計(jì)特征以及它們?cè)跁r(shí)間序列值之間呈現(xiàn)出強(qiáng)相關(guān)性的特點(diǎn)進(jìn)行預(yù)測(cè)。根據(jù)應(yīng)用場(chǎng)合不同,網(wǎng)絡(luò)流量預(yù)測(cè)一般又可分為短期預(yù)測(cè)、中期預(yù)測(cè)及長(zhǎng)期預(yù)測(cè)[2],相對(duì)中長(zhǎng)期預(yù)測(cè),短期預(yù)測(cè)更具挑戰(zhàn)和研究?jī)r(jià)值[3]。
網(wǎng)絡(luò)流量預(yù)測(cè)一直是網(wǎng)絡(luò)領(lǐng)域的經(jīng)典問(wèn)題,過(guò)去提出了許多網(wǎng)絡(luò)流量預(yù)測(cè)的方法,這些預(yù)測(cè)方法按流量時(shí)序特征的平穩(wěn)性劃分成線性預(yù)測(cè)(平穩(wěn))方法和非線性預(yù)測(cè)(非平穩(wěn))方法。傳統(tǒng)線性預(yù)測(cè)模型主要有自回歸模型(AR)、移動(dòng)平均模型(MA)、自回歸移動(dòng)平均模型(ARMA)、自回歸合成移動(dòng)平均模型(ARIMA)及差分自回歸求和滑動(dòng)平均模型[4]。這些線性模型針對(duì)小規(guī)模的稀疏網(wǎng)絡(luò)流量預(yù)測(cè)具有很好的效果,但是,隨著網(wǎng)絡(luò)的復(fù)雜化和動(dòng)態(tài)化,網(wǎng)絡(luò)流量特性已偏離了相關(guān)學(xué)者早期認(rèn)為的線性模型如高斯分布、泊松分布等[5],以上傳統(tǒng)的線性預(yù)測(cè)模型已經(jīng)不能描述日益復(fù)雜的非線性的網(wǎng)絡(luò)業(yè)務(wù)。
網(wǎng)絡(luò)流量預(yù)測(cè)模型在較長(zhǎng)時(shí)間內(nèi)具有明顯的非線性、多重分形性和突發(fā)性等特點(diǎn),很多可以刻畫(huà)上述特性的非線性模型被不斷提出,現(xiàn)主要有灰色理論模型(Grey Theory, GT)、支持向量機(jī)(SVM)模型、混沌理論模型,以及人工神經(jīng)網(wǎng)絡(luò)(ANN)模型等。其中GT模型所需樣本少,預(yù)測(cè)精度高,但是缺乏并行計(jì)算能力,且系統(tǒng)稍微變化可能導(dǎo)致計(jì)算結(jié)果出現(xiàn)較大的誤差[6];SVM很好地解決了小樣本的學(xué)習(xí)問(wèn)題,具有很好的泛化能力,但是由于缺乏結(jié)構(gòu)化的方法確定模型中的一些關(guān)鍵參數(shù),對(duì)模型的確定會(huì)產(chǎn)生一定影響[7];混沌理論模型主要用于分析網(wǎng)絡(luò)流量的自相似特性,主要分為全局法和局域法,全局法目前還在理論層面,局域法計(jì)算量小且對(duì)實(shí)際變化有很強(qiáng)的適應(yīng)能力,但在計(jì)算方面要用到較多的存儲(chǔ)空間,另外在求解模型參數(shù)和持續(xù)構(gòu)造臨近狀態(tài)向量的過(guò)程中還需花很多的計(jì)算時(shí)間[4];ANN模型有著自學(xué)習(xí)、自組織、并行計(jì)算能力強(qiáng)、容錯(cuò)性強(qiáng)等優(yōu)點(diǎn),可以很好地描述非線性特性,雖然存在著調(diào)參問(wèn)題,但是,相比其他模型而言,有很大優(yōu)勢(shì)。近幾年來(lái),ANN模型已在網(wǎng)絡(luò)流量領(lǐng)域引起了廣泛關(guān)注和應(yīng)用,常見(jiàn)ANN模型主要包括堆疊式自編碼器(Stacked Auto-Encoder, SAE)、反向傳播(Back Propagation, BP)神經(jīng)網(wǎng)絡(luò)、深度置信網(wǎng)絡(luò)(Deep Belief Networks, DBN)、卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)以及循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)等[8]。
RNN是一種引入了循環(huán)反饋機(jī)制的深層神經(jīng)網(wǎng)絡(luò),能夠考慮數(shù)據(jù)間的時(shí)序相關(guān)性,在學(xué)習(xí)具有長(zhǎng)期依賴的時(shí)序數(shù)據(jù)上表現(xiàn)出更強(qiáng)的實(shí)用性[9]。長(zhǎng)短期記憶(Long Short-Term Memory, LSTM)循環(huán)神經(jīng)網(wǎng)絡(luò)是RNN的一種特殊模型,由于其能夠處理時(shí)間序列之間的長(zhǎng)短期依賴關(guān)系,有效地解決了常規(guī)RNN訓(xùn)練過(guò)程中的梯度消失和梯度爆炸問(wèn)題,現(xiàn)已有不少文獻(xiàn)將LSTM模型應(yīng)用到網(wǎng)絡(luò)流量預(yù)測(cè)中,該模型已成為主流的網(wǎng)絡(luò)流量預(yù)測(cè)模型之一[10-11]。但是,LSTM模型被應(yīng)用到大規(guī)模網(wǎng)絡(luò)中時(shí),計(jì)算成本相當(dāng)大,這在具有嚴(yán)格等待時(shí)間要求的任務(wù)中是不能容忍的,對(duì)網(wǎng)絡(luò)流量進(jìn)行實(shí)時(shí)精確的預(yù)測(cè)仍存在一定的挑戰(zhàn)[12]。門(mén)控循環(huán)單元(Gated Recurrent Unit, GRU)是LSTM的一種簡(jiǎn)化,在保證預(yù)測(cè)精度的同時(shí),具有結(jié)構(gòu)簡(jiǎn)單、參數(shù)少、訓(xùn)練時(shí)間少等優(yōu)點(diǎn)[13]。
與LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)一樣,GRU循環(huán)神經(jīng)網(wǎng)絡(luò)在進(jìn)行網(wǎng)絡(luò)參數(shù)確定時(shí)采用的是反向誤差傳播(Back Propagation Through Time, BPTT)算法,該算法復(fù)雜度非常高,并且容易收斂于局部最優(yōu)解。
基于正余弦的群優(yōu)化(SCSO)算法[14]是一種新型的元啟發(fā)式算法,它是基于正余弦算法改進(jìn)的自組織和群智能的數(shù)值優(yōu)化算法。首先,該算法在搜索空間中隨機(jī)生成一定個(gè)體維度和種群規(guī)模的粒子群;然后,通過(guò)目標(biāo)函數(shù)計(jì)算每一維度內(nèi)的每個(gè)粒子個(gè)體適應(yīng)度值,通過(guò)比較得到粒子最優(yōu)值pbest,并且更新基于正余弦的粒子更新方程;最后,比較個(gè)體最優(yōu)值找出全體最優(yōu)值。該算法的優(yōu)勢(shì)在于結(jié)構(gòu)簡(jiǎn)單、參數(shù)少且非常易于實(shí)現(xiàn)[15-16]。為解決網(wǎng)絡(luò)流量預(yù)測(cè)中GRU模型參數(shù)優(yōu)化問(wèn)題,本文在GRU模型中引入了SCSO算法,提出一種SCSO-GRU模型。該模型通過(guò)SCSO算法確定模型的最優(yōu)參數(shù),提高模型的預(yù)測(cè)準(zhǔn)確率和訓(xùn)練速度。本文采用The UCI Network Data Repository真實(shí)數(shù)據(jù)集來(lái)驗(yàn)證SCSO-GRU模型的預(yù)測(cè)性能,并與LSTM和GRU模型進(jìn)行比較。結(jié)果表明SCSO-GRU模型不管在預(yù)測(cè)精度方面還是收斂速度方面都優(yōu)于LSTM和GRU模型。
傳統(tǒng)的RNN網(wǎng)絡(luò),由于存在梯度消失現(xiàn)象,所以在實(shí)際中很難解決長(zhǎng)期依賴問(wèn)題,使得訓(xùn)練RNN變得相當(dāng)困難[17]。為了解決這個(gè)問(wèn)題,LSTM和GRU在隱藏層中引入了“記憶細(xì)胞”結(jié)構(gòu),使用不同的函數(shù)計(jì)算隱藏層的狀態(tài)。LSTM的“記憶細(xì)胞”由輸入門(mén)、遺忘門(mén)和輸出門(mén)3個(gè)門(mén)構(gòu)成,而GRU“記憶細(xì)胞”只由更新門(mén)和復(fù)位門(mén)組成,其訓(xùn)練參數(shù)更少。文獻(xiàn)[18-19]驗(yàn)證了GRU在減少參數(shù)個(gè)數(shù)的同時(shí),性能比LSTM更優(yōu)。
GRU單元的數(shù)據(jù)流及操作如圖1所示,更新門(mén)zt定義了上一時(shí)間步記憶保存到當(dāng)前時(shí)間步的量,當(dāng)取值越大時(shí),表示當(dāng)前神經(jīng)元要保留的信息越多,而上一個(gè)神經(jīng)元要保留的信息越少;復(fù)位門(mén)rt決定了如何將新的輸入信息與上一時(shí)間步的記憶相結(jié)合,當(dāng)式(2)取值為0時(shí),表示要拋棄神經(jīng)元傳來(lái)的信息,即只要當(dāng)前神經(jīng)元的輸入作為輸入,這樣就可以使當(dāng)前的神經(jīng)元拋棄一些上一時(shí)間步神經(jīng)元的無(wú)用信息。
圖1 GRU“記憶細(xì)胞”結(jié)構(gòu)
GRU模型具體的計(jì)算公式如下:
zt=σ(Wz[ht-1,xt]+bz)
(1)
rt=σ(Wr[ht-1,xt]+br)
(2)
(3)
(4)
yt=σ(Wyht)
(5)
GRU神經(jīng)網(wǎng)絡(luò)的訓(xùn)練采用BPTT算法,其原理和BP算法原理類似,只是多考慮了誤差項(xiàng)沿時(shí)間的反向傳遞。BPTT算法中目標(biāo)函數(shù)的最優(yōu)解是通過(guò)梯度下降(Gradient Descent, GD)算法得到的。在訓(xùn)練過(guò)程中,誤差項(xiàng)將向上一個(gè)狀態(tài)逐層傳遞,幾乎不存在衰減。很長(zhǎng)時(shí)間之前的狀態(tài)和結(jié)尾狀態(tài)都會(huì)影響各層權(quán)重的調(diào)整,最終訓(xùn)練出來(lái)的模型就具有較長(zhǎng)時(shí)間范圍內(nèi)的記憶功能。然而,BPTT中的GD算法對(duì)優(yōu)化函數(shù)和約束條件具有嚴(yán)格的連續(xù)性和可導(dǎo)性要求,在復(fù)雜的優(yōu)化環(huán)境中計(jì)算復(fù)雜度高,收斂速度較慢且可能收斂于局部最優(yōu)值[8]。
近年來(lái)出現(xiàn)的群體優(yōu)化算法很多,鑒于SCA算法容易實(shí)現(xiàn)、可調(diào)節(jié)參數(shù)少,以及具有相當(dāng)快的逼近全局最優(yōu)解的速度,該算法目前已被成功應(yīng)用于函數(shù)優(yōu)化和系統(tǒng)參數(shù)優(yōu)化,并且在實(shí)際應(yīng)用方面,正余弦算法很好地解決了優(yōu)化飛機(jī)機(jī)翼翼型設(shè)計(jì)[20]這一具有挑戰(zhàn)性的問(wèn)題??紤]到SCA算法的上述優(yōu)點(diǎn),本文引入改進(jìn)的SCA算法(SCSO算法),以此來(lái)提高GRU神經(jīng)網(wǎng)絡(luò)模型的預(yù)測(cè)精度,降低計(jì)算復(fù)雜度,提高效率,通過(guò)找到最佳粒子實(shí)現(xiàn)對(duì)預(yù)測(cè)模型參數(shù)的優(yōu)化。
(6)
在每次迭代中,第i個(gè)個(gè)體的位置按式(7)的更新方程進(jìn)行更新:
(7)
(8)
(9)
與SCA算法一樣,SCSO算法由初始值生成、局部最優(yōu)選擇、粒子更新和最優(yōu)值選擇組成。首先,在搜索空間中隨機(jī)生成粒子。然后,通過(guò)目標(biāo)函數(shù)計(jì)算個(gè)體最優(yōu)值pbest,并且更新基于正余弦的粒子更新方程。在SCSO算法中,gbest粒子用于搜索全局最優(yōu)。性能方面,SCSO算法與SCA算法及其他群優(yōu)化算法相比,具有更高的最小化能力,并在數(shù)值函數(shù)優(yōu)化方面取得了成功[14]。該算法步驟如下:
Step1在搜索空間中隨機(jī)生成初始粒子:
Step2使用目標(biāo)函數(shù)評(píng)估每個(gè)粒子,并計(jì)算個(gè)體最優(yōu)值pbest。
Step3隨機(jī)生成r。r的范圍是[0,1]。
Step4由式(8)計(jì)算粒子位置。
Step5使用式(9)更新所有粒子的位置。
Step6使用目標(biāo)函數(shù)評(píng)估所有更新的粒子。
Step7如果粒子超過(guò)下限或上限,則在下限和上限范圍內(nèi)隨機(jī)生成新粒子。
Step8更新pbest。比較粒子適用值(位置)與它的個(gè)體最優(yōu)值pbest,如果優(yōu)于pbest,則其pbest位置就是當(dāng)前粒子位置。
Step9更新gbest。比較粒子適用值(位置)與群體全局最優(yōu)值gbest,如果目前值好于gbest,則設(shè)置gbest位置為當(dāng)前粒子位置。
Step10重復(fù)Step4~Step9,直到找到最終的全局最優(yōu)值或達(dá)到最大迭代次數(shù)。
圖2 SCSO-GRU模型架構(gòu)
SCSO算法優(yōu)化過(guò)程可看作一個(gè)時(shí)變動(dòng)態(tài)系統(tǒng),迭代次數(shù)看作為離散的時(shí)間值,系統(tǒng)狀態(tài)可視為每次迭代的最優(yōu)解。訓(xùn)練之前需要確定測(cè)量方程、更新方程和初始狀態(tài)。GRU預(yù)測(cè)模型的目標(biāo)是使模型的預(yù)測(cè)值與實(shí)際值的誤差盡可能小,也就是使其目標(biāo)函數(shù)最小化,如式(10):
(10)
其中,y′t為實(shí)際值,yt為系統(tǒng)的輸出值,T為時(shí)間序列的長(zhǎng)度。
目標(biāo)函數(shù)即測(cè)量方程,更新方程由式(1)~式(5)組成。在測(cè)量方程、系統(tǒng)更新方程以及初始狀態(tài)都已知的情況下,SCSO算法可求出系統(tǒng)狀態(tài)最優(yōu)解?;赟CSO算法的GRU神經(jīng)網(wǎng)絡(luò)參數(shù)優(yōu)化的步驟如下:
1)系統(tǒng)狀態(tài)初始化。根據(jù)GRU的參數(shù)和式(1)~式(5)計(jì)算GRU的輸出值y。以誤差范圍確定系統(tǒng)初始狀態(tài)的定義域(搜索空間)作為系統(tǒng)的約束條件(即粒子位置的上下邊界)。在其定義域內(nèi)隨機(jī)生成種群的方式進(jìn)行初始化。令粒子總數(shù)為pn,迭代總數(shù)為MI。
2)計(jì)算初始狀態(tài)個(gè)體和群體最優(yōu)解。使用測(cè)量方程式(10)評(píng)估種群中的每個(gè)粒子,從中選擇最優(yōu)的粒子作為群體最優(yōu)粒子,同時(shí)記錄對(duì)應(yīng)的最優(yōu)y值。
3)更新個(gè)體和群體最佳粒子。由粒子更新公式(10)對(duì)個(gè)體最優(yōu)粒子進(jìn)行更新(若某個(gè)粒子不滿足約束條件,則約束條件下隨機(jī)生成新粒子),使用測(cè)量方程評(píng)估所有更新的粒子,通過(guò)比較選出本次迭代的群體最優(yōu)粒子,并將其與上次迭代的群體最優(yōu)粒子進(jìn)行對(duì)比,將更優(yōu)的粒子和對(duì)應(yīng)更優(yōu)的y保存下來(lái)。
4)根據(jù)迭代次數(shù)k判斷算法是否滿足終止條件,如果不滿足終止條件,則重新返回到步驟3。
5)算法終止。返回群體最優(yōu)的粒子和系統(tǒng)的輸出值y。
本文在Windows 10系統(tǒng)環(huán)境下,使用Python 3.7和Keras深度學(xué)習(xí)框架搭建一個(gè)GRU循環(huán)神經(jīng)網(wǎng)絡(luò)模型。設(shè)計(jì)的GRU網(wǎng)絡(luò)結(jié)構(gòu)由1個(gè)輸入層、1個(gè)隱藏層和1個(gè)輸出層組成。結(jié)合圖3可知,其具體的預(yù)測(cè)步驟如下:
1)數(shù)據(jù)預(yù)處理和樣本劃分。通過(guò)對(duì)流量樣本數(shù)據(jù)進(jìn)行最小值最大值標(biāo)準(zhǔn)化(歸一化)處理,使樣本數(shù)據(jù)處于[0,1]。這樣處理可對(duì)方差非常小的屬性增強(qiáng)其穩(wěn)定性,也可維持稀疏矩陣中0的條目,樣本數(shù)據(jù)標(biāo)準(zhǔn)化處理如式(11):
(11)
其中,Xmax與Xmin分別表示樣本數(shù)據(jù)中的最大值和最小值。
將經(jīng)過(guò)處理之后數(shù)據(jù)的90%組數(shù)據(jù)作為訓(xùn)練集,用于GRU神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練,余下的10%組數(shù)據(jù)作為測(cè)試集。
圖3 SCSO-GRU網(wǎng)絡(luò)流量預(yù)測(cè)模型
2)確定GRU網(wǎng)絡(luò)的輸入層單元個(gè)數(shù)m,輸出層單元個(gè)數(shù)n和隱藏層單元個(gè)數(shù)l及隱藏層參數(shù)。將每批m個(gè)變量作為網(wǎng)絡(luò)輸入X={xi|i=1,2,…,m},n個(gè)變量作為輸出Y={yi|i=1,2,…,n},隱藏層單元個(gè)數(shù)通過(guò)多次試探實(shí)驗(yàn)來(lái)決定。本實(shí)驗(yàn)中設(shè)m=24、n=1,即通過(guò)每批24 h的網(wǎng)絡(luò)流量數(shù)據(jù)預(yù)測(cè)未來(lái)1 h的網(wǎng)絡(luò)流量值。
3)模型訓(xùn)練過(guò)程參數(shù)設(shè)定。訓(xùn)練過(guò)程參數(shù)主要有batchsize(批處理大小)、iteration(迭代次數(shù))和epoch。其中,batchsize為一次訓(xùn)練所選取的樣本數(shù),其大小影響模型的優(yōu)化程度和速度;iteration即iter,一次iteration是batchsize個(gè)訓(xùn)練數(shù)據(jù)前向傳播和反向傳播后更新參數(shù)的過(guò)程,設(shè)定為500次;epoch是指所有訓(xùn)練數(shù)據(jù)前向傳播和反向傳播后更新參數(shù)的過(guò)程,即所有數(shù)據(jù)集訓(xùn)練一遍。除iteration參數(shù)外,其他參數(shù)通過(guò)SCSO算法確定,使模型收斂于全局最優(yōu)。
4)網(wǎng)絡(luò)流量預(yù)測(cè)。使用訓(xùn)練好的GRU模型對(duì)測(cè)試集數(shù)據(jù)進(jìn)行預(yù)測(cè)。
5)預(yù)測(cè)模型誤差判定。對(duì)于網(wǎng)絡(luò)模型預(yù)測(cè)結(jié)果,先進(jìn)行反歸一化處理還原流量數(shù)據(jù)形式,對(duì)比測(cè)試集真實(shí)結(jié)果,再采用3種誤差分析方法驗(yàn)證其預(yù)測(cè)精度,即均方根誤差(Root Mean Square Error, RMSE),平均絕對(duì)誤差(Mean Absolute Error, MAE)和對(duì)稱平均絕對(duì)百分比誤差(Symmetric Mean Absolute Percentage Error, SMAPE)。其計(jì)算公式如下:
(12)
(13)
(14)
其中,y′i為序列樣本的實(shí)際值,yi為預(yù)測(cè)值,n為樣本總數(shù)。
本文通過(guò)來(lái)自The UCI Network Data Repository的真實(shí)數(shù)據(jù)集訓(xùn)練SCSO-GRU模型并驗(yàn)證其預(yù)測(cè)性能,該數(shù)據(jù)集是英國(guó)學(xué)術(shù)網(wǎng)絡(luò)主干中的聚合流量,統(tǒng)計(jì)了2013年11月9日早上9點(diǎn)半-2014年5月20日下午4點(diǎn)半之間每小時(shí)的網(wǎng)絡(luò)流量,共計(jì)得到1657個(gè)樣本。選擇前90%的樣本作為訓(xùn)練集,構(gòu)建網(wǎng)絡(luò)流量學(xué)習(xí)模型,后10%的樣本作為測(cè)試集分析模型的性能,從預(yù)測(cè)精度和算法收斂效率2個(gè)方面驗(yàn)證其性能。
1)預(yù)測(cè)精度。如圖4所示,將采用傳統(tǒng)的BPTT算法訓(xùn)練的LSTM和GRU網(wǎng)絡(luò)模型與本文提出的SCSO-GRU網(wǎng)絡(luò)模型對(duì)網(wǎng)絡(luò)流量值的預(yù)測(cè)結(jié)果曲線圖進(jìn)行對(duì)比。從該圖可看出,傳統(tǒng)的LSTM模型預(yù)測(cè)曲線雖然能反映網(wǎng)絡(luò)流量的變化趨勢(shì),但是與真實(shí)值曲線擬合得不太理想;GRU模型相比LSTM模型精度有所提升,但在極值處的預(yù)測(cè)效果還是比較差;雖然SCSO-GRU對(duì)凹凸點(diǎn)的預(yù)測(cè)也不太準(zhǔn)確,但比前2種模型的預(yù)測(cè)效果好很多,它能更好地跟蹤網(wǎng)絡(luò)流量的變化趨勢(shì),實(shí)現(xiàn)了更精確的預(yù)測(cè)。
圖4 SCSO-GRU網(wǎng)絡(luò)流量預(yù)測(cè)模型
為進(jìn)一步比較LSTM、GRU和SCSO-GRU這3種模型的預(yù)測(cè)效果,表1計(jì)算出了這3種模型的平均預(yù)測(cè)誤差。RMSE、MAE和SMAPE。從表中可以看出,SCSO-GRU模型的預(yù)測(cè)結(jié)果誤差小,可判定其預(yù)測(cè)值要明顯優(yōu)于傳統(tǒng)的LSTM和GRU模型。從SMAPE的角度進(jìn)行評(píng)價(jià),傳統(tǒng)的LSTM的結(jié)果為0.0585,GRU的結(jié)果為0.0459,GRU優(yōu)于LSTM,而SCSO-GRU模型的結(jié)果為0.0307,優(yōu)于LSTM和GRU的預(yù)測(cè)誤差。
表1 幾種預(yù)測(cè)誤差對(duì)比
2)收斂效率。實(shí)驗(yàn)結(jié)果如圖5所示,從最終的平均絕對(duì)誤差上分析,GRU、SCSO-GRU模型的穩(wěn)態(tài)相對(duì)誤差均低于LSTM模型,說(shuō)明前兩者在預(yù)測(cè)精度方面要優(yōu)于后者。從收斂速度方面考慮SCSO-GRU模型的誤差收斂速度最快,其初始誤差要明顯小于其他2種模型,在經(jīng)過(guò)將近100次的迭代之后,就能收斂于最優(yōu)的誤差值,而LSTM模型和GRU模型分別要到第450次迭代和第300次迭代之后平均絕對(duì)誤差曲線才趨于平穩(wěn)。因此SCSO-GRU模型可收斂到更小的穩(wěn)態(tài)誤差值,且收斂速度最快,具有更高的效率。
圖5 3種不同模型在訓(xùn)練數(shù)據(jù)集上的誤差收斂曲線圖
網(wǎng)絡(luò)流量時(shí)序數(shù)據(jù)具有復(fù)雜突變的特性,使用GRU神經(jīng)網(wǎng)絡(luò)進(jìn)行時(shí)間序列預(yù)測(cè)可以得到較理想的效果。但傳統(tǒng)GRU模型在進(jìn)行訓(xùn)練時(shí),其采用的BPTT算法易收斂于局部最優(yōu)值,預(yù)測(cè)效果還不理想。本文使用了更加簡(jiǎn)化易于實(shí)現(xiàn)的基于正余弦的群優(yōu)化算法(SCSO)優(yōu)化GRU神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)流量預(yù)測(cè)模型(SCSO-GRU)。對(duì)GRU網(wǎng)絡(luò)進(jìn)行學(xué)習(xí)訓(xùn)練,并使用SCSO算法優(yōu)化模型參數(shù),用于網(wǎng)絡(luò)流量的預(yù)測(cè)。實(shí)驗(yàn)結(jié)果表明,SCSO-GRU預(yù)測(cè)模型具有較好的預(yù)測(cè)精度,可以準(zhǔn)確地把握網(wǎng)絡(luò)流量的變化趨勢(shì),而且還有良好的收斂效率。若把該模型應(yīng)用到網(wǎng)絡(luò)流量管理與規(guī)劃中,將有助于降低網(wǎng)絡(luò)流量擁塞的頻率,提高網(wǎng)絡(luò)資源的利用率。