王柯
湖南城建職業(yè)技術(shù)學(xué)院,湖南 湘潭 411101
隨著網(wǎng)絡(luò)規(guī)模的急劇增加,網(wǎng)絡(luò)信息流量呈現(xiàn)指數(shù)級增加,給網(wǎng)絡(luò)管理帶來嚴(yán)峻挑戰(zhàn),對網(wǎng)絡(luò)流量進行高精度預(yù)測對網(wǎng)絡(luò)管理和規(guī)劃具有重要的實際價值和理論意義。傳統(tǒng)流量預(yù)測方法主要集中在回歸分析法[1]、時間序列法[2]、神經(jīng)網(wǎng)絡(luò)[3]和支持向量機[4]等。由于網(wǎng)絡(luò)數(shù)據(jù)的復(fù)雜性和不確定性,傳統(tǒng)的方法存在一定局限性,存在預(yù)測誤差大和預(yù)測存在滯后性的問題,針對網(wǎng)絡(luò)流量數(shù)據(jù),本文將云計算和極限學(xué)習(xí)機相結(jié)合,提出一種基于云計算和極限學(xué)習(xí)機的網(wǎng)絡(luò)流量預(yù)測方法。研究結(jié)果表明,本文方法可以有效提高網(wǎng)絡(luò)流量預(yù)測的精度,為網(wǎng)絡(luò)流量預(yù)測提供新的方法和決策依據(jù)。
Hadoop云計算平臺是由Apache基金會開發(fā)的開源軟件工程,其由MapReduce框架和分布式文件系統(tǒng)組成。MapReduce是一個程序模型,可以用來在集群中處理海量數(shù)據(jù)集,適合解決分布式存儲問題、運算問題。MapReduce框架可以被抽象為兩個函數(shù),分別為Map和Reduce函數(shù),這兩個函數(shù)可以由用戶編寫完成。MapReduce模型的運行機制如圖1所示,具體流程如下:
圖1 MapReduce運行機制Fig.1 Operation mechanism of MapReduce
(1)Input。讀取分布式文件系統(tǒng)中的輸入數(shù)據(jù),將數(shù)據(jù)切分為數(shù)據(jù)片。MapReduce框架中每一個Map函數(shù)可以分配一個數(shù)據(jù)片;
(2)Map。將數(shù)據(jù)片當(dāng)作一組鍵值對,根據(jù)Map函數(shù)程序邏輯,運行、處理MapReduce框架分配的鍵值對,最后產(chǎn)生新的中間鍵值對;
(3)Shuffle。該階段將中間鍵值對從Map節(jié)點轉(zhuǎn)移到Reduce節(jié)點中,同時合并相同的中間鍵值對,形成中間鍵鏈和鍵值排序等工作;
(4)Reduce。執(zhí)行Reduce函數(shù);
(5)Output。輸出Reduce函數(shù)的處理結(jié)果,將結(jié)果保存在指定的分布式文件系統(tǒng)中。
極限學(xué)習(xí)機[5](Extreme Learning Machine,ELM)是在Moore-Penrose矩陣?yán)碚摶A(chǔ)上所提出的一種新型的單隱含層前饋神經(jīng)網(wǎng)絡(luò)(Single-hidden Layer Feed-forward Neural Networks,SLFNs),其結(jié)構(gòu)模型圖如圖2所示。
圖2 ELM結(jié)構(gòu)模型圖Fig.2 ELM structural model
對于N個不同樣本(xi,ti),其中,隱含層神經(jīng)元個數(shù)為,激勵函數(shù)為g(x)的SLFN的數(shù)學(xué)模型可表示為[6]:
其中,αi=[αi1,αi2,…,αin]T、βi=[βi1,βi2,…,βim]T和bi分別表示第i個隱含層神經(jīng)元的輸入權(quán)值、輸出權(quán)值和偏置;ai·xj表示ai和xj的內(nèi)積。公式(1)可表示為矩陣形式:
其中:
求解該問題是在保證期望值與實際值之間的誤差平方和E(W)最小的前提下,尋找最優(yōu)的權(quán)值W=(a,b,β)使代價函數(shù)E(W)最小的過程,其數(shù)學(xué)模型為[7]:
其中,εj=[εj1,εj2,…,εjm]表示第j個樣本的誤差。
隨著網(wǎng)絡(luò)規(guī)模的急劇增加,網(wǎng)絡(luò)信息流量呈現(xiàn)指數(shù)級增加,給網(wǎng)絡(luò)管理帶來嚴(yán)峻挑戰(zhàn),對網(wǎng)絡(luò)流量進行高精度預(yù)測對網(wǎng)絡(luò)管理和規(guī)劃具有重要的實際價值和理論意義。將云計算和極限學(xué)習(xí)機結(jié)合,利用MapReduce框架,將網(wǎng)絡(luò)流量數(shù)據(jù)進行切片處理,之后再切片處理的基礎(chǔ)上,利用ELM極限學(xué)習(xí)機進行分布式并行處理實現(xiàn)網(wǎng)絡(luò)流量的高精度預(yù)測。通過Map和Reduce函數(shù)實現(xiàn)并行化設(shè)計和計算,基于MapReduce的分布式MR-ELM的網(wǎng)絡(luò)流量預(yù)測過程如下:
(1)讀取云計算平臺分布式文件系統(tǒng)中的網(wǎng)絡(luò)流量數(shù)據(jù)訓(xùn)練集,通過MapReduce框架的底層機制,實現(xiàn)網(wǎng)絡(luò)流量數(shù)據(jù)訓(xùn)練集的分割,獲取k個不同的網(wǎng)絡(luò)流量數(shù)據(jù)訓(xùn)練子集,其中k表示并行Map的個數(shù);
(2)網(wǎng)絡(luò)流量數(shù)據(jù)的訓(xùn)練子集根據(jù)Map函數(shù)的程序邏輯運行,即ELM的訓(xùn)練算法邏輯,對網(wǎng)絡(luò)流量數(shù)據(jù)的訓(xùn)練集并行訓(xùn)練,也就是k個不同的ELM;
(3)將k個不同ELM網(wǎng)絡(luò)流量預(yù)測結(jié)果,通過MapReduce框架的Shuffle階段傳輸?shù)絉educe階段,在此基礎(chǔ)上,計算不同ELM預(yù)測結(jié)果的權(quán)重確定各Map操作輸出的網(wǎng)絡(luò)流量預(yù)測的權(quán)重,最后確定網(wǎng)絡(luò)流量預(yù)測結(jié)果。
本文實驗搭建的Hadoop平臺由32個節(jié)點構(gòu)成,每個節(jié)點電腦配置均為Intel(R)Core(TM)i5-24004-core,中央處理器CPU的主頻為2.60 GHz,內(nèi)存8 GB,云計算平臺如圖4所示。
圖3 基于云計算和ELM的預(yù)測流程圖Fig.3 Flow chart of ELM prediction on cloud computing
圖4 云計算平臺Fig.4 Platform of cloud computing
為了驗證MR_ELM進行網(wǎng)絡(luò)流量預(yù)測的有效性,選擇2018年4月15日-2018年4月25日11天的流量文庫流量數(shù)據(jù)為研究對象[8,9],其中每天每間隔1 h采集一點流量數(shù)據(jù),一共采集264組流量數(shù)據(jù),流量數(shù)據(jù)如圖5所示。
圖5 流量數(shù)據(jù)Fig.5 Traffic data
為評價訪問流量的預(yù)測結(jié)果,選擇MAE、RMSE和nRMSE作為流量預(yù)測的評價指標(biāo)[9-11]:
其中,Xi為模型的第i樣本點流量實際值,Xj為模型的第i樣本點流量預(yù)測值;為Xi的平均值;n表示樣本數(shù)量。
為了證明本文算法MR_ELM進行網(wǎng)絡(luò)流量預(yù)測的優(yōu)越性,將其與ELM、和LSSVM進行對比,對比結(jié)果如圖6~8所示和表1所示。
圖6 對比結(jié)果Fig.6 Comparative results
圖7 絕對誤差Fig.7Absolute error
圖8 相對誤差Fig.8 Relative error
表1 不同算法結(jié)果對比Table 1 Comparative results of different algorithms
結(jié)合圖6-圖8和表1不同算法進行網(wǎng)絡(luò)流量預(yù)測結(jié)果可知,在RMSE、MAE和nRMSE三個評價指標(biāo)上,與ELM和LSSVM相比較,MR-ELM具有更高的預(yù)測精度;其次,ELM的預(yù)測精度優(yōu)于LSSVM;最后,LSSVM的預(yù)測精度最差,RMSE、MAE和nRMSE分別比MR-ELM低0.5032、0.4421和5.1042%,通過對比可知,本文提出的算法MR-ELM可以有效提高網(wǎng)絡(luò)流量預(yù)測的精度,效果較好,為網(wǎng)絡(luò)流量預(yù)測提供新的方法和途徑。
針對傳統(tǒng)的流量預(yù)測算法存在精度低和誤差大的缺點,提出一種基于云計算和極限學(xué)習(xí)機的網(wǎng)絡(luò)流量預(yù)測算法。研究結(jié)果表明,本文提出的算法MR-ELM可以有效提高網(wǎng)絡(luò)流量預(yù)測的精度,效果較好,為網(wǎng)絡(luò)流量預(yù)測提供新的方法和途徑。