任師濤, 史志才, 吳 飛, 鐘亞洲, 陳珊珊, 陳計偉
(上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院,上海 201620)
路由器節(jié)能的方法有很多種,但一些方法可能會增加額外開銷?,F(xiàn)階段,很多研究都在尋求一種更加有效的流量預(yù)測方案,也提出了一些常用的預(yù)測方法。文獻[1]提出卡爾曼濾波模型是一個可以預(yù)測實時動態(tài)數(shù)據(jù)的模型,但路由器流量具有很大的有隨機性和突發(fā)性,模型量化能力差,并不是有效的網(wǎng)絡(luò)流量預(yù)測方法。文獻[2]提出反向傳播(back propagation,BP)神經(jīng)網(wǎng)絡(luò)模型能夠較好克服網(wǎng)絡(luò)流量的非線性和不確定性因素,但傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)并不能解決網(wǎng)絡(luò)流量的多尺度性和突發(fā)性,因此需要對傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)模型進行改進以提高預(yù)測精度[3~5]。
本文提出了一種加入學(xué)習(xí)率自適應(yīng)算法的BP神經(jīng)網(wǎng)絡(luò)流量預(yù)測方法,為一種非常智能且效率很高的路由器節(jié)能方法。該策略通過感知用戶的相關(guān)參數(shù),通過BP神經(jīng)網(wǎng)絡(luò)模型對參數(shù)進行預(yù)測處理,輸出的結(jié)果為路由器發(fā)射功率的調(diào)節(jié)提供依據(jù)[6~10]。本文進行大量實驗,并與其他方法詳細(xì)對比,結(jié)果表明:在加入學(xué)利率自適應(yīng)算法之后,BP神經(jīng)網(wǎng)絡(luò)在學(xué)習(xí)過程中誤差下降很快,且容易編程實現(xiàn),提高了BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度和預(yù)測精度。
網(wǎng)絡(luò)流量預(yù)測就是通過總結(jié)過去時間的流量特征,從而推算出未來時間點的流量特征。對模型的預(yù)測精度要求較高??梢杂萌缡?1)函數(shù)表示,一般原理如圖1所示。
(1)
圖1 網(wǎng)絡(luò)流量預(yù)測原理
1)輸入層節(jié)點數(shù)確定方法。主要根據(jù)數(shù)據(jù)流的維數(shù)決定輸入層的節(jié)點個數(shù)。選擇維數(shù)時,要根據(jù)所要描述的輸入流的特征是否吻合。在BP神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練之前,應(yīng)該輸入數(shù)據(jù)進行全面采集,并對比分析總結(jié)出代表性的特征。
2)隱含層節(jié)點數(shù)確定方法。需要通過大量的實驗,以估算出最佳的節(jié)點數(shù)目。
將采集的流量數(shù)據(jù)設(shè)為X(t),t=0,1,…N-1,N=24。將一維的流量數(shù)據(jù)重構(gòu)為多維的流量數(shù)據(jù),文中將采集到流量數(shù)據(jù)每24 h作為網(wǎng)絡(luò)的自變量,即輸入節(jié)點設(shè)定為24,當(dāng)前時段的流量數(shù)據(jù)作為唯一輸出。通過前24 h的流量數(shù)據(jù),來預(yù)測下一時刻的流量數(shù)據(jù),可獲得網(wǎng)絡(luò)的輸出詳情。BP神經(jīng)網(wǎng)絡(luò)的數(shù)學(xué)模型為式(2),基本結(jié)構(gòu)如圖2所示
(2)
式中xj(j=1,2,3,…,N)為神經(jīng)元的輸入信號;wij為連接權(quán)重;ui為輸入信號混合的輸出,也是神經(jīng)元i的純輸入;θi為神經(jīng)元的閾值;vi為經(jīng)閾值調(diào)整后的值,f(·)為神經(jīng)元的激活函數(shù)。
圖2 BP神經(jīng)網(wǎng)絡(luò)的神經(jīng)元結(jié)構(gòu)
擁有一個隱含層的前饋網(wǎng)絡(luò),可以實現(xiàn) BP 神經(jīng)網(wǎng)絡(luò)的基本功能。但過多隱含層個數(shù)會提高網(wǎng)絡(luò)的復(fù)雜度,使訓(xùn)練時間變長,效率變低。為提高誤差精度,可以通過增加隱含層的節(jié)點數(shù)目實現(xiàn)。
S型函數(shù)為包括域值在(0,1)區(qū)間的S函數(shù)和域值在(-1,1)的正切函數(shù)。函數(shù)表達式
f(x)=(1+e-αx)-1
(3)
假定初始權(quán)值在 [-0.5,0.5]和[-1,1]的區(qū)間內(nèi)取隨機數(shù)值,實驗發(fā)現(xiàn):如果初始權(quán)值選取過大,即各初始權(quán)值間的差別很大,在訓(xùn)練中權(quán)值的修正過程中容易產(chǎn)生突變現(xiàn)象。并且亦導(dǎo)致神經(jīng)元趨于飽和。所以最終訓(xùn)練權(quán)值在[-5,5]的范圍最佳。在網(wǎng)絡(luò)結(jié)構(gòu)學(xué)習(xí)率等因素一定的條件下,普遍認(rèn)為權(quán)值初始值的范圍應(yīng)該在 ±0.8左右。
學(xué)習(xí)率ε是決定權(quán)重調(diào)整量Δwij(n)大小的關(guān)鍵因素[11~13]。在學(xué)習(xí)過程中利用梯度下降法使權(quán)重沿誤差曲面的負(fù)梯度方向調(diào)整
(4)
為了探究學(xué)習(xí)率與網(wǎng)絡(luò)的收斂能力及訓(xùn)練速度之間的關(guān)系,取不同的學(xué)習(xí)率值,計算出相應(yīng)的學(xué)習(xí)時間,如圖3。
圖3 不同學(xué)習(xí)率對比
從圖中看出,如果學(xué)習(xí)率選取過小則網(wǎng)絡(luò)的收斂速度較差;學(xué)習(xí)率選取過大則會導(dǎo)致網(wǎng)絡(luò)不能收斂,發(fā)生振蕩的現(xiàn)象。因此,學(xué)習(xí)率取值范圍為[0.25,0.45]。
編寫相關(guān)程序定時獲取路由器的流量數(shù)據(jù),每隔1 h獲得一次流量,連續(xù)獲取30天,本文以收集到120個流量時間序列數(shù)據(jù)為例進行實驗處理。
在訓(xùn)練之前對流量數(shù)據(jù)進行歸一化處理,去除由數(shù)據(jù)差異引起的干擾。將所有的數(shù)據(jù)歸一到[0.1,0.9],即
(5)
將獲取數(shù)據(jù)分成兩部分,前100 h作為網(wǎng)絡(luò)訓(xùn)練樣本,后20 h作為網(wǎng)絡(luò)測試樣本,采用BP神經(jīng)網(wǎng)絡(luò)和改進的BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練樣本進行學(xué)習(xí),并對測試樣本進行預(yù)測。
圖4所示為通過采用改進BP神經(jīng)網(wǎng)絡(luò)和傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)對網(wǎng)絡(luò)流量預(yù)測的對比。從圖中可以看出:改進的BP神經(jīng)網(wǎng)絡(luò)模的預(yù)測結(jié)果較傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果精確度更高。改進BP神經(jīng)網(wǎng)絡(luò)的預(yù)測值和實際值的曲線比較吻合,雖然與實際值相比還是有略微的偏差,但與傳統(tǒng)的方法相比,訓(xùn)練速度更快,預(yù)測精度亦明顯提高,是一種很好的網(wǎng)絡(luò)流量預(yù)測模型。
圖4 實驗結(jié)果對比
本文提出改進的BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型,通過加入學(xué)利率自適應(yīng)算法使得模型對網(wǎng)絡(luò)流量預(yù)測的精度和速度都明顯提高,是一種值得深入研究的網(wǎng)絡(luò)流量預(yù)測方法。