劉 濤
(阜陽(yáng)職業(yè)技術(shù)學(xué)院,安徽 阜陽(yáng) 236031)
喬維德將BP神經(jīng)網(wǎng)絡(luò)技術(shù)應(yīng)用于翻轉(zhuǎn)課堂的教學(xué)評(píng)價(jià)監(jiān)控中,改進(jìn)了BP神經(jīng)網(wǎng)絡(luò)模型,使得反轉(zhuǎn)課堂的教學(xué)評(píng)價(jià)模型數(shù)據(jù)更加客觀、真實(shí)[1]。趙李明將BP神經(jīng)網(wǎng)絡(luò)模型應(yīng)用于空氣質(zhì)量預(yù)測(cè)與時(shí)空分布的研究中,實(shí)現(xiàn)了BP神經(jīng)網(wǎng)絡(luò)模型與GIS技術(shù)的結(jié)合,利用BP神經(jīng)網(wǎng)絡(luò)模型監(jiān)測(cè)廣州市的空氣質(zhì)量,并提高GIS技術(shù)分析的精確性[2]。朱梅實(shí)現(xiàn)了BP神經(jīng)網(wǎng)絡(luò)算法在等高線生成過程中的應(yīng)用,利用向量的輸入與向量的輸出相互對(duì)應(yīng)來(lái)建立BP神經(jīng)網(wǎng)絡(luò)模型,并利用相對(duì)誤差檢驗(yàn)方式證明了BP神經(jīng)網(wǎng)絡(luò)算法在等高線模型生成中應(yīng)用的可行性[3]。鑒于此,在危險(xiǎn)化學(xué)氣體泄漏的走勢(shì)監(jiān)測(cè)方面,提出神經(jīng)網(wǎng)絡(luò)結(jié)合的環(huán)境敏感監(jiān)測(cè)模型,目的是提高預(yù)測(cè)精度,將預(yù)測(cè)誤差率控制到最低。
短期內(nèi)風(fēng)速的變化會(huì)對(duì)氣體的擴(kuò)散產(chǎn)生直觀的影響,但是短期內(nèi)風(fēng)速的變化是具有間歇性以及波動(dòng)性兩大特征的,利用BP神經(jīng)網(wǎng)絡(luò)建立氣體擴(kuò)散模型可以最大程度上提高氣體擴(kuò)散方向的預(yù)測(cè)精度。
BP神經(jīng)網(wǎng)絡(luò)算法利用了梯度下降的基本原理[4],其算法的目標(biāo)函數(shù)由公式(1)中表示:
(1)
在公式(1)中,ok表示的是在訓(xùn)練樣本作用機(jī)理的處理下BP神經(jīng)網(wǎng)絡(luò)輸出節(jié)點(diǎn)的輸出,yk表示的是與ok同樣條件下的目標(biāo)值,n所表示的是輸出的維數(shù),N代表的是訓(xùn)練樣本的樣本數(shù)量。
BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練主要可以分為隱含層輸出、輸出層輸出、權(quán)值更新、閾值更新、四個(gè)部分,這四個(gè)部分可以用以下六個(gè)公式完成表達(dá)[5]。首先對(duì)公式中所使用到的字母進(jìn)行介紹:m-BP神經(jīng)網(wǎng)絡(luò)輸入層所設(shè)置的節(jié)點(diǎn)數(shù);n-BP神經(jīng)網(wǎng)絡(luò)輸出層所設(shè)置的節(jié)點(diǎn)數(shù);l-BP神經(jīng)網(wǎng)絡(luò)隱含層節(jié)點(diǎn)數(shù);S-BP神經(jīng)網(wǎng)絡(luò)所設(shè)置的訓(xùn)練樣本數(shù);p-BP神經(jīng)網(wǎng)絡(luò)所設(shè)置的樣本矩陣;b1=n×S-BP神經(jīng)網(wǎng)絡(luò)所設(shè)置的隱含層閾值;b2=l×S-BP神經(jīng)網(wǎng)絡(luò)所設(shè)置的輸出層閾值;w1=m×n-BP神經(jīng)網(wǎng)絡(luò)的連接權(quán)值(連接網(wǎng)絡(luò)輸入層與網(wǎng)絡(luò)隱含層);w2=l×n- BP神經(jīng)網(wǎng)絡(luò)的連接權(quán)值(連接網(wǎng)絡(luò)隱含層與網(wǎng)絡(luò)輸出層),具體公式如下所示。
隱含層輸出:
令n1=w1×p+b1,輸出a1=tansig(n1)。其中,tansig(n1) = 2/(1+exp(-2*n1))-1
(1)
輸出層輸出:
令n2=w2×p+b2,輸出a2=purelin(n2)。其中,
purelin(n2)=n2
(2)
權(quán)值更新:
w1(t+1)=w1(t)+η[(1-β)D1(t)+βD2(t-1)]
(3)
w2(t+1)=w2(t)+η[(1-β)D2(t)+βD2(t-1)]
(4)
閾值更新:
(5)
b2(t+1)=b2(t)+(yk-ok)
(6)
在完成以上四個(gè)部分時(shí),如果誤差較大則可以通過不斷調(diào)整BP神經(jīng)網(wǎng)絡(luò)所設(shè)置的權(quán)值與閾值來(lái)調(diào)整模型精度。
單純僅用BP神經(jīng)網(wǎng)絡(luò)算法架構(gòu)在危險(xiǎn)化學(xué)氣體泄漏時(shí),對(duì)于風(fēng)速的預(yù)測(cè)并不是十分精確,為了提高其預(yù)測(cè)精確度將ABC算法融入至BP神經(jīng)網(wǎng)絡(luò)算法,建立起ABC-BP神經(jīng)網(wǎng)絡(luò)架構(gòu),下面將這一架構(gòu)進(jìn)行介紹。
ABC-BP神經(jīng)網(wǎng)絡(luò)架構(gòu)是在ABC算法原理發(fā)展的基礎(chǔ)上發(fā)展的,在ABC算法原理中,提出了三只蜜蜂的概念,用以幫助人們加深對(duì)ABC算法原理的理解。蜜蜂概念中將每一個(gè)食物源頭設(shè)定為算法的一類可行性解,每個(gè)食物源頭中所包含的食物量設(shè)置為這類可行性解的適應(yīng)范圍。采蜜的蜜蜂依據(jù)一定的路線選擇不同的食物源,并在選定食物源后確定該食物源所擁有的食物量,這可以設(shè)定為一個(gè)確定適應(yīng)度的過程。在適應(yīng)不同適應(yīng)度的過程中,若新解的適應(yīng)度比最初算法原理所設(shè)置的適應(yīng)度打,則需要重新選擇食物源的位置,最終確定合適的食物源之后,再將這源頭的信息傳遞給觀察蜂,觀察蜂依據(jù)神經(jīng)網(wǎng)絡(luò)架構(gòu)最初設(shè)定的最大概率選定新的食物源位置,如果新食物源位置的適應(yīng)度大于采蜜蜂所確定的食物源位置,則選擇新的食物源位置不斷重復(fù),直到尋找到最合適的食物源即可停止。
BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)的過程中,所確定的訓(xùn)練精度是最重要的一項(xiàng)參數(shù),高訓(xùn)練精度可以建立精度最高的風(fēng)度預(yù)測(cè)模型[6]。利用ABC模型與BP神經(jīng)網(wǎng)絡(luò)結(jié)合所建立的風(fēng)速模擬預(yù)測(cè)模型,可以分為初始化食物源、計(jì)算適應(yīng)度值、交叉變異、概率計(jì)算四個(gè)部分。初始化食物源:設(shè)定F個(gè)食物源,每一個(gè)所設(shè)定的食物源代表的參數(shù)即為需要優(yōu)化的權(quán)值閾值。計(jì)算適應(yīng)度時(shí)需要將所設(shè)定的食物源數(shù)值代入公式(2),所得出的結(jié)果再代入下面的公式:
(7)
交叉變異如公式(8)所示:
Vij=xij+φij(xij-xkj)
(8)
概率計(jì)算如公式(9)所示:
(9)
在計(jì)算概率后得出的結(jié)果需要在[0,1]范圍內(nèi)隨機(jī)選擇一個(gè)數(shù)值進(jìn)行比較,如果所選擇的隨機(jī)數(shù)大于所計(jì)算的概率,則需要返回上一步驟,繼續(xù)進(jìn)行交叉變異過程。
圖1 不同算法的預(yù)測(cè)值與實(shí)際值對(duì)比曲線圖
圖2 不同算法的預(yù)測(cè)誤差圖
經(jīng)過模型融合后,可以最大程度上降低神經(jīng)網(wǎng)絡(luò)的誤差值,這個(gè)優(yōu)勢(shì)是BP神經(jīng)網(wǎng)絡(luò)算法與ABC算法優(yōu)化權(quán)值閾值優(yōu)化之后得到的。在算法設(shè)計(jì)中假設(shè)所設(shè)定的食物源數(shù)量為100,則在實(shí)驗(yàn)過程中所需要迭代10000次才可以完成實(shí)驗(yàn)過程,這是指數(shù)增長(zhǎng)的過程。所設(shè)定的食物源數(shù)量越多,則得到的誤差性能目標(biāo)值越小,這就不需要進(jìn)行數(shù)據(jù)的二次優(yōu)化。
為了比較各類算法與BP神經(jīng)網(wǎng)絡(luò)結(jié)合的優(yōu)缺點(diǎn),將PSO-BP神經(jīng)網(wǎng)絡(luò)、GA-BP神經(jīng)網(wǎng)絡(luò)、ABC- BP神經(jīng)網(wǎng)絡(luò)進(jìn)行的預(yù)測(cè)值與實(shí)際數(shù)據(jù)數(shù)值進(jìn)行對(duì)比,所得出的數(shù)據(jù)圖如圖1所示,對(duì)比不同算法所得出的預(yù)測(cè)數(shù)據(jù)的誤差數(shù)值如下圖2所示,所得出的不同算法運(yùn)算所得出的平均誤差如下表1所示。通過圖形與數(shù)據(jù)對(duì)比可以看出ABC-BP神經(jīng)網(wǎng)絡(luò)算法是最合理的算法。
圖1中可以看出,在4h之后,三種算法所得出的預(yù)測(cè)值的走向發(fā)生了明顯的變化,其中GA-BP算法以及PSO-BP算法所得出的預(yù)測(cè)結(jié)果與實(shí)際值發(fā)生了較大程度的偏離,而ABC-BP算法所得出的數(shù)值與實(shí)際值基本吻合。
由圖2可以看出,三種算法所計(jì)算出的誤差結(jié)果差別較大,尤其在4h后的誤差走向圖完全不同??梢詮膱D2中看出ABC-BP算法所得出的風(fēng)速誤差最小。另外,不同算法的平均預(yù)測(cè)誤差率如表1所示:
表1 不同算法的平均預(yù)測(cè)誤差率
通過對(duì)比可以看出ABC-BP算法的平均誤差率最小,控制在2%以內(nèi)。其他兩種算法的誤差率已經(jīng)超過了5%。
基于ABC-BP神經(jīng)網(wǎng)絡(luò)模型算法,可以精準(zhǔn)的獲得氣體擴(kuò)散趨勢(shì),既可以獲得短期趨勢(shì)又可以獲得長(zhǎng)期趨勢(shì),并對(duì)有毒氣體擴(kuò)散的主方向進(jìn)行預(yù)警。對(duì)比網(wǎng)絡(luò)數(shù)據(jù)可以得出覆蓋面積圖示,其中,對(duì)比模型預(yù)測(cè)范圍以及實(shí)際擴(kuò)散范圍可以計(jì)算出危險(xiǎn)化學(xué)氣體的實(shí)際擴(kuò)散趨勢(shì)。
綜上所述,風(fēng)速以及風(fēng)力的大小會(huì)對(duì)危險(xiǎn)化學(xué)氣體的擴(kuò)散產(chǎn)生影響,短期的風(fēng)速預(yù)測(cè)系統(tǒng)可以提前預(yù)估有毒氣體的擴(kuò)散范圍,提前對(duì)周邊居民進(jìn)行預(yù)警。傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型的精度并不十分精確,將ABC算法融入后可以完成對(duì)所確立的模型進(jìn)行校正,最終提高系統(tǒng)的預(yù)測(cè)精度。