蒲國林,劉篤晉
(四川文理學院 智能制造學院,四川 達州 635000)
當前環境污染問題日益引起人們的關注,顆粒物、二氧化硫、氮氧化物等大氣污染物對人體健康和生態環境都產生了很大影響[1]。空氣質量預測[2-3]對于評價空氣質量、管控環境污染、保持人類健康具有重要作用。傳統的環境空氣質量預測方法較多,如統計預測法、數值預測法等,由于影響環境空氣質量的因素較為復雜[4],大多具有非線性特性,這些傳統方法在描述和刻畫非線性因素方面并不適合,因而這些方法對環境空氣預測的準確度并不理想[5]。而人工神經網絡是現代神經科學發展的重要成果[6],由于天然具有的自適應、自學習、自組織等優點,并具有良好的非線性表現能力[7],許多研究者運用人工神經網絡進行環境空氣質量預測,取得了明顯進步。其中最為典型的是運用反向傳播神經網絡進行環境空氣質量預測[8-10],但BP傳播神經網絡收斂時間較長,并且容易陷入局部最優,因此許多研究者對此進行了改進[11-12],并取得了積極進步。但由于各地的環境空氣實際情況并不一樣,除主要受各地環境空氣質量和當地大氣污染物排放的影響外,還受氣候變化和氣象因素變化的影響。研究表明[13-14],在一個地區環境污染物排放物相對穩定的情況下,氣象因素對當地環境空氣質量的變化將產生重要影響。因而研究具有非線性特性的人工神經網絡對環境空氣質量預測具有重要意義,目前研究的重點主要在人工神經網絡的網絡結構調整、誤差函數構造、權值和閾值學習算法的選取[15]等方面。
針對人工神經網絡易陷入局部最優、收斂速度慢等問題,文中應用群體智能算法中應用較為廣泛的人工蜂群算法[16-17]進行改進,將改進后的人工蜂群算法和反向傳播神經網絡相結合以預測環境空氣質量,并通過實驗進行驗證。
人工神經網絡實際上是用大量的計算單元(神經元)構成的一個具有非線性處理功能的網絡系統,并且具有一定的記憶、學習和計算等人腦神經系統具有的智能處理能力。人工神經網絡的神經元是人工神經網絡的基本處理單元,一般具有多輸入/單輸出的特點,其基本結構如圖1所示。

圖1 典型的神經元模型
圖中,xj(j=1,2,…,n)是神經元i的輸入信號;wij是神經網絡權值;ui是輸入信號計算后的輸出;θi為閾值(偏差),用bi表示;神經元i的輸出函數公式如下:
(1)
人工神經網絡的學習就是一個根據一定方法或規則不斷調整修改權值和閾值的過程,調整神經網絡權值和閾值的學習方法較多,其中主要是有監督學習的神經網絡應用較為廣泛,主要原理是在神經網絡訓練過程中輸入/輸出是成對提出,根據神經網絡實際輸出和期望輸出之間誤差的方向和大小按一定規則調整。研究表明,含一個隱含層的3層BP神經網絡,只要有足夠多的神經元,就能以任意精度逼近有界區域上的任意連續函數。
誤差反射傳播神經網絡是一種多層前饋神經網絡,具有良好的非線性映射、泛化和容錯能力,訓練目標函數采用的是實際輸出和期望輸出的平方和誤差,其誤差函數如下:
(2)
其中,D表示訓練的數據集;tO和DO分別表示BPNN模型訓練中的目標輸出和實際輸出,但其采用的是基于梯度下降的BP算法,故存在收斂速度慢、容易陷入局部極小值等缺陷,這些缺陷嚴重影響了BP網絡的應用。
人工蜂群算法以隨機初始化方式產生HS個蜜源的蜂群,第i個蜜源對應算法一個可行解為EXi,每個蜜源對應可行解維度為D,令j∈{1,2,…,D},第i個蜜源隨機產生的位置公式如下:
EXi,j=EXmin,j+β(EXmax,j-EXmin,j)
(3)
其中,EXi,j表示隨機產生的第i個解第j維分量位置的解;EXmin,j和EXmax,j分別表示第i個蜜源對應可行解第j維分量的下限和上限;β∈(0,1)是一個隨機數。
在人工蜂群算法的不斷迭代搜索過程中,雇傭蜂、跟隨蜂采用同一個搜索公式尋找蜜源對應可行解,最終目標是尋找到全局最優解。偵察蜂用式3隨機搜索全局最優解,其中雇傭蜂、跟隨蜂用式4搜索最優解。
EVi,j=EXi,j+SRi,j(EXi,j-EXi,k)
(4)
其中,EXi,j表示當前位置可行解;SRi,j∈[-1,1]是一個隨機數,用來控制蜜蜂的搜索空間大小;EXi,k表示不同于EXi,j的隨機解,k∈{1,2,…,HS};EVi,j表示在當前位置EXi,j后產生的下一個可行解位置。
研究發現,在人工蜂群算法雇傭蜂和跟隨蜂的不斷迭代尋優過程中,在搜索早期為了保證盡快得到全局最優解,需要較大的搜索空間,在算法搜索后期的全局最優解附近需要較小的搜索空間。但傳統人工蜂群算法中,對于控制參數SRi,j是一個不加控制的隨機產生,隨機產生有利于多樣性的尋優,但其搜索空間大小不加控制是不利于算法的全局最優解的尋求,因而文中對式4的搜索空間控制參數SRi,j進行改進,用一個遞減函數ε來控制空間搜索參數SRi,j,其函數如下所示:
(5)
其中,SRmax和SRmin分別取0.9和0.4;w1∈(0,0.5),w2∈[2π,4π];ct表示當前蜂群的迭代次數;tmax表示最大控代次數。
根據式5,改進后雇傭蜂及跟隨蜂搜索公式如下:
EVi,j=EXi,j+εSRi,j(EXi,j-EXi,k)
(6)
式5是一個遞減函數,隨著迭代次數的增加,在隨機搜索的基礎上限制搜索空間逐漸縮小,加快了全局最優解的求解過程。
本項目用人工蜂群算法優化BP神經網絡,主要是用人工蜂群算法的迭代來代替BP神經網絡算法中的梯度修正。由于人工蜂群算法的搜索過程主要是蜂群在不同維度上的速度和位置的改變,而神經網絡學習過程主要是權值和閾值的不斷更新,因此蜂群中每只蜜蜂的位置向量對應BP神經網絡迭代中的權值和閾值。蜂群中每只蜜蜂的維數由神經網絡中起連接作用的權值的數量和閾值個數所決定,用神經網絡輸出誤差作為適應度函數,神經網絡的誤差表示適應度值,誤差越小表明蜜蜂在搜索空間中的性能越好。蜜蜂在其搜索空間內不斷移動搜索使網絡輸出層的誤差最小,改變蜜蜂的速度即更新網絡的權值。每次迭代過程中產生誤差最小的蜜蜂為目前全局最優位置的蜜蜂。當訓練過程不斷重復直到達到滿足要求的誤差或者超過預先設定的迭代次數時,迭代終止,算法結束,此時得到的權值集合即為最終結果。
要實現蜂群算法優化神經網絡對環境空氣質量的預測,蜂群的適應度函數的選擇至關重要。文中所用的神經網絡模型屬于MLP,訓練算法是采用BP方法進行訓練,故稱為BP神經網絡,并采用三層MLP結構,實現人工蜂群算法優化環境空氣質量預測的具體算法如下:
(1)隨機初始化文中提出的改進人工蜂群算法(KABC),隨機產生HS個蜜源,每個蜜源對應一組神經網絡權值參數,并設定權值參數的取值范圍。
(2)定義每個蜂群個體的適應度函數為該個體對應的一組權值下誤差值的倒數,并根據適應度大小對蜂群所有個體按從大到小排序。
(3)選擇適應度值較大的一組位置指派給雇傭蜂,適應度值居中的一組指派為跟隨蜂,最小的一組為偵察蜂。
(4)雇用蜂在當前迭代位置附近根據式4搜索候選蜜源,若搜索到的蜜源適應度值高于當前蜜源適應度值,則拋棄當前蜜源,否則保持不變。
(5)跟隨蜂在雇傭蜂所求蜜源中根據輪盤賭策略選擇所要跟隨的蜜源。
(6)若經多次迭代更新后,蜜源適應度值仍然沒有更新,對應的雇傭蜂降為偵察蜂,按式3隨機搜索蜜源。
(7)將三種蜜蜂的搜索結果適應度值進行排序比較,若不能滿足終止條件,則轉向步驟3,若滿足條件則適應度最大的蜜源即是全局最優解。
(8)所得的全局最優解對應的一組神經網絡權值即為所求。
實驗數據來自四川省達州市環境局官網發布的日空氣質量數據(數據地址為:http://www.tianqihoubao.com/aqi/dazhou.html),時間段為2016年最近6個月數據和對應的2015年歷史數據。實驗中輸入的是輸入時段的空氣質量濃度數據,包括PM2.5、PM10、NO2、SO2、CO、O3,還有歷史天氣數據,包括天氣狀況、氣溫、風力、風向。這些空氣濃度數據和天氣數據都經過相應的預處理歸一化再進行神經網絡訓練。實驗硬件平臺CPU為2.4 GHz,內存4 GB,Win7旗艦版操作系統,MATLAB2014b實驗環境,在預測時輸入當前時段空氣濃度數據和預測時段天氣預報的天氣數據,輸出的是預測時段的空氣質量數據。采用基于反向傳播神經網絡(BPNN)、基于人工蜂群算法的反向傳播神經網絡(ABC-BP)、基于改進蜂群算法的反向傳播神經網絡(BPKABC-BP)進行實驗,結果如圖2和圖3所示。采用均方誤差(MSE)、平均絕對百分比誤差(MAPE)、平均濃度準確率(PJB)三個指標對三種算法性能進行定量比較,結果如表1和表2所示。

圖2 三種算法預測值與實際值對比(2016年11月達州PM2.5)

圖3 三種算法預測值與實際值對比(2016年11月達州SO2)
從圖2和圖3可以看出,在BPNN、ABC-BP、KABC-BP三種算法中,KABC-BP算法與實際數據最為接近,基于ABC-BP算法的預測數據和實際數據較為接近,而基于BPNN的預測數據與實際數據偏離較大,有些數據甚至差距非常明顯。

表1 在PM2.5下MSE、MAPE、PJB的比較

表2 在SO2下MSE、MAPE、PJB的比較
表1中PM2.5在均方誤差的指標上最小,只有12.88,平均絕對百分比誤差只有0.07,也就是平均預測準確度為93%;表2中SO2在均方誤差指標上只有1.91,平均絕對百分比誤差只有0.11,也就是平均預測準確度為89%。表1和表2的整體指標數據還表明,基于人工蜂群反向傳播神經網絡算法的天氣質量預測準確度比反向傳播神經網絡算法的準確度高,比基于改進人工蜂群反向傳播神經網絡算法預測準確度低。
空氣質量預測受多種因素的影響,文中通過構建一個非線性遞減函數實現了基本人工蜂群算法中雇傭蜂和跟隨蜂搜索范圍的動態調整,從而提出了一種改進人工蜂群算法,并將改進算法和反向傳播神經網絡相結合,提出了一種人工蜂群和反向傳播神經網絡相結合的混合算法,并應用該算法實現了天氣質量數據預測。實驗結果表明,該算法取得了較為理想的效果。