牛玉霞
(南通科技職業(yè)學(xué)院,江蘇 南通 226007)
基于遺傳算法和BP神經(jīng)網(wǎng)絡(luò)的空氣質(zhì)量預(yù)測模型研究
牛玉霞
(南通科技職業(yè)學(xué)院,江蘇 南通 226007)
隨著霧霾天氣頻發(fā),大氣污染和環(huán)境管理引起了人們越來越多的關(guān)注。能夠精確監(jiān)測化工園區(qū)廠企排放污染物,并能根據(jù)周邊環(huán)境變化對空氣質(zhì)量做出相應(yīng)預(yù)測,對廣大民眾健康甚至生命安全而言,具有重要的現(xiàn)實意義。本文利用遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)重和闕值,根據(jù)天氣預(yù)報的相關(guān)變量,構(gòu)建了空氣質(zhì)量預(yù)測模型,使預(yù)測模型的網(wǎng)絡(luò)收斂速度、預(yù)測精度、擬合度以及泛化能力都有所w提高。
BP神經(jīng)網(wǎng)絡(luò);遺傳算法;VOCs;空氣質(zhì)量預(yù)測
《中華人民共和國環(huán)境保護法》明確提出:“生態(tài)環(huán)境是人類生存和發(fā)展的基本條件,是經(jīng)濟、社會發(fā)展的基礎(chǔ)。保護和建設(shè)好生態(tài)環(huán)境,實現(xiàn)可持續(xù)發(fā)展,是我國現(xiàn)代化建設(shè)中必須始終堅持的一項基本國策?!比欢覈幱诠I(yè)化發(fā)展前期,長期沿用高物耗、高能耗、高污染的粗放型經(jīng)濟模式,對環(huán)境造成了很大破壞。盡管環(huán)境管理部門可以通過信息化手段監(jiān)測污染源排放情況,但是污染一旦發(fā)生,無法補救。通過分析歷史數(shù)據(jù)、環(huán)境參數(shù)變化,預(yù)測污染源排放數(shù)據(jù)變化情況,在污染發(fā)生之前,給予相應(yīng)預(yù)警,可以有效保護環(huán)境。
VOCs是揮發(fā)性有機化合物(volatile organic compounds)的英文縮寫,有毒性,是造成霧霾的主要成因,分析并預(yù)測 VOCs的變化趨勢,對空氣質(zhì)量的變化預(yù)測有重要意義。改進的神經(jīng)網(wǎng)絡(luò)運用改進的算法訓(xùn)練神經(jīng)網(wǎng)絡(luò),繼承了神經(jīng)網(wǎng)絡(luò)自學(xué)習(xí)和自適應(yīng)的優(yōu)點,同時避免了神經(jīng)網(wǎng)絡(luò)可能收斂到局部最優(yōu)的缺點。本文選取江蘇南通化工企業(yè)VOCs的現(xiàn)場監(jiān)測小時數(shù)據(jù),對BP神經(jīng)網(wǎng)絡(luò)模型的個體編碼方式、適應(yīng)度函數(shù)和種群交叉率、變異率進行優(yōu)化,以實現(xiàn)對空氣質(zhì)量變化趨勢的預(yù)測。
圖1 BP神經(jīng)網(wǎng)路模型Fig.1 BP neural network model
當(dāng)學(xué)習(xí)模式供給網(wǎng)絡(luò)后,神經(jīng)元激活值從輸出層傳播,在輸出層各神經(jīng)元輸出對應(yīng)的值,然后按照減少與期望輸出與實際輸出的準則,從輸出層回到隱含層,再回到輸入層修正各個網(wǎng)絡(luò)系數(shù)。由于BP網(wǎng)絡(luò)有處于中間的隱含層,并有相應(yīng)的學(xué)習(xí)規(guī)則可循,可以訓(xùn)練這種網(wǎng)絡(luò),使其具有對非線性模式的識別能力。因此,本文采用三層 BP神經(jīng)網(wǎng)絡(luò)對空氣質(zhì)量預(yù)測展開研究。
BP神經(jīng)網(wǎng)絡(luò)通過修正輸出層和隱含層的權(quán)值,
神經(jīng)網(wǎng)絡(luò)模仿腦細胞的結(jié)構(gòu)和功能,模擬了人的思維模式和信息處理機制。由一些簡單單元連接組成,每一個單元都有一個輸出值,傳遞給下一連接單元,作為下個連接單元的輸入值。具有非線性的特點,運用訓(xùn)練樣本進行自學(xué)習(xí)、自適應(yīng),從而實現(xiàn)對全部數(shù)據(jù)的預(yù)測。
BP(back propagation)神經(jīng)網(wǎng)絡(luò)是一種按誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練的多層前饋網(wǎng)絡(luò),是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型之一。BP網(wǎng)絡(luò)能學(xué)習(xí)和存貯大量的輸入——輸出模式映射關(guān)系,而無需事前揭示描述這種映射關(guān)系的數(shù)學(xué)方程。它的學(xué)習(xí)規(guī)則是使用最速下降法,通過反向傳播來不斷調(diào)整網(wǎng)絡(luò)的權(quán)值和閾值,使網(wǎng)絡(luò)的誤差平方和最小。BP神經(jīng)網(wǎng)絡(luò)模型拓撲結(jié)構(gòu)包括輸入層(input)、隱含層(hide layer)和輸出層(output layer)。每一層由一定數(shù)量的神經(jīng)元構(gòu)成,其拓撲結(jié)構(gòu)如圖1所示。反復(fù)訓(xùn)練學(xué)習(xí),使誤差不斷減小,從而得到滿意的結(jié)果。假定網(wǎng)絡(luò)訓(xùn)練樣本集合為其中第t層網(wǎng)絡(luò)的神經(jīng)元有個頂點,假設(shè)第k個神經(jīng)元頂點的連接權(quán)值向量為,闕值為θk,那么第k個神經(jīng)元對輸入樣本數(shù)據(jù)xt的實際輸出為:
具體學(xué)習(xí)過程如下:
(1)初始化訓(xùn)練樣本和闕值,確定J的終止值ε。
(2)計算各層神經(jīng)元的實際輸出如式(1)所示。
(3)對每個訓(xùn)練樣本zp,按照式(2)計算誤差。
(4)如果滿足誤差要求,即J<ε,則結(jié)束算法;如果不滿足,則執(zhí)行第(5)步。
(5)反向計算每個訓(xùn)練樣本的網(wǎng)絡(luò)連接權(quán)值和神經(jīng)元闕值的修正量,調(diào)整隱含層的權(quán)值 Win和隱含層的權(quán)值Wim。
(6)繼續(xù)執(zhí)行第(2)步,直到滿足J<ε為止。
BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練算法流程圖如圖2所示。
圖2 BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練算法流程圖Fig.2 BP neural network learning and training algorithm flow chart
遺傳算法(Genetic Algorithm)模擬生物進化過程和遺傳學(xué)機理,自然選擇,優(yōu)勝劣汰,從而得到最優(yōu)解。遺傳算法的整體搜索策略和優(yōu)化搜索方法在計算時不依賴于梯度信息或其它輔助知識,而只需要影響搜索方向的目標函數(shù)和相應(yīng)的適應(yīng)度函數(shù),所以遺傳算法提供了一種求解復(fù)雜系統(tǒng)問題的通用框架,它不依賴于問題的具體領(lǐng)域,對問題的種類有很強的魯棒性,被廣泛應(yīng)用于許多科學(xué)領(lǐng)域。遺傳算法包括選擇、交叉和變異三個算子。
(1)選擇算子
從群體中選擇優(yōu)勝的個體,直接遺傳到下一代,或者通過交叉產(chǎn)生新的個體再遺傳到下一代。最常用的方法是輪盤賭選擇法,假設(shè)種群中個體 i的適應(yīng)度函數(shù)是fi,種群中的個體數(shù)量是n,那么是群里適應(yīng)度的和,產(chǎn)生后代的能力如式(3)所示,其中k=1,2…。
(2)交叉算子
把兩個不同的父代染色體基因進行交換,產(chǎn)生新的個體。由于父代是經(jīng)過選擇策略產(chǎn)生的優(yōu)勝個體,所以遺傳給后代的也是優(yōu)良基因,如此進行多次循環(huán)迭代,最后出現(xiàn)的集多數(shù)優(yōu)良基因于一體的個體便是最優(yōu)解。常用的交叉有單點交叉、兩點交叉、多點交叉、均勻交叉等。
(3)變異算子
以一定概率改變個體染色體中的部分基因,從而形成新個體。對由0和1編碼的個體來說,就是將位值反轉(zhuǎn)。遺傳算法中的變異操作是為了保持種群的多樣性,防止基因丟失。
遺傳算法的基本步驟如圖3所示。
(1)給種群個體進行編碼。
(2)初始化種群。染色體是組成種群的基本單元,一個個體即一個染色體,在編碼的基礎(chǔ)上,給每個個體一個初始解。
(3)設(shè)計適應(yīng)度函數(shù),確定個體的環(huán)境適應(yīng)能力,適應(yīng)度值越高,適應(yīng)能力越強,存活的幾率就越大。
(4)基于適應(yīng)度函數(shù),從父代種群中選擇優(yōu)勝個體。
(5)根據(jù)交叉率執(zhí)行交叉操作。
(6)根據(jù)變異率執(zhí)行變異操作。
(7)判斷是否達到終止條件,如果達到了,轉(zhuǎn)向(8),否則,轉(zhuǎn)向(3)。
(8)完成進化,選出適應(yīng)度函數(shù)值最大的個體作為問題的最優(yōu)解。
圖3 遺傳算法基本步驟Fig.3 Basic steps of genetic algorithm
由于 BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)函數(shù)比較復(fù)雜,在梯度下降中可能會陷入局部極值,使得訓(xùn)練結(jié)果不如人意或直接失敗。而遺傳算法有全局搜索的優(yōu)勢,可以彌補BP神經(jīng)網(wǎng)絡(luò)的不足,利用遺傳算法對BP神經(jīng)網(wǎng)絡(luò)進行優(yōu)化,大大提升了預(yù)測結(jié)果的穩(wěn)定性和精確性。
優(yōu)化的 BP神經(jīng)網(wǎng)絡(luò)空氣質(zhì)量預(yù)測模型的算法大致分為三部分。
(1)確定BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)
依據(jù)VOCs預(yù)測需求,以天氣預(yù)報和空氣質(zhì)量數(shù)據(jù)為基礎(chǔ),構(gòu)建 BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),即設(shè)計輸入層、輸出層變量,確定隱含層的節(jié)點數(shù)和層數(shù)。
(2)優(yōu)化BP神經(jīng)網(wǎng)絡(luò)
設(shè)計適應(yīng)度函數(shù),計算每個個體的適應(yīng)度值,通過遺傳算法中的選擇、交叉、變異等相關(guān)操作,確定優(yōu)勝個體,優(yōu)化 BP神經(jīng)網(wǎng)絡(luò)中每一層的權(quán)重和闕值。
(3)形成預(yù)測模型
利用優(yōu)化的 BP神經(jīng)網(wǎng)絡(luò)進行種群初始化,學(xué)習(xí)訓(xùn)練,輸出預(yù)測結(jié)果。
空氣質(zhì)量預(yù)測模型的算法流程如圖4所示。
圖4 優(yōu)化的BP神經(jīng)空氣質(zhì)量預(yù)測模型流程圖Fig.4 Optimized BP neural air quality prediction model flow chart
3.2.1 設(shè)計BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
(1)設(shè)計輸入、輸出層
輸入層神經(jīng)元節(jié)點的數(shù)量對 BP神經(jīng)網(wǎng)絡(luò)而言非常重要,節(jié)點過多或過少都會影響預(yù)測結(jié)果。根據(jù)實際應(yīng)用情況,本文選取對短期VOCs預(yù)測結(jié)果產(chǎn)生影響的主要因素:VOCs歷史監(jiān)測數(shù)據(jù)、天氣情況、風(fēng)向、風(fēng)力、天氣溫度等作為空氣質(zhì)量預(yù)測模型的輸入變量。因此,輸入層的神經(jīng)元節(jié)點確定為6,輸出層的神經(jīng)元節(jié)點數(shù)為1,即VOCs污染預(yù)測值。如表1所示。
表1 空氣質(zhì)量預(yù)測模型輸入、輸出層神經(jīng)元節(jié)點Tab.1 Air quality prediction model input and output layer neuron node
(2)設(shè)計隱含層
采用試湊法確定隱含層的節(jié)點數(shù),公式如式(4)所示。
n是輸入層的神經(jīng)元節(jié)點數(shù)量,q是輸出層的神經(jīng)元節(jié)點數(shù),α是一個整數(shù),取值范圍為[1,10]。根據(jù)經(jīng)驗,結(jié)合公式(4),初步確定隱含層的神經(jīng)元節(jié)點數(shù)為4-14,用同一組樣本進行訓(xùn)練,對隱含層節(jié)點數(shù)的最佳取值進行實驗,取相對誤差最小,精確度最高的一組數(shù)據(jù),最終確定隱含層的節(jié)點數(shù)為6。
(3)設(shè)計傳遞函數(shù)
本文的 BP神經(jīng)網(wǎng)絡(luò)模型輸出層神經(jīng)元使用purelin線性函數(shù)傳遞參數(shù),隱含層使用tansig函數(shù)傳遞參數(shù),其數(shù)學(xué)模型如圖5所示。
圖5 預(yù)測模型輸出層和隱含層傳遞函數(shù)Fig.5 Prediction model output layer and hidden layer transfer function
(4)設(shè)計學(xué)習(xí)函數(shù)
采用L-M(Leveberg-Marquardt)算法為預(yù)測模型的學(xué)習(xí)函數(shù),該算法與高斯牛頓法非常相似,具有同樣的網(wǎng)絡(luò)收斂和學(xué)習(xí)速度。L-M有效提升了迭代計算效率,總體性能也大大提高。具體實現(xiàn)步驟如下:
①設(shè)λ為衰變因子,初始值取 0.1,設(shè)θ為倍數(shù)常量,取值為10,λ最大取值為 h = e25。
②設(shè)W是當(dāng)前的權(quán)值向量,利用反向傳播算法,計算誤差函數(shù)在連接權(quán)上的分梯度以及海森矩陣H。
③調(diào)整海森矩陣,求得H′= H + λ I。
⑤計算W′對應(yīng)的誤差J′。
⑥比較J′與終止值 ,若J′<ε,則跳轉(zhuǎn)至⑧。
⑦λ=λ* θ,若λ>h,則λ=h,跳轉(zhuǎn)至③,否則進入下一步。3.2.2 利用遺傳算法優(yōu)化預(yù)測模型的權(quán)重與闕值
BP神經(jīng)網(wǎng)絡(luò)的初始值和闕值都是隨機生成的,會導(dǎo)致輸出結(jié)果不穩(wěn)定。利用遺傳算法的優(yōu)勢,通過全局搜索,給 BP神經(jīng)網(wǎng)絡(luò)的初始值和闕值進行最優(yōu)選擇,二者結(jié)合,使得預(yù)測模型更加科學(xué)、高效。下面詳細闡述遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的過程。
(1)初始化種群
將 BP神經(jīng)網(wǎng)絡(luò)每層的權(quán)重和闕值進行編碼,用隨機法初始化種群。
(2)計算適應(yīng)度值
利用式(5)計算適應(yīng)度值。
其中,n為BP神經(jīng)網(wǎng)絡(luò)中輸出節(jié)點數(shù),k為相關(guān)系數(shù),iy為第 i個節(jié)點輸出的期望值,io第 i個節(jié)點輸出的預(yù)測值。
(3)選擇操作
采用輪盤賭法進行選擇操作,利用本文中的公式(3)計算個體產(chǎn)生后代的能力。
(4)交叉操作
采用實數(shù)交叉的方法,第m個染色體αm和第n個染色體αi在j位的交叉操作如式(6)所示。
其中x為[0,1]的一個隨機數(shù)。
(5)變異操作
對第m個個體第n個基因αmn進行變異操作,如式(7)所示。
其中,αmin和αmax分別為基因αmn的下界和上界,r是[0,1]之間的一個隨機數(shù)。
本文構(gòu)建的 GA-BP空氣質(zhì)量預(yù)測模型,以MATLAB為編程環(huán)境,選取江蘇省南通市化工企業(yè)實時監(jiān)測的VOCs小時數(shù)據(jù)為樣本,結(jié)合天氣預(yù)報氣象數(shù)據(jù)(天氣、溫度、風(fēng)向、風(fēng)力等),對模型進行了模擬實驗,并與 BP模型進行了對比,得出以下結(jié)論。
(1)BP網(wǎng)絡(luò)模型經(jīng)過15次迭代誤差值收斂到最小,GA優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)迭代次數(shù)是6,說明優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)收斂速度更快。
(2)利用 BP神經(jīng)網(wǎng)絡(luò)模型得到的污染物預(yù)測結(jié)果平均相對誤差在 20%-60%之間,GA優(yōu)化的預(yù)測模型得到的平均相對誤差在20%-40%之間,說明優(yōu)化的預(yù)測模型更接近污染物真實值變化趨勢,擬合度更高。
(3)優(yōu)化的 BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型對空氣質(zhì)量指數(shù)的預(yù)測誤差明顯小于 BP網(wǎng)絡(luò)預(yù)測模型,說明GA-BP預(yù)測模型預(yù)測精度更高。
(4)通過對兩種模型的輸出結(jié)果與期望輸出進行分析,發(fā)現(xiàn)GA-BP模型的相關(guān)系數(shù)更高,說明優(yōu)化的預(yù)測模型有更強的泛化能力。
本文構(gòu)建了 BP神經(jīng)網(wǎng)絡(luò)空氣質(zhì)量預(yù)測模型,并利用遺傳算法對模型進行了優(yōu)化,使得網(wǎng)絡(luò)收斂速度、預(yù)測精度、擬合度以及泛化能力都有所加強。具體實驗過程、樣本選擇、樣本數(shù)據(jù)處理、預(yù)測結(jié)果數(shù)據(jù)等將在其他文獻中詳細闡述。遺傳算法雖然在一定程度改善了 BP神經(jīng)網(wǎng)絡(luò)在學(xué)習(xí)過程中容易陷入局部極小值的情況,但并沒有全選消除。在模型泛化性和函數(shù)擬合度之間找到一個良好的平衡點,是本研究進一步要探索的地方。
在工業(yè)化進程日益加快的今天,我們更應(yīng)該重視保護寶貴的空氣資源,利用信息化手段,對污染物的排放進行實時監(jiān)測和有效預(yù)測,可以使人們的日常活動有一定的前瞻性和針對性,從而有效保護環(huán)境,維護人類健康。
[1] 趙李明. 基于遺傳算法和BP神經(jīng)網(wǎng)絡(luò)的廣州市空氣質(zhì)量預(yù)測與時空分布研究[D]. 江西理工大學(xué), 2016.
[2] 鮑慧. 基于BP-GA神經(jīng)網(wǎng)絡(luò)的六安市空氣質(zhì)量預(yù)測研究[D]. 安徽大學(xué), 2015.
[3] 祝翠玲, 蔣志方, 王 強. 基于B-P神經(jīng)網(wǎng)絡(luò)的環(huán)境空氣質(zhì)量預(yù)測模型[J]. 計算機工程與應(yīng)用, 2007, 43(22): 223-227.
[4] 張齊, 羅國亮, 李 佳, 趙坤榮. 優(yōu)化進化神經(jīng)網(wǎng)絡(luò)的空氣質(zhì)量預(yù)測研究[J]. 計算機工程與應(yīng)用, 2009, 45(28): 211-214.
[5] Jeong Gu-Young, Yu Kee - Ho. Morphological classification of ST segment using reference STs set[C]//29th Annual International Conference of the IEEE EMBS, 2007: 636-639.
[6] Paoli C, Notton G, Nivet M L, et al. A Neural Network Model Forecasting for Prediction of Hourly Ozone Concentration in Corsica: Environment and Electrical Engineering(EEEIC), 2011 10th International Conference on, 2011[C].
[7] 徐玲, 楊丹, 王時龍, 聶建林. 基于進化神經(jīng)網(wǎng)絡(luò)的刀具壽命預(yù)測[J]. 計算機集成制造系統(tǒng), 2008, 14(1): 167-171.
[8] 楊家榮, 許偉, 談宏志. 基于人工神經(jīng)網(wǎng)絡(luò)的車間產(chǎn)能預(yù)測[J]. 軟件, 2014, 35(8): 22-25.
[9] 李政義. 基于GIS的城市空氣污染預(yù)警及顯示研究[D]. 西安科技大學(xué), 2014.
[10] 陳曉梅, 楊成祥. 遺傳進化算法在時間序列建模中的應(yīng)用[J]. 計算機工程與應(yīng)用, 2005, 41(5): 215-217.
Research on Air Quality Prediction Model Based on Genetic Algorithm and BP Neural Network
NIU Yu-xia
(Nantong science and technology Academy, Nantong, Jiangsu 226007)
With the frequent haze and haze, more and more attention has been paid to the air pollution and environmental management. It can accurately monitor pollutants emitted by factories and enterprises in chemical industrial parks, and predict air quality according to the changes of surrounding environment, which is of great practical significance for the health and even life safety of the masses. In this paper, we use genetic algorithm to optimize the weights and threshold values of BP neural network. According to the relevant variables of weather forecast, we build the prediction model of air quality, so that the prediction speed, prediction accuracy, fitting degree and generalization ability of the prediction model are all improved.
BP neural network; Genetic algorithm; VOCs; Air quality prediction
TP391.8
A
10.3969/j.issn.1003-6970.2017.12.009
本文著錄格式:牛玉霞. 基于遺傳算法和BP神經(jīng)網(wǎng)絡(luò)的空氣質(zhì)量預(yù)測模型研究[J]. 軟件,2017,38(12):49-53
南通市科技局科技計劃項目“基于物聯(lián)網(wǎng)的化工園區(qū)VOCs在線監(jiān)控系統(tǒng)研究”(MS12016028)
牛玉霞(1981-),女,講師,主要研究方向:計算機軟件技術(shù)、物聯(lián)網(wǎng)技術(shù)。