周 莉,劉 東,鄭曉亮
(安徽理工大學 電氣與信息工程學院,安徽 淮南 232001)
在某些賽事現場,為了防止因觀眾使用手機上網產生的網絡流量增多而導致網絡擁堵的情況發生,當流量數值達到限定值后就要對場館周圍的基站進行擴容或新建小型的移動基站[1-4]。手機產生的上網流量屬于網絡流量中的一種,網絡流量具有非線性、自相似性、長相關性和多分型等特性[5-7]。在對網絡流量的預測上,現有的預測模型主要分為線性和非線性兩種。線性模型的構建簡單、容易實現,但面對復雜的網絡流量數據,難以保證其預測精度。目前的研究結果表明,非線性模型在處理流量等復雜數據中得到較好的應用。常用的預測模型有:①采用分形自回歸積分滑動平均模型對網絡流量預測[8];②采用支持向量機(support vector machine,SVM)與其它算法的組合模型對網絡流量預測[9-11];③采用反向傳播(back propagation,BP)神經網絡對網絡流量預測[12]。以上的預測模型對數據之間的非線性關系捕捉不明顯且模型訓練時間較長,還容易導致模型陷入局部極值。
為了解決上述模型的不足,本文提出以深度極限學習機為基礎[13],使用粒子群算法優化它的各隱含層神經元節點數作為組合模型。這樣既能保證它在應對復雜問題上具有良好的準確度,也能減少模型的訓練時間。
在2004年,極限學習機(extreme learning machine,ELM)理論被南洋理工大學的黃廣斌教授提出,ELM是一種單隱含層前饋神經網絡(single-hidden layer feedforward neural network,SLFN)算法[14]。它與常用的BP神經網絡相比,ELM是對于權重和閾值隨機的選取,而不像BP是通過反向傳播算法調節各層之間的權值和閾值,從而減少了算法模型的學習時間和結構的復雜性,提高了模型整體的訓練速度。
ELM的基本結構如圖1所示,其由輸入層、隱含層、輸出層這3部分組成。原理說明如下,假設輸入數據的樣本集合為:X={xi|1≤i≤N},輸出數據的樣本集合為:Y={yi|1≤i≤N},其中N為樣本總個數、xi為輸入樣本的第i個訓練樣本、yi為輸出樣本的第i個輸出樣本。這里設置隱含層的神經元個數為J個,則H={hi|1≤i≤J}為隱含層的輸出向量的集合,hi為第i個輸入樣本對應的特征向量。把輸入的樣本數據在空間上映射到隱含層特征空間上,其二者的關系為
H=G(αX+B)
(1)
式中:G為激活函數,主要應用的有Sigmoid、Sin、Hardlim等等;α為輸入層各個節點到隱含層各個節點的輸入權重矩陣;B為隱含層各個節點的閾值矩陣。

圖1 ELM的結構
若單隱含層的ELM能夠實現在誤差極小的情況下逼近“輸出的N個樣本”,則隱含層的輸出為
F=Hβ,F=Y
(2)
(3)
式中:β為隱含層各個節點到輸出層各個節點的輸出權重矩陣;H為隱含層輸出矩陣。
從以上說明中能看出極限學習機的目的就是讓模型的輸出與實際的輸出之間的差值最小,即求解輸出權重矩陣的最小二乘解的問題,只要模型能夠輸出權重矩陣的最小二乘解就可以完成模型的訓練,輸出權重矩陣β可由下式表示為
β=H+Y
(4)
式中:H+為隱含層輸出矩陣H的Moore-Penrose廣義矩陣。
由于ELM為單隱含層結構,在面對數據量過大、輸入數據的維度過高的輸入輸出變量時,單隱含層的極限學習機無法捕捉到數據的有效特征。在ELM中的權重和閾值是隨機的產生的,這可能會使得部分的神經元成為無效的神經元,減弱算法模型對數據特征的學習能力。在研究中發現,更多的學者對于ELM的衍生算法深度極限學習機(deep extreme learning machine,DELM)產生了濃厚的興趣[15,16],所以本文提出使用DELM[17]對數據分析,彌補了ELM的缺點。為了增強模型的泛化能力,這里選擇加入一個正則化項
(5)
式中:C為正則化系數。
本文在構建深度極限學習機中采用ELM自動編碼器(ELM autoencoder,ELM-AE)算法得到模型的權值和閾值,ELM-AE的結構如圖2所示。自動編碼器(auto encoder,AE)是以無監督的學習方式學習數據的特征,它是將輸入的向量通過編碼器映射到隱含層的特征向量,再由解碼器將特征向量重新構造原來的輸入向量。構建的ELM-AE使得隱含層節點隨機權值和隨機閾值正交,如果隨機權重和隨機閾值不是正交的,它也是能夠有一個很好的特征表示作用,從而提高ELM-AE的泛化能力。在ELM-AE產生正交的隨機權重和閾值為
(6)
式中:I是單位矩陣。

圖2 ELM-AE結構
在ELM-AE中,輸出權重β負責學習從特征空間到輸入數據的轉換。并且在傳統的方法中,是根據最小二乘法求得權重系數,但是在隱含層節點數過多的情況下,這樣會導致模型的泛化能力弱和魯棒性差。所以在求解權重系數中引入正則化系數,提高模型的泛化能力,這里將目標函數設置為
(7)
式中:C為正則化參數。對于稀疏和壓縮的ELM-AE表示,把公式中的β求導,并且讓目標函數為0,這樣求得輸出權重β為
(8)
式中:H為ELM-AE的隱含層輸出矩陣;X為ELM-AE的輸入和輸出。
對于輸入維度等于編碼維度的ELM-AE,ELM-AE的輸出權重矩陣β代表著從輸入特征空間的數據到隱含層特征空間的轉換,則輸出權重β的計算公式為
β=H-1X
(9)
βTβ=I
(10)
并且在DELM中ELM-AE能用奇異值(SVD)來表示其特征,所以式(5)的奇異值分解為
(11)
式中:u是HTH的特征向量;di是H的奇異值。
深度極限學習機從結構上看相當于把多個ELM連接到了一起,但它相對于ELM能更全面地捕捉到數據之間的映射關系并提高處理高維度輸入變量的精確度。DELM是逐層通過ELM-AE進行無監督的訓練學習,最后接入回歸層進行監督訓練。其DELM的結構如圖3所示,假設模型有M個隱含層,將輸入數據樣本X根據ELM-AE理論得到第一個權重矩陣β1,接著得到隱含層的特征向量H1。以此類推,能夠得到M層的輸入權重矩陣βM和隱含層的特征向量HM。并且模型的前期是進行多層無監督的學習,不需要人為設置輸入的權重和閾值,只要設置各層的隱含層的神經元個數,所以DELM擁有的學習過程快且泛化能力強的特點。

圖3 DELM結構
粒子群算法(partile swarm optimization,PSO)是由Kennedy和Eberhart提出的一種隨機優化算法。它的提出是通過對鳥類等生物有機體的社會行為進行模擬。PSO的原理如下:把假設的目標值區域當成鳥類等生物的捕食區域,生物在搜捕獵物的過程可以比作是粒子在不斷更新著搜索目標值所在區域,生物在捕食的開始是有一個大概的方向,相當于粒子在搜索過程中有一個初始的速度和位移,這個過程就是粒子的尋優過程。在算法中模擬的隨機粒子是通過兩個極值點來更新自己,保證粒子在搜索過程中能確定最接近目標值區域的粒子范圍。第一個極值點就是隨機粒子中的擁有最佳位置的個體極值(Pbest),第二個極值點就是種群中擁有最佳位置的個體極值點(Gbest)。在D維空間上第i個粒子的速度和位置分別是
Vi=(vi1,vi2,vi3,…,viD)
(12)
Xi=(xi1,xi2,xi3,…,xiD)
(13)
在每次的迭代過程中,根據兩個極值點Pbest和Gbest的位置更新,逐漸找到種群中粒子的最佳位置,其中更新的公式為

(14)
(15)

由于DELM的中各個隱含層的神經元個數需要人為的設置,并且隱含層的神經元個數一般設置的較大才能使模型在做回歸預測時的精度提高,在設置的過程中學者要通過大量的數據和仿真實驗來驗證隱含層神經元個數的取值,從而保證模型的誤差函數最小。又因為隨著隱含層神經元個數的增多,每次進行仿真實驗驗證的神經元個數的上下波動范圍較大,造成實驗的過程過于復雜和使模型具有不確定性。本文采用粒子群優化算法對多個隱含層的個數選取,經過優化找到各個隱含層最優的神經元個數賦值給算法模型。PSO相對于其它的優化算法具有:收斂速度快、效率高、算法簡單和擴展空間的特點。
使用PSO優化DELM的好處有:①減少對多個隱含層的神經元個數選擇的仿真實驗。②優化算法并不復雜,不會導致模型的優化時間過長,并且能提高預測精度。③優化后的模型有更好的魯棒性。
粒子群算法優化深度極限學習機的具體步驟,流程如圖4所示:
步驟1 把數據劃分為訓練集合預測集。
步驟2 對PSO的參數初始化(w、c1、c2)。
步驟3 確定DELM的拓撲結構,以及相關參數的設置。
步驟4 將DELM訓練測試得到的均方誤差作為PSO的適應度值。
步驟5 初始最優解更新(Pbest、Gbest),通過種群移動(更新粒子位置和速度)、計算新的適應度值、更新當前的最優解看是否滿足適應度值。若不滿足,則重新進行迭代。
步驟6 把獲得的各隱含層的最優節點數代入DELM中。
步驟7 訓練測試。
步驟8 得到預測結果。

圖4 流程
本次仿真的實驗環境是在MATLAB R2016b上進行的,計算機程序使用MATLAB語言編寫程序,電腦的配置為:Intel(R) Core(TM) i5-4210H CPU @2.90 GHz,內存4 GB和1 TB機械硬盤。
本次實驗使用的是淮南市吾悅廣場、某小區、汽車站和萬達廣場這4個場所從4月13日到5月12日的手機上網流量數據,因為模型在訓練過程中要學習以往的流量變化走勢,數據量越多模型遇到的流量變化就越多,這樣在實際的預測過程中就不會因為現場的網絡流量變化過于特殊而造成預測不準確,即增強了模型的魯棒性。在分析原始數據中發現網絡流量是以每15 min記錄一次的時間序列數據,本文在時序上做出處理(一維變量的時間序列所具有的時間戳和與每個時間戳對應的數值對預測具有重大意義)。在一個月內的場所中用戶使用手機上網的流量數據點共11 712個,部分原始的流量數據如圖5所示。

圖5 原始網絡流量數據
處理數據之前對網絡流量進行分析,利用它的本身帶有的自相似性、長相關性、多分型和非線性等特點,以及流量數據是根據時間節點所記錄的,針對這些個特性做出數據預處理。首先對一維的變量重新構造,變成多維變量,構造的方式是:用前1、2、3、4、5組數據作為輸入和第6組數據作為輸出,接下來是用第2、3、4、5、6組作為輸入預測和第7組數據作為輸出,以此類推。設n為第n組數據也是第n個數據(n≤11707,n∈N*),則5個輸入變量分別為n、(n+1)、(n+2)、(n+3)、(n+4)和1個輸出變量為(n+5),可以得到每組數據有5個輸入變量和一個輸出變量,一共11 707組數據的新樣本。新樣本中輸入矩陣X1和輸出矩陣X2分別為
(16)
(17)
對于預處理后的網絡流量數據進行歸一化使得數據處于[0,1]之間,歸一化的公式是
(18)
式中:Lmax、Lmin分別為樣本中的最大值和最小值;L為樣本的歸一化的值;i為每個時間點的值,其范圍為[1,11707]。
經過測試構建的新樣本的輸入變量為5維時,輸出的誤差最小。測試過程為:選用極限學習機算法模型對在不同維度下的輸入變量測試,驗證輸入數據的維度從2到9進行測試。以MAPE和RMSE的5次平均值作為評判指標,平均絕對百分比誤差(MAPE/KB)和均方根誤差(RMSE/MB)的公式如下,測試數據見表1
(19)
(20)


表1 誤差測試數據
取新樣本的前80%組數據作為訓練數據,后20%組數據作為測試數據。經過預處理后的部分網絡流量數據如圖6所示。

圖6 新的網絡流量數據
在深度極限學習中,隱含層層數的選擇和各層神經元個數確定對最終所構建的模型有著很大的影響。深度極限學習機的層數設置分別從2個隱含層、3個隱含層、4個隱含層、5個隱含層中做仿真實驗測試。在本文中選擇了使用粒子群算法對各個隱含層的神經元個數進行確定,但是要設置神經元個數在一定的選取范圍內,范圍過大會導致模型的運行時間過長,范圍過小會導致模型的預測結果達不到所要求的精度,通過查找文獻和經驗選擇了4個范圍(10,100)、(10,200)、(10,300)、(10,500)來測試在多個隱含層中最適合的神經元個數的范圍,使用模型的運行時間t、擬合度(R2)、平均絕對誤差(MAE/MB)、均方根誤差(RMSE/MB)和平均絕對百分比誤差(MAPE/KB)作為評價指標,測試數據見表2、表3、表4、和表5。本文模型的參數選擇主要包括兩大部分:①ELM-AE中的正則化系數(C)、激活函數。②粒子群算法中的種群大小、最大迭代次數、慣性因子(w)、學習因子(c1、c2)。參數的數值見表6。

表2 2隱含層節點數的范圍測試

表3 3隱含層節點數的范圍測試

表4 4隱含層節點數的范圍測試

表5 5隱含層節點數的范圍測試

表6 模型的參數設置
在表2、表3、表4、表5中各項指標的數值都是經過20次測試取的平均值,目的是在減小模型的偶然性和增加魯棒性。分析表中的數據可知:
(1)當DELM的隱含層從2層增加到5層時(節點數范圍相同),模型在運行時間上是不斷增加。
(2)當節點數范圍是(10,300)時,隱含層超過3時預測曲線的擬合度都高達97%,并且含3隱含層的DELM在擬合度上比2隱含層、4隱含層、5隱含層的分別高出6.91%、0.37%、-0.07%。
(3)對比各項的誤差指標,含2隱含層的DELM效果最差,而含有3、4、5隱含層的DELM誤差指標相差不大。
(4)當隱含層從2層提升到3層時,只有在3隱含層的各項指標提升的最為突出,4和5隱含層的提升并不明顯。
因此并不是DELM選取的隱含層的層數越多、節點數越大的預測效果越好,在保證模型精度的同時也要考慮模型的運行時間,選取含3隱含層和節點數范圍在(10,300)的DELM作為預測模型。
為了驗證PSO-DELM模型的準確性,選取基于GA-BP模型、PSO-ELM模型和RBF模型對用戶的手機上網流量進行預測,并且與PSO-DELM模型的預測結果比較,得到預測流量變化曲線與真實值曲線的對比圖,如圖7所示。選用平均絕對誤差(MAE)、均方根誤差(RMSE)、擬合度(R2)、時間(t)作為對比指標,仿真實驗結果見表7。

圖7 仿真實驗對比結果

表7 仿真實驗結果
可以看出:在GA-BP和RBF模型預測的圖中流量走勢比較連續的位置上模型能夠很好預測到流量數值,但是在流量數值波動頻繁的位置上并不能實現對峰值的精確預測。本文選用的PSO-DELM的方法與其它3種方法相比能夠全面預測流量的真實值,在預測值的波峰數頻繁位置也能很好跟蹤到數值的變化。在表7中,PSO-DELM比PSO-ELM、GA-BP、RBF的擬合度高出5.962%、6.579%、9.9%,在各項的誤差指標中PSO-DELM模型對比其它3種模型的效果也是最佳的。
根據比賽場館所中用戶比較集中、手機上網流量的數值波動大的特點選取了4種不同場所的用戶手機上網數據進行分析,提出了一種基于PSO-DELM算法的手機上網流量預測模型。模型的優勢在于:
(1)在針對比賽場館內手機上網流量的預測,選取了與其相似場所的用戶手機上網流量數據,這樣經過訓練后的模型學習了數據中的隱含特征,提高了模型在實際使用中的魯棒性。
(2)在數據預處理上,針對一維的流量數據(時間序列)進行重新構造,建立了多維的輸入和一維的輸出數據,更好挖掘出數據之間的非線性關系。
(3)相對于其它預測模型,本文構建的PSO-DELM模型能更好提取訓練數據中的映射關系,使模型在曲線的擬合度上和誤差上都相對于其它模型有明顯的提高。