李瑞東,宋金玲,劉 建,李警波
(河北科技師范學(xué)院數(shù)學(xué)與信息科技學(xué)院,河北 秦皇島,066000)
赤潮是海洋中的浮游植物在特定條件下大量聚集并導(dǎo)致海水變色的一種生態(tài)災(zāi)害。近海赤潮的頻繁暴發(fā)給海洋相關(guān)產(chǎn)業(yè)造成了巨大的經(jīng)濟(jì)損失,嚴(yán)重破壞了海洋環(huán)境,甚至危及人類的健康。因此,對(duì)赤潮開展預(yù)測(cè)研究有重要意義和實(shí)際應(yīng)用價(jià)值[1]。赤潮形成的機(jī)理復(fù)雜,受環(huán)境影響較大,各因子之間表現(xiàn)出的關(guān)系為非線性關(guān)系,并且有關(guān)赤潮的樣本數(shù)據(jù)較為缺乏,這些因素給赤潮的預(yù)測(cè)研究帶來了一定的困難。由于神經(jīng)網(wǎng)絡(luò)對(duì)非線性函數(shù)有較強(qiáng)的逼近能力,近年來神經(jīng)網(wǎng)絡(luò)被廣泛應(yīng)用于赤潮的預(yù)測(cè)研究中[1~6],其中,文獻(xiàn)[1~4]根據(jù)海水理化因子數(shù)據(jù)建立了赤潮生物密度與環(huán)境因子的神經(jīng)網(wǎng)絡(luò)模型,間接實(shí)現(xiàn)對(duì)赤潮的預(yù)測(cè),文獻(xiàn)[5,6]根據(jù)影響赤潮發(fā)生的氣象因素?cái)?shù)據(jù)建立了赤潮等級(jí)預(yù)測(cè)模型。但是上述神經(jīng)網(wǎng)絡(luò)赤潮預(yù)測(cè)模型都存在對(duì)樣本質(zhì)量和數(shù)量要求高、預(yù)測(cè)穩(wěn)定性差等問題,針對(duì)赤潮樣本數(shù)據(jù)相對(duì)較少的情況適應(yīng)性較差,因此有必要對(duì)基于神經(jīng)網(wǎng)絡(luò)的赤潮預(yù)測(cè)模型進(jìn)行進(jìn)一步的研究。
廣義回歸神經(jīng)網(wǎng)絡(luò)(GRNN)在樣本數(shù)據(jù)量較少的情況下有著較好的回歸預(yù)測(cè)效果,而且廣義回歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單,只需要設(shè)定一個(gè)平滑因子σ,因此,廣義回歸神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)性能在很大程度上取決于σ的選擇。一般情況下平滑因子σ作為先驗(yàn)知識(shí)或者憑借個(gè)人經(jīng)驗(yàn)來手動(dòng)設(shè)置,導(dǎo)致模型受人為主觀影響較大、精度較差,如何優(yōu)化平滑因子σ成為提高廣義回歸神經(jīng)網(wǎng)絡(luò)模型性能的關(guān)鍵問題。本次研究采用粒子群算法來獲取廣義回歸神經(jīng)網(wǎng)絡(luò)的最優(yōu)平滑因子,降低人為主觀影響,提高廣義回歸神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)精度,得到改進(jìn)后的PSO-GRNN模型;并根據(jù)夜光藻密度與環(huán)境因子的關(guān)系構(gòu)建PSO-GRNN模型;最后通過實(shí)驗(yàn)對(duì)PSO-GRNN模型和其它模型的預(yù)測(cè)效果進(jìn)行對(duì)比分析。實(shí)驗(yàn)結(jié)果證明,該模型對(duì)預(yù)測(cè)夜光藻密度具有一定的可行性。在實(shí)際應(yīng)用中,根據(jù)夜光藻密度的預(yù)測(cè)值,對(duì)比赤潮發(fā)生時(shí)的夜光藻密度閾值,可以間接實(shí)現(xiàn)對(duì)赤潮的提前預(yù)測(cè)。
GRNN在結(jié)構(gòu)上由4層構(gòu)成,分別為輸入層、模式層、求和層和輸出層[7](圖1)。

圖1 GRNN網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
輸入層的節(jié)點(diǎn)個(gè)數(shù)等于輸入樣本的特征維度,其作用是將訓(xùn)練樣本的輸入直接傳遞到模式層。
模式層的作用是對(duì)從輸入層傳遞過來的訓(xùn)練樣本進(jìn)行學(xué)習(xí),其節(jié)點(diǎn)個(gè)數(shù)等于訓(xùn)練樣本的個(gè)數(shù)。學(xué)習(xí)函數(shù)見式(1),其中X為模型的輸入;Xi為第i個(gè)節(jié)點(diǎn)對(duì)應(yīng)的訓(xùn)練樣本;Pi為第i個(gè)節(jié)點(diǎn)的輸出;σ為GRNN模型的平滑因子。

(1)
求和層的作用是對(duì)模式層的數(shù)據(jù)進(jìn)行求和與加權(quán)求和,分別見式(2)和式(3)。其中SD為分母節(jié)點(diǎn)函數(shù),SNj為分子節(jié)點(diǎn)函數(shù),yij為連接權(quán)值。
(2)
(3)
輸出層的節(jié)點(diǎn)數(shù)為訓(xùn)練樣本中輸出的特征維度,節(jié)點(diǎn)輸出按照式(4)計(jì)算。
(4)
PSO是一種群體智能優(yōu)化算法,其思想源于對(duì)鳥類捕食行為的模擬[8]。PSO用一群粒子來表示待尋優(yōu)問題,每個(gè)粒子都有位置和速度兩個(gè)屬性,其中,每個(gè)粒子的當(dāng)前位置代表問題的一個(gè)解。粒子的位置是不斷變化的,粒子當(dāng)前位置的好壞由適應(yīng)度函數(shù)的值來衡量。
PSO算法首先初始化一群具有隨機(jī)速度和位置的粒子和最大循環(huán)次數(shù)。然后執(zhí)行如下循環(huán):比較每個(gè)粒子當(dāng)前位置與其自身歷史最優(yōu)位置pbest的適應(yīng)度值,如果當(dāng)前位置的適應(yīng)度值較高,則把當(dāng)前位置作為新的pbest;然后比較所有粒子的pbest與全局最優(yōu)位置gbest的適應(yīng)度值,如果某個(gè)粒子的pbest適應(yīng)度值高于gbest適應(yīng)度值,則把該粒子的pbest作為新的全局最優(yōu)位置gbest。之后,每個(gè)粒子按照式(5)更新自己的速度、按照式(6)更新位置。當(dāng)循環(huán)達(dá)到最大次數(shù)時(shí),輸出的全局最優(yōu)位置gbest就是該問題的最優(yōu)解。
Vi+1=wVi+c1r1(pbest-Xi)+c2r2(gbest-Xi)
(5)
Xi+1=Xi+Vi+1
(6)
式(5)中,Vi為第i次循環(huán)時(shí)當(dāng)前粒子的速度;Vi+1為第i+1次循環(huán)時(shí)當(dāng)前粒子的速度;式(6)中Xi為第i次循環(huán)時(shí)當(dāng)前粒子的位置;Xi+1為第i+1次循環(huán)時(shí)當(dāng)前粒子的位置;r1,r2分別為[0,1]之間的隨機(jī)數(shù);c1,c2為學(xué)習(xí)因子;w為權(quán)重因子。
GRNN模型通過MATLAB函數(shù)net=newgrnn(P,T,σ)來創(chuàng)建,其中P為訓(xùn)練樣本的輸入,T為訓(xùn)練樣本的輸出,σ為平滑因子。一般情況下平滑因子σ根據(jù)個(gè)人經(jīng)驗(yàn)手動(dòng)設(shè)置,導(dǎo)致模型學(xué)習(xí)效率低下、受人為影響較大。實(shí)際上平滑因子σ的選擇可以看作尋優(yōu)問題,即找到一個(gè)最優(yōu)的σ,使得樣本的輸出值與實(shí)際值的誤差最小。因此,可以采用PSO算法來選取GRNN模型最優(yōu)的平滑因子σ,即將σ值視為粒子群中一個(gè)粒子的位置,從而找到σ的最優(yōu)值。減少人為因素對(duì)GRNN模型預(yù)測(cè)結(jié)果的影響,提高GRNN模型的泛化能力。PSO-GRNN模型流程如下:
①設(shè)置粒子群的規(guī)模、最大循環(huán)次數(shù)等參數(shù),隨機(jī)初始化各粒子的速度和位置。其中,把GRNN模型的平滑因子σ作為粒子的位置,將GRNN模型看作適應(yīng)度函數(shù),將模型的決定系數(shù)作為PSO算法的適應(yīng)度函數(shù)值。因此,適應(yīng)度函數(shù)值越高,表示該模型輸出的預(yù)測(cè)值與實(shí)際值的誤差越小。
重復(fù)執(zhí)行②~④步,直到達(dá)到最大循環(huán)次數(shù)為止。
②計(jì)算當(dāng)前各粒子當(dāng)前位置的適應(yīng)度值,然后與其自身歷史最優(yōu)位置pbest的適應(yīng)度值進(jìn)行比較,如果當(dāng)前位置的適應(yīng)度值較高,則把當(dāng)前位置作為新的歷史最優(yōu)位置pbest。
③比較當(dāng)前所有粒子的歷史最優(yōu)位置pbest的適應(yīng)度值,找出對(duì)應(yīng)最高適應(yīng)度值的位置,將其作為全局最優(yōu)位置gbest。
④根據(jù)式(5)(6)更新粒子的速度和位置。
⑤當(dāng)達(dá)到最大循環(huán)次數(shù)時(shí),將搜索到的全局最優(yōu)位置gbest作為平滑因子σ構(gòu)建的GRNN模型即為PSO-GRNN模型,見式(7)。
net=newgrnn(P,T,gbest)
(7)
為了驗(yàn)證PSO-GRNN模型的預(yù)測(cè)效果,采用文獻(xiàn)[3]中的樣本數(shù)據(jù)(表1),通過夜光藻密度和海水各種理化因子之間的相關(guān)性[9]構(gòu)建PSO-GRNN模型,其中將水溫、溶解氧、鹽度、總氮、可溶性無機(jī)磷、浮游植物密度作為模型輸入,將夜光藻的密度作為模型輸出。

表1 實(shí)驗(yàn)采用的樣本數(shù)據(jù)

(8)
首先,利用PSO算法找出GRNN模型最優(yōu)的平滑因子σ。初始化種群數(shù)量為30,權(quán)重因子=0.5,最大速為0.01,最小速度為-0.01,學(xué)習(xí)因子c1=c2=2,最大循環(huán)次數(shù)為20,粒子位置的區(qū)間為(0,1),隨機(jī)初始化各粒子的速度和位置。將表1中第1~24組歸一化樣本數(shù)據(jù)作為GRNN模型的訓(xùn)練樣本,按照前述本次研究的PSO-GRNN模型流程的②~④步不斷循環(huán)更新σ值,直到循環(huán)次數(shù)達(dá)到最大為止。
開始優(yōu)化時(shí),適應(yīng)度值很低,當(dāng)循環(huán)到第3次的時(shí)候,曲線開始迅速上升(圖2)。隨著進(jìn)化次數(shù)的增加,曲線變得越來越平滑,當(dāng)循環(huán)到第12次之后,PSO的適應(yīng)度值達(dá)到了最高并趨于穩(wěn)定,說明此時(shí)模型已經(jīng)達(dá)到了最優(yōu),此時(shí)對(duì)應(yīng)平滑因子σ的值為0.083 3。

圖2 PSO優(yōu)化平滑因子σ的過程曲線
然后,采用表1中前24組歸一化樣本數(shù)據(jù)和上一步中挑選出來的最優(yōu)平滑因子0.083 3訓(xùn)練GRNN模型,即得到訓(xùn)練好的PSO-GRNN模型。最后,將表1中第25~28組歸一化樣本數(shù)據(jù)作為預(yù)測(cè)樣本導(dǎo)入訓(xùn)練好的PSO-GRNN模型中進(jìn)行預(yù)測(cè)。實(shí)驗(yàn)結(jié)果表明,PSO-GRNN模型的預(yù)測(cè)值和實(shí)際值比較接近,最大誤差為12.45,最小誤差僅為1.04,平均誤差為6.605(表2),預(yù)測(cè)樣本的均方根誤差(RMSE)為7.99。

表2 PSO-GRNN 模型預(yù)測(cè)結(jié)果
為了進(jìn)一步驗(yàn)證PSO-GRNN模型的預(yù)測(cè)效果,采用目前使用最廣泛的BP模型、RBF模型、GRNN模型與其進(jìn)行預(yù)測(cè)效果對(duì)比分析。本次依然使用表1中第1~24組樣本作為訓(xùn)練樣本,分別對(duì)各個(gè)模型進(jìn)行訓(xùn)練,然后利用25~28組數(shù)據(jù)進(jìn)行預(yù)測(cè)。實(shí)驗(yàn)結(jié)果表明,BP模型和RBF模型都存在個(gè)別預(yù)測(cè)值與實(shí)際值相差懸殊的情況,GRNN模型雖然沒有相差懸殊的情況,但整體誤差依舊較大,說明PSO-GRNN模型的預(yù)測(cè)結(jié)果相對(duì)BP模型、RBF模型、GRNN模型誤差更小、更加精確(圖3)。

圖3 各模型預(yù)測(cè)值和真實(shí)值的對(duì)比


表3 各模型的均方根誤差
(9)
針對(duì)傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型對(duì)樣本的質(zhì)量和數(shù)量要求高、預(yù)測(cè)穩(wěn)定性差等問題,筆者使用對(duì)樣本質(zhì)量和數(shù)量要求不是特別高且相對(duì)穩(wěn)定的廣義回歸神經(jīng)網(wǎng)絡(luò)來建立夜光藻密度預(yù)測(cè)模型,并采用粒子群算法來獲取最優(yōu)的平滑因子,可減少人為因素對(duì)預(yù)測(cè)結(jié)果的影響。通過實(shí)驗(yàn)得出PSO-GRNN模型的均方根誤差值僅為7.99,遠(yuǎn)低于BP,RBF和GRNN模型的均方根誤差值,為赤潮的預(yù)測(cè)研究提供了新的解決方案。
河北科技師范學(xué)院學(xué)報(bào)2020年4期