張 宇 賀小星 孫喜文
(1. 江西理工大學(xué) 土木與測繪工程學(xué)院, 江西 贛州, 341000;2. 東華理工大學(xué) 測繪工程學(xué)院, 江西 南昌, 330013)
導(dǎo)航、海污染擴(kuò)散建模以及海域能源勘測等工業(yè)用途都需要海洋空間域上的精確潮汐預(yù)報(bào)[1-2]。由于潮高受到海水溫度,鹽度、陸地水體以及地球物理過程等因素的聯(lián)合影響,低、高潮位之間并不是總是反相變化,而是正反相交替變化,這也使得一些經(jīng)典模型在潮位預(yù)報(bào)中得不到較好的精度。
本文基于分群思想,構(gòu)建了一種多個(gè)分群間協(xié)同進(jìn)化的智能粒子群優(yōu)化網(wǎng)絡(luò)模型(swarm strategy particle swarm optimization-back propagation,SSPSO-BP),通過建立多個(gè)具有信息交流能力的分群及在粒子進(jìn)化進(jìn)程中引入“變異算子”,采取自適應(yīng)慣性權(quán)重調(diào)整策略在搜索過程指引粒子走向全局最優(yōu)解,來實(shí)現(xiàn)智能化的參數(shù)搜索。針對日本沿岸在PSMSL網(wǎng)站上Oga站的連續(xù)月數(shù)據(jù),SSPSO-BP模型在潮位預(yù)報(bào)中與實(shí)測值具有高度的一致性,潮位特征的預(yù)報(bào)準(zhǔn)確度較高[3]。
BP神經(jīng)網(wǎng)絡(luò)是一種依賴誤差反傳機(jī)制的多層前饋網(wǎng)絡(luò)。在網(wǎng)絡(luò)訓(xùn)練過程中,通過誤差反傳不斷調(diào)整連接參數(shù),使輸出與期望間的均方誤差達(dá)到目標(biāo)精度或者迭代次數(shù)達(dá)到閾值[4-5]。
BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練的主要步驟如下。
(1)網(wǎng)絡(luò)初始化:選定網(wǎng)絡(luò)的輸入層節(jié)點(diǎn)數(shù)為N,隱含層節(jié)點(diǎn)數(shù)為H,輸出層結(jié)點(diǎn)數(shù)為M,設(shè)定輸入層與隱含層、隱含層與輸出層神經(jīng)元之間的連接權(quán)值Wij,Wjk及激活函數(shù)。
(2)隱含層及輸出層計(jì)算。
(3)修正連接權(quán)值。
(4)判斷全局誤差或?qū)W習(xí)次數(shù)是否滿足要求,若滿足則訓(xùn)練結(jié)束,否則繼續(xù)選取樣本輸入及期望輸出,返回到步驟(2)繼續(xù)對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,直至達(dá)標(biāo)。
實(shí)際工程問題的解經(jīng)過編碼后可以看成一個(gè)在D維搜索空間的粒子[6]。粒子在搜索域中的速度和位置的更新公式為
由式(1)、式(2)可知,w越小,粒子飛行時(shí)的迭代步長越小,越趨向細(xì)致的局域搜索;w越大,粒子飛行時(shí)的步長越大,粒子越趨向于寬泛的全局搜索。常見的慣性權(quán)值調(diào)整策略為
式中,t為當(dāng)前迭代數(shù);tmax為最大進(jìn)化次數(shù)。
基于分群策略的粒子群改進(jìn)(particle swarm algorithm based on swarm strategy,SSPSO)算法(圖1)將粒子分為基礎(chǔ)群Q1、Q2、綜合群Q3三個(gè)群體,分群間在同一搜索空間中飛行找尋最優(yōu)位置,且在搜索過程中保持種群之間的信息交流。同時(shí)在粒子進(jìn)化的過程中保留其自身的思維,使得其能夠依據(jù)隔代適應(yīng)度差異自適應(yīng)調(diào)整慣性權(quán)重以及根據(jù)進(jìn)化程度改變學(xué)習(xí)因子來完成在整個(gè)過程中智能調(diào)整搜索策略,并且引入變異算子在粒子基本喪失進(jìn)化能力時(shí)進(jìn)行變異,保持粒子群的種群多樣性,走向智能化的方向[10-11]。
圖1 分群策略示意圖
綜合群S3的進(jìn)化方程:
(6)
(7)
式中,m1、m2分別為基礎(chǔ)群Q1、Q2粒子的適應(yīng)度,決定了基礎(chǔ)群的粒子速度對綜合群速度的影響大小?;A(chǔ)群Q1、Q2進(jìn)化方程和標(biāo)準(zhǔn)粒子群進(jìn)化式(1)、式(2)相同。綜合群Q3進(jìn)化的過程的顧及了基礎(chǔ)群Q1、Q2速度的影響,并保證了適應(yīng)值高的群體對綜合群有著更大的影響,上述進(jìn)化模式,利用了所有的分群信息,既保證了群體間的聯(lián)又提高了種群的多樣性。
實(shí)際搜索過程中粒子軌跡呈現(xiàn)復(fù)雜的動(dòng)態(tài)變化,LDI-PSO調(diào)整策略(式3)并不能反映實(shí)際的搜索過程,并且慣性權(quán)重下降的最優(yōu)斜率受各種因素的影響,常數(shù)的變化斜率并不適用于所有的優(yōu)化問題[12-13]。因此當(dāng)慣性權(quán)重w較小,且fitk與fitk-1的差值小于一個(gè)極小的固定值ε時(shí),則說明此時(shí)粒子大量聚集,此時(shí)采用w=w+rand·w調(diào)節(jié)慣性權(quán)重使其變大,增強(qiáng)粒子的全局搜索能力,使粒子擺脫局部極值。同理慣性權(quán)重w較大則表明粒子間的搜索經(jīng)驗(yàn)分享不足,此時(shí)采用w=w-rand·w減小慣性權(quán)重,加強(qiáng)粒子間的信息交流。慣性權(quán)重w調(diào)整公式為
(8)
整個(gè)搜索進(jìn)程中,當(dāng)粒子適應(yīng)度的隔代差值為一個(gè)極小數(shù)并且以一定距離偏離全局最優(yōu),可認(rèn)為粒子陷入局部最優(yōu)值,喪失了向全局搜索的能力。為了讓粒子保持向其他區(qū)域搜索的活力,使種群避免出現(xiàn)過早聚集的情況,SSPSO算法引入變異算子防止種群出現(xiàn)“早熟”。我們用種群適應(yīng)度方差σ2來描述種群聚集度,σ2定義為
(9)
式中,fitavg為種群適應(yīng)度平均值;f為歸一化因子,f=max{1,|fi-favg|}
式中,λ為收斂精度,根據(jù)實(shí)際問題設(shè)定。滿足上述條件的粒子速度降為0,喪失向其他區(qū)域搜索的能力,此時(shí)引入變異算子,粒子的速度更新公式變?yōu)?/p>
(10)
基于SSPSO優(yōu)化的BP網(wǎng)絡(luò)模型的實(shí)現(xiàn)包含如下基本步驟:確定網(wǎng)絡(luò)的結(jié)構(gòu)、初始化基礎(chǔ)群和綜合群、計(jì)算分群粒子的適應(yīng)度、依據(jù)一定策略更新速度及位置[14-15]。算法實(shí)現(xiàn)的流程如圖2所示。
圖2 SSPSO算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)流程
本文使用的驗(yàn)潮站數(shù)據(jù)由PSMSL網(wǎng)站提供,PSMSL成立與1933年,位于利物浦的國家海洋中心,負(fù)責(zé)全球驗(yàn)潮站海平面數(shù)據(jù)的收集、發(fā)布、分析及解釋。PSMSL網(wǎng)站發(fā)布的資料為RLR格式的數(shù)據(jù),RLR版本的驗(yàn)潮數(shù)據(jù)分為月平均數(shù)據(jù)和年平均數(shù)據(jù)。日本沿岸在PSMSL網(wǎng)站(https://www.psmsl.org/)上約有35個(gè)驗(yàn)潮站,本文利用Oga站2000—2012年的連續(xù)月數(shù)據(jù)進(jìn)行潮位特征預(yù)報(bào)。
本文選擇200期的連續(xù)月觀測數(shù)據(jù)代入SSPSO-BP模型中,圖3為兩種模型性能對比。
(a)PSO誤差曲線
由表1可知,PSO-BP、SSPSO-BP網(wǎng)絡(luò)比標(biāo)準(zhǔn)的BP神經(jīng)網(wǎng)絡(luò)收斂次數(shù)明顯減少,引進(jìn)粒子群算法大大減少了神經(jīng)網(wǎng)絡(luò)的訓(xùn)練時(shí)間。由圖4可以看出,綜合群粒子在進(jìn)化過程中會(huì)依據(jù)自身的搜索狀態(tài)自適應(yīng)地動(dòng)態(tài)調(diào)整慣性權(quán)重以改變搜索策略,增加全局搜索能力,在第376次進(jìn)化時(shí)綜合群中出現(xiàn)粒子聚集現(xiàn)象,群速度降為0,此時(shí)慣性權(quán)重發(fā)生跳變,幫助粒子群繼續(xù)向其他區(qū)域搜索。另外SSPSO算法引入了變異算子,理論上算法的迭代次數(shù)應(yīng)該增加,但是實(shí)際上分群思想保證了粒子種群的多樣性,尋找最優(yōu)解的能力明顯得到提高,從表中看出,SSPSO-BP模型無論是訓(xùn)練時(shí)間還是均方誤差都相較于PSO-BP模型有所提高。
表1 訓(xùn)練結(jié)果對照
圖4 自適應(yīng)動(dòng)態(tài)調(diào)整慣性權(quán)重
以日本沿岸的Oga站為例分析比較后100期潮高預(yù)報(bào)值與實(shí)測值,圖5為Oga站逐月潮位資料。
圖5 潮位趨勢預(yù)測
海域潮高變化既是海域潮汐性質(zhì)的體現(xiàn),也是潮波系統(tǒng)間的作用過程和機(jī)制的反映。從圖5可以看出,Oga站上低潮位、高潮位間的關(guān)系較為復(fù)雜,它們兩者并不是嚴(yán)格反相變化,而是呈現(xiàn)正反相交替的變化趨勢。SSPSO模型在采樣頻率小的潮位資料上可以很好地復(fù)現(xiàn)潮位變化趨勢,并且高潮位和低潮位時(shí)刻基本一致。
利用Oga站2000—2012年里的連續(xù)月潮位資料對完成訓(xùn)練的三種模型進(jìn)行仿真,并將仿真結(jié)果和實(shí)測潮高進(jìn)行對比。對比結(jié)果見圖6,兩種模型的性能指標(biāo)對比結(jié)果如表2所示。
圖6可以看出2000—2012年Oga站的潮高長時(shí)間處于高潮位,在2010年9月出現(xiàn)了低于平均海水面的低潮位時(shí)刻。SSPSO模型在低頻潮位資料上,預(yù)測值與實(shí)測值的一致性較好,高潮位與低潮位時(shí)刻基本對應(yīng),高潮時(shí)刻最大潮高差為7.37 cm,低潮時(shí)刻最大潮高差為4.21 cm,相比標(biāo)準(zhǔn)BP神經(jīng)網(wǎng)絡(luò)及PSO優(yōu)化神經(jīng)網(wǎng)絡(luò)最大潮高誤差大大減小。另外,SSPSO-BP模型的平均絕對誤差、均方誤差相較于BP神經(jīng)網(wǎng)絡(luò)分別提升了16.2%、79.2%,相較于PSO-BP神經(jīng)網(wǎng)絡(luò)提升了13.9%、79.6%,可以看出SSPSO-BP神經(jīng)網(wǎng)絡(luò)模型對于潮位預(yù)報(bào)的準(zhǔn)確度和精度都有了較大的提升。
圖6 模型預(yù)測曲線對比
表2 三種模型潮高預(yù)測誤差對比
SSPSP算法與BP神經(jīng)網(wǎng)絡(luò)結(jié)合對BP網(wǎng)絡(luò)的初始權(quán)值和閾值進(jìn)行優(yōu)化選擇,將綜合群的最佳位置作為BP神經(jīng)網(wǎng)絡(luò)參數(shù)初值并且通過不斷的學(xué)習(xí)進(jìn)行反向調(diào)整,最終產(chǎn)生一個(gè)經(jīng)二次優(yōu)化的參數(shù)向量。由于SSPSO算法進(jìn)行了BP神經(jīng)網(wǎng)絡(luò)的初次尋優(yōu),大大減少了BP神經(jīng)網(wǎng)絡(luò)的迭代次數(shù),在潮位預(yù)報(bào)中能夠很好地預(yù)測潮位特征。
(1)基于分群策略的粒子群優(yōu)化網(wǎng)絡(luò)通過分群之間的信息交換以及進(jìn)化進(jìn)程中的變異,更加有利于找到全局最優(yōu)解,相比于傳統(tǒng)模型大大減小了陷入局部極值的概率。在低頻潮位資料的背景下,也能很好地復(fù)現(xiàn)海平面變化趨勢,保證高低潮位時(shí)刻的一致性。
(2)SSPSO-BP神經(jīng)網(wǎng)絡(luò)模型有效地回避了海域潮汐以及多潮波系統(tǒng)作用等復(fù)雜因素的影響,采用線性逼近的思想來模擬多因子的作用機(jī)制,在高低潮位的振幅以及對應(yīng)時(shí)刻上保持良好的一致性,在潮高差、潮時(shí)差等潮位特征上也有很好的預(yù)報(bào)效果。