劉丹,張騰飛
(南京郵電大學 自動化學院,江蘇 南京210023)
摘要:傳統(tǒng)的小波神經(jīng)網(wǎng)絡(luò)以梯度下降法訓練網(wǎng)絡(luò),而梯度下降法易導致網(wǎng)絡(luò)出現(xiàn)收斂早熟、陷入局部極小等問題,影響網(wǎng)絡(luò)訓練的精度。文章將螢火蟲算法用于訓練小波神經(jīng)網(wǎng)絡(luò),在全局內(nèi)搜尋網(wǎng)絡(luò)的最優(yōu)參數(shù)。為了提高螢火蟲算法參數(shù)尋優(yōu)的能力,在訓練過程中自適應(yīng)調(diào)節(jié)γ值。同時利用高斯變異來提高螢火蟲個體的活性,在保證收斂速度的同時避免算法陷入局部極小。將優(yōu)化后的小波神經(jīng)網(wǎng)絡(luò)用于短期負荷預(yù)測,實驗證明改進后的預(yù)測模型非線性擬合能力較強、預(yù)測精度較高。
關(guān)鍵詞:小波神經(jīng)網(wǎng)絡(luò);螢火蟲算法;負荷預(yù)測;全局尋優(yōu)
中圖分類號:TP391文獻標識碼:ADOI: 10.19358/j.issn.16747720.2016.23.016
引用格式:劉丹,張騰飛. 基于改進螢火蟲算法的小波神經(jīng)網(wǎng)絡(luò)短期負荷預(yù)測方法[J].微型機與應(yīng)用,2016,35(23):56-58.
0引言
短期負荷預(yù)測主要是預(yù)報未來24小時至幾天內(nèi)的系統(tǒng)負荷[1]。精確的負荷預(yù)測有助于合理安排機組的檢修計劃以及規(guī)劃未來發(fā)電機組的安裝,對社會生活和經(jīng)濟發(fā)展意義重大。從經(jīng)典的單耗法、彈性系數(shù)法到當前的灰色預(yù)測法、神經(jīng)網(wǎng)絡(luò)法等,負荷預(yù)測技術(shù)在不斷進步。其中,神經(jīng)網(wǎng)絡(luò)和小波分析法的優(yōu)勢較為突出,兩者相結(jié)合得到的小波神經(jīng)網(wǎng)絡(luò)常用于負荷預(yù)測。但是小波神經(jīng)網(wǎng)絡(luò)訓練常采用梯度下降法,造成網(wǎng)絡(luò)易陷入局部極小,收斂速度慢[2-3]。
螢火蟲算法(Firefly Algorithm,F(xiàn)A)是一種基于群體搜索的仿生智能優(yōu)化算法,算法在尋優(yōu)精度和收斂速度方面很有優(yōu)勢[4]。本文采用螢火蟲算法訓練小波神經(jīng)網(wǎng)絡(luò),在訓練過程中適時調(diào)節(jié)其參數(shù)γ值使得算法在全局內(nèi)有較強的搜索能力。同時對最優(yōu)螢火蟲個體進行高斯變異,有利于螢火蟲個體跳離局部極小,保證網(wǎng)絡(luò)的收斂速度。最后用改進后的螢火蟲算法優(yōu)化小波網(wǎng)絡(luò)的所有參數(shù)并進行短期負荷預(yù)測,實驗結(jié)果表明所提出的預(yù)測模型具有更好的收斂速度和預(yù)測精度。
1小波神經(jīng)網(wǎng)絡(luò)模型
小波神經(jīng)網(wǎng)絡(luò)通常使用小波或尺度函數(shù)作為網(wǎng)絡(luò)的激活函數(shù),其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1小波神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖中X=(x1,x2,…,xn)為小波神經(jīng)網(wǎng)絡(luò)的輸入向量,Y=(y1,y2,…,ym)為網(wǎng)絡(luò)的輸出向量。隱含層共h個神經(jīng)元,其中Ψj為隱含層第j個神經(jīng)元的小波函數(shù),其伸縮、平移系數(shù)分別為aj和bj。Wij為輸入層第i個神經(jīng)元與隱含層第j個神經(jīng)元之間的連接權(quán)值,Wjk為隱含層第j個神經(jīng)元與輸出層第k個神經(jīng)元的連接權(quán)值。其中隱層小波神經(jīng)元采用Mexican Hat小波函數(shù),輸出層節(jié)點采用Sigmoid函數(shù)。小波神經(jīng)網(wǎng)絡(luò)隱含層第j(j=1,2,…,h)個小波神經(jīng)元輸入為:
隱含層第j個神經(jīng)元的輸出為:
輸出層第k(k=1,2,…,m)個神經(jīng)元的輸出為:
2基于改進螢火蟲算法的小波神經(jīng)網(wǎng)絡(luò)預(yù)測模型
2.1螢火蟲算法基本原理
螢火蟲算法中所有螢火蟲都具有一個由被優(yōu)化問題決定的適應(yīng)度值。適應(yīng)度值越佳,螢火蟲亮度越強。隨著迭代過程的進行,所有螢火蟲不斷向比自己更亮的螢火蟲靠近,最終大多數(shù)螢火蟲會聚集在最亮螢火蟲附近,最亮螢火蟲的位置就是問題的最優(yōu)解[5]。
從數(shù)學角度對螢火蟲算法描述如下:
螢火蟲的相對熒光亮度:
其中,I0為螢火蟲所處位置的熒光亮度;γ為光強吸收系數(shù);rij為螢火蟲i與j之間的空間距離。
螢火蟲的吸引度為:
其中,β0表示最大吸引度因子,即最大熒光亮度處位置的吸引度大小。
螢火蟲i被螢火蟲j吸引移動的位置更新公式:
其中,xi、xj分別為螢火蟲i和j所處的空間位置;α為步長因子,?。?,1]上的常數(shù);rand為[0,1]上服從均勻分布的隨機因子。
2.2螢火蟲改進算法
一般情況下,參數(shù)γ取1。當求解空間較大時,螢火蟲之間的相對距離較大,式(5)中的rij會變大,β將趨向0。螢火蟲i則不會向較優(yōu)個體靠近,而是隨機更新位置。文獻[6]根據(jù)多次實驗總結(jié)出:當γr2在區(qū)間[0.04,4]時,e-γr2有較好的調(diào)節(jié)效果。
因此,當群體距離較大時應(yīng)減小γ使γ0為0.04。當螢火蟲群體距離較小時應(yīng)增大γ使得γ0為4。這樣保證e-γr2始終在特定范圍內(nèi),從而保證螢火蟲群體間具有足夠吸引力,算法在全局內(nèi)有較強的搜索能力。
在傳統(tǒng)螢火蟲算法中,每一代最優(yōu)個體沒有作相應(yīng)處理,導致最優(yōu)個體進化停滯,不利于算法的進一步收斂。由文獻[7]可知,高斯變異具有較強的局部開發(fā)能力,因此采用高斯算子對最優(yōu)個體進行變異,給每次迭代得到的最優(yōu)個體加上一個服從高斯分布的隨機擾動項,如下:
其中,xbest為當前最優(yōu)螢火蟲,xGbest為變異后的最優(yōu)螢火蟲。N(0,1)為均值為0、方差為1的高斯分布隨機變量。
最后比較變異前后螢火蟲適應(yīng)度值的大小,取兩者中適應(yīng)度值較佳的個體為本次迭代的螢火蟲最優(yōu)個體xbest。
2.3小波神經(jīng)網(wǎng)絡(luò)負荷預(yù)測模型
由于負荷工作日和休息日具有不同的周期性,需要分開建模。同時對短期負荷預(yù)測影響最大的就是溫度狀況[8]。因此預(yù)測某個工作日t時刻的負荷,小波網(wǎng)絡(luò)的輸入應(yīng)為預(yù)測日前一周t時刻、預(yù)測日前一日t-1時刻、預(yù)測日前一日t時刻、預(yù)測日t-2時刻、預(yù)測日t-1時刻的負荷和預(yù)測日前一周、預(yù)測日的平均溫度。輸出為預(yù)測日t時刻實際的負荷。
模型確定后,利用改進的螢火蟲算法訓練小波神經(jīng)網(wǎng)絡(luò),將網(wǎng)絡(luò)的訓練輸出負荷與實際負荷的誤差作為算法的適應(yīng)度值。具體步驟如下:
?。?)根據(jù)學習樣本的輸入和輸出要求確定小波神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
?。?)初始化螢火蟲種群,設(shè)定相應(yīng)的群體大小。種群中每個個體都包含了神經(jīng)網(wǎng)絡(luò)需要優(yōu)化的所有伸縮、平移系數(shù)以及連接權(quán)值。
(3)根據(jù)每個個體包含的網(wǎng)絡(luò)參數(shù)值計算對應(yīng)的適應(yīng)度值,其值越小,螢火蟲的亮度越大,其值越優(yōu)。
(4)根據(jù)改進的螢火蟲算法迭代更新種群,搜尋最優(yōu)螢火蟲個體。
?。?)將最優(yōu)個體中的參數(shù)值代入小波神經(jīng)網(wǎng)絡(luò)訓練,并用測試數(shù)據(jù)進行驗證。
3實驗結(jié)果與分析
本文的訓練樣本取自某地區(qū)5~7月份工作日24個時刻的實測數(shù)據(jù),而測試數(shù)據(jù)為第二年6月份工作日24個時刻的實測數(shù)據(jù)。
為了驗證改進神經(jīng)網(wǎng)絡(luò)在預(yù)測方面的優(yōu)越性,將本文提出的預(yù)測模型(GFAWNN)與RBF神經(jīng)網(wǎng)絡(luò)、基于梯度下降法的小波神經(jīng)網(wǎng)絡(luò)(WNN)、基于螢火蟲算法的小波神經(jīng)網(wǎng)絡(luò)(FAWNN)進行仿真結(jié)果對比。
觀察4種神經(jīng)網(wǎng)絡(luò)對第二年6月份所有工作日12:00這個時刻的負荷預(yù)測情況,如圖2所示。橫坐標為30個測試樣本序列,縱坐標為對應(yīng)樣本的負荷預(yù)測結(jié)果,黑色*線表示實際負荷值曲線。由圖可明顯看出,GFAWNN神經(jīng)網(wǎng)絡(luò)的擬合度最高,預(yù)測結(jié)果最佳,F(xiàn)AWNN網(wǎng)絡(luò)的預(yù)測效果次之,RBF預(yù)測效果最差。
具體預(yù)測結(jié)果的數(shù)據(jù)對比如表1所示。
其中emax、emin、eMean分別表示測試樣本中最大的相對誤差、最小相對誤差和平均相對誤差。通過數(shù)據(jù)對比可知,改進的GFAWNN網(wǎng)絡(luò)預(yù)測結(jié)果最佳,平均預(yù)測誤差和最大、最小預(yù)測誤差均最小。
4結(jié)論
本文利用小波神經(jīng)網(wǎng)絡(luò)建立短期負荷預(yù)測模型,為了避免梯度下降法訓練小波神經(jīng)網(wǎng)絡(luò)導致網(wǎng)絡(luò)陷入局部極小的問題,本文用改進的螢火蟲算法訓練小波神經(jīng)網(wǎng)絡(luò),確保螢火蟲個體始終保持活性并且螢火蟲個體之間具備足夠的吸引力以在全局范圍內(nèi)完成群體的迭代更新。迭代完成后的最優(yōu)個體即最優(yōu)解,是小波神經(jīng)網(wǎng)絡(luò)的最優(yōu)參數(shù),根據(jù)最優(yōu)參數(shù)完成短期負荷預(yù)測。實驗表明,在同等實驗數(shù)據(jù)和實驗條件下,優(yōu)化后的小波神經(jīng)網(wǎng)絡(luò)的預(yù)測精度較高。
參考文獻
?。?] 牛東曉. 電力負荷預(yù)測技術(shù)及其應(yīng)用[M]. 北京:中國電力出版社, 2009.
?。?] 余鳳, 徐曉鐘. 基于優(yōu)化小波BP神經(jīng)網(wǎng)絡(luò)的燃氣短期負荷預(yù)測[J]. 計算機仿真, 2015, 32(1):372-376.
[3] 程聲烽, 程小華, 楊露. 基于改進粒子群算法的小波神經(jīng)網(wǎng)絡(luò)在變壓器故障診斷中的應(yīng)用[J]. 電力系統(tǒng)保護與控制, 2014(19):37-42.
?。?] 趙玉新. 新興元啟發(fā)式優(yōu)化方法[M].北京:科學出版社, 2013.
?。?] Yang Xinshe. Firefly algorithm[M].Engineering,2010.
[6] 陸克中, 章哲慶, 孫俊. 保持個體活性的改進FA算法[J]. 中國科學技術(shù)大學學報, 2016(2):120-129.
?。?] Liu Jiakun, Zhou Yongquan. Parallel glowworm optimization algorithm with master slave structure[J]. Computer Engineering and Applications, 2012, 48(14):33-37.
?。?] 賀蓉, 曾剛, 姚建剛,等. 天氣敏感型神經(jīng)網(wǎng)絡(luò)在地區(qū)電網(wǎng)短期負荷預(yù)測中的應(yīng)用[J]. 電力系統(tǒng)自動化, 2001, 25(17):32-35.