諸飛 俞阿龍
摘 要: 針對工廠污水水質(zhì)評價準確性低、實時性差等問題,提出一種將改進遺傳算法(GA)和BP神經(jīng)網(wǎng)絡相結(jié)合對工廠污水的水質(zhì)進行評價的方法。GA?BP神經(jīng)網(wǎng)絡不僅具有BP神經(jīng)網(wǎng)絡的非線性映射能力,還具有遺傳算法的全局搜索能力。采用自適應算法對GA的交叉率和變異率進行改進,用GA優(yōu)化BP的權(quán)值和閾值,將最優(yōu)權(quán)值和閾值送給BP神經(jīng)網(wǎng)絡進行訓練、預測,并與傳統(tǒng)BP進行比較。實驗結(jié)果表明,改進的GA?BP神經(jīng)網(wǎng)絡無論是收斂性、準確性還是實時性都優(yōu)于傳統(tǒng)BP網(wǎng)絡。該方法用于污水水質(zhì)評價具有應用推廣價值。
關鍵詞: 工廠污水; 水質(zhì)分類; 改進GA; BP神經(jīng)網(wǎng)絡; 污水監(jiān)測; 自適應算法
中圖分類號: TN711?34; TP183 文獻標識碼: A 文章編號: 1004?373X(2018)11?0133?06
Research on factory sewage monitoring system based on improved GA?BP neural network
ZHU Fei1, YU Along2
(1. School of Physics and Electronic?Electrical Engineering, Ningxia University, Yinchuan 750021, China;
2. School of Physics and Electronic Electrical Engineering, Huaiyin Normal University, Huaian 223300, China)
Abstract: A water quality evaluation method of factory sewage is proposed to solve the problems of low accuracy and poor timeliness of factory sewage quality assessment, which is based on the combination of improved GA and BP neural network. The GA?BP neural network has the nonlinear mapping ability of BP neural network, and global search ability of genetic algorithm. The adaptive algorithm is used to improve the crossover rate and mutation rate of GA. The GA is used to optimize the weight and threshold of BP neural network. The optimal weight and threshold are sent to BP neural network for training, prediction and comparison with traditional BP neural network. The experimental results show that the convergence, accuracy and timeliness of the improved GA?BP neural network are better than those of traditional BP neural network. The method has a certain application and promotion value for water quality evaluation of sewage.
Keywords: factory sewage; water quality classification; improved GA; BP neural network; sewage monitoring; adaptive algorithm
目前,我國工廠污水處理技術(shù)較發(fā)達國家落后,污水水質(zhì)評價準確性差,有很多主觀的判斷成分,導致未達標的污水隨意排放[1]。水體污染日趨廣泛和嚴重,加劇了水資源的短缺狀況。從環(huán)境保護的角度來說,對工廠排放污水的水質(zhì)進行準確有效的評價顯得尤為重要。
針對工廠污水排放具有不確定性,處理過程多變、非線性、時變、強隨機等特點[2],科學有效地對工廠污水水質(zhì)進行準確有效的評價是本文研究的內(nèi)容。對水質(zhì)評價的方法很多,文獻[3]使用單因子污染指數(shù)法對丹江口水庫水質(zhì)進行評價;文獻[4]利用主成分分析法對黃河口及鄰近水域水質(zhì)進行評價;文獻[5]采用人工神經(jīng)網(wǎng)絡法對大沽河濕地海水水質(zhì)進行評價。但是這些方法都存在不足和缺點,單因子法需將評價因子與評價標準進行比較,增加了復雜性;主成分分析法需要各指標之間有較好的線性關系,而工廠污水具有很強的非線性;人工神經(jīng)網(wǎng)絡容易陷入局部最優(yōu)解。
本文將改進的GA?BP神經(jīng)網(wǎng)絡應用于工廠污水水質(zhì)評價中,不僅具有BP的非線性映射能力,而且具有GA的全局搜索能力,將兩者相結(jié)合,取長補短,構(gòu)成GA?BP神經(jīng)網(wǎng)絡來評價污水水質(zhì)。對GA的交叉率和變異率采用自適應算法進行改進,在大量歷史數(shù)據(jù)的基礎上,結(jié)合多個參數(shù),利用GA優(yōu)化BP神經(jīng)網(wǎng)絡的權(quán)值和閾值,縮小范圍后利用BP對污水水質(zhì)進行科學有效的評價,不僅結(jié)構(gòu)簡單,而且具有很強的泛化能力。
在工廠污水的排放口處,放置不同類型的傳感器節(jié)點。當工廠排放污水時,傳感器節(jié)點將檢測到污水參數(shù)值,通過ZigBee和移動通信網(wǎng)絡發(fā)送給管理中心,管理中心將接收到的各個參數(shù)值送給經(jīng)GA優(yōu)化訓練過的BP神經(jīng)網(wǎng)絡,GA?BP網(wǎng)絡對污水進行分類識別,得出該工廠污水排放情況,監(jiān)測是否達到排放標準。污水監(jiān)測系統(tǒng)整體結(jié)構(gòu)如圖1所示。
BP神經(jīng)網(wǎng)絡是一種按誤差逆?zhèn)鞑ニ惴ㄓ柧毜亩鄬忧梆伨W(wǎng)絡,由輸入層、輸出層和隱含層節(jié)點組成,只在相鄰神經(jīng)元之間有連接,可看作由一組內(nèi)聯(lián)的神經(jīng)元組成的高度并聯(lián)模型,其性能主要由拓撲結(jié)構(gòu)、權(quán)值和閾值確定[6]。訓練學習分為正向和反向。在正向傳播過程中,輸入信號通過隱含層處理并傳向輸出層,如果輸出層的信息與預期輸出之間的誤差未達到要求,則將誤差沿原路反向傳播,通過修正各連接的權(quán)值和閾值,使實際輸出和期望輸出誤差不斷減小。不斷重復此過程,使整個網(wǎng)絡誤差減小至目標值[7]。BP神經(jīng)網(wǎng)絡具有自學習、自組織、較好的容錯性和優(yōu)良的非線性逼近能力,用于對工廠污水的水質(zhì)分類識別非常適合。根據(jù)Kolmogorov定理:在一定范圍內(nèi)合理的結(jié)構(gòu)和恰當?shù)臋?quán)值條件下,含有一層隱含節(jié)點的BP網(wǎng)絡可以完成任意[n]維到[m]維映射[8]。圖2為一個三層的BP神經(jīng)網(wǎng)絡。
遺傳算法(Genetic Algorithm,GA)利用遺傳操作和“優(yōu)勝劣汰”的自然選擇來指導學習和確定搜索方向,具有全局搜索能力。參數(shù)中交叉概率[Pc]和變異概率[Pm]的選擇是影響遺傳算法行為和性能的關鍵。但是傳統(tǒng)的遺傳算法對所有個體的交叉和變異概率都選取一個固定值,在整個遺傳算法過程中保持不變。在這種情況下,如果群體中的個體彼此非常接近,則個體的選擇概率相當,交叉后不能產(chǎn)生新個體,不利于進化,甚至停滯[9]。
本文采用自適應調(diào)整規(guī)則對遺傳算法交叉率和變異率進行改進,使每個個體按適應度值大小選擇不同的交叉概率[Pc]和變異概率[Pm]。在遺傳過程中根據(jù)適應度變化自動調(diào)節(jié)這兩個控制參數(shù),這樣每個個體對環(huán)境變化就具有自適應調(diào)節(jié)能力。如式(1)和式(2)所示:
[Pc=pc1-(pc1-pc2)(fmax-f)fmax-favg,f≥favgpc1,f [Pm=pm1-(pm1-pm2)(fmax-f)fmax-favgf,f≥favgpm1,f 式中:[pc1]為初始交叉概率;[pc2]為交叉概率可以提高的最大值;[ fmax]為群體最大適應度; [f]為交叉兩個個體中較大適應度值;[favg]為每代群體平均適應度值;[pm1]為初始變異概率;[pm2]為變異概率可提高最大值;[ f]為要變異個體適應度值。 BP神經(jīng)網(wǎng)絡雖然具有很強的非線性映射能力和簡單的網(wǎng)絡結(jié)構(gòu),但也存在很多缺點,如:算法收斂速度慢;容易陷入局部最優(yōu)解[10]。 本文用改進過的遺傳算法來優(yōu)化BP神經(jīng)網(wǎng)絡,GA在優(yōu)化BP神經(jīng)網(wǎng)絡過程中能同時優(yōu)化網(wǎng)絡的拓撲結(jié)構(gòu)及其權(quán)重和閾值,使網(wǎng)絡模型依據(jù)樣本知識進行選擇,并隨問題的復雜程度而改變,可以實現(xiàn)BP網(wǎng)絡的動態(tài)自適應性。GA具有全局性、并行性、快速性、較好的適應性和魯棒性,能有效解決BP網(wǎng)絡易陷于局部極小、收斂速度慢甚至不收斂問題。GA優(yōu)化BP神經(jīng)網(wǎng)絡流程圖如圖3所示。 GA優(yōu)化BP神經(jīng)網(wǎng)絡具體步驟如下: 1) 初始化種群,選擇合適的編碼方式。針對工廠污水的特殊性,本文采用實數(shù)編碼,便于較大空間的遺傳搜索,提高遺傳算法精度要求,避免編碼和解碼的復雜性。 2) 適應度函數(shù)的選擇。把預測輸出和期望輸出之間的誤差絕對值和[E]作為個體適應度值[F],計算公式為: [F=ki=1nabs(yi-oi)] (3) 式中:[n]為網(wǎng)絡輸出節(jié)點數(shù);[oi]為BP神經(jīng)網(wǎng)絡第[i]個節(jié)點的期望輸出;[yi]為第[i]個節(jié)點的預測輸出;[k]為系數(shù)。 3) 選擇操作采用輪盤賭法,即基于適應度比例策略,每個個體[i]的選擇概率[Pi]為: [fi=kFi,Pi=fij=1Nfj] (4) 式中:[Fi]為個體[i]的適應度,由于適應度值越小越好,所以在個體選擇前對適應度值取倒數(shù);[N]為種群數(shù)目;[k]為系數(shù)。 4) 交叉操作。由于個體采用實數(shù)編碼,所以交叉操作方法采用實數(shù)交叉法,第[k]個染色體[ak]和第[l]個染色體[al]在[j]位的交叉操作如下: [akj=akj(1-b)+aljbalj=alj(1-b)+akjb] (5) 式中[b]是[0,1]的隨機數(shù)。 5) 變異操作。選取第[i]個個體的第[j]個基因[aij]進行變異,變異操作方法如下: [aij=aij+(aij-amax)*f(g),r>0.5aij+(amin-aij)*f(g),r≤0.5] (6) 式中:[amax]為基因[aij]的上界;[amin]為基因[aij]的下界;[f(g)=r21-gGmax2],[r2]為一個隨機數(shù),[g]為當前迭代次數(shù),[Gmax]為最大進化次數(shù);[r]為[0,1]的隨機數(shù)。 6) 用新染色體代替原來染色體,計算適應度,如果滿足條件,跳到步驟7);否則,轉(zhuǎn)到步驟3)繼續(xù)優(yōu)化。 7) 將最優(yōu)權(quán)值和閾值賦給BP神經(jīng)網(wǎng)絡用于訓練,直到達到設定的誤差值。 8) 將訓練好的BP神經(jīng)網(wǎng)絡用于工廠污水分類識別,得到排放情況。2.3 GA優(yōu)化BP神經(jīng)網(wǎng)絡
3 實 驗
由于不同工廠排放的污水參數(shù)各有差異,本文選取淮安某一氨氮化肥廠作為實驗對象。氨氮化肥廠排放的污水成分比較復雜,主要包括COD、BOD、懸浮物、氨氮、硫化物等。由于這里檢測的污水是直接排放到地表水中的,結(jié)合目前傳感器技術(shù)的發(fā)展,選取最能反映水質(zhì)情況的溫度、溶解氧(DO)、氨氮、pH、濁度這5個參數(shù)作為排污口污水是否達標的參考指標。
根據(jù)《地表水環(huán)境標準》(GB3838?2002)和《合成氨工廠水污染物排放標準》[11](GB13458?2013),對污水參數(shù)劃分一個判斷標準,如表1所示。分為6個等級,每個等級各參數(shù)對應一個排放限值和一個期望輸出。期望輸出≤0.2為‘Ⅰ,0.2~0.4為‘Ⅱ,0.4~0.6為‘Ⅲ,0.6~0.8為‘Ⅳ,0.8~1.0為‘Ⅴ,>1.0為‘劣Ⅴ。
根據(jù)前面給出的Kolmogorov定理[12]:一個三層的BP神經(jīng)網(wǎng)絡可以實現(xiàn)任意維的非線性映射。針對選定的氨氮化肥廠,本文構(gòu)建一個三層BP神經(jīng)網(wǎng)絡,包括輸入層、一層隱含層和輸出層。因為本文選定5個參數(shù)作為指標,故輸入層神經(jīng)元個數(shù)為5;隱含層神經(jīng)元的個數(shù)沒有確定的公式,只能根據(jù)經(jīng)驗公式(7)計算出大致范圍[13],然后用試湊法不斷調(diào)整嘗試,本文正是采用這種方法。當節(jié)點為11個時效果最佳;輸出層根據(jù)前面的規(guī)定,對應為1個神經(jīng)元。故BP結(jié)構(gòu)確定為5?11?1,如圖4所示。
[Sh=Si+So+a,a∈[1,10]] (7)
式中:[Sh]為隱含層神經(jīng)元數(shù);[Si]為輸入層神經(jīng)元數(shù);[So]為輸出層神經(jīng)元數(shù);[a]為整數(shù)。
由于各維數(shù)據(jù)間數(shù)量級差別和不同參數(shù)之間的量綱不同,仿真之前對輸入數(shù)據(jù)進行歸一化預處理,本文采用Matlab自帶函數(shù)mapminmax將數(shù)據(jù)歸一化到[-1,1]。函數(shù)形式如式(8)所示,[ymax=1,ymin=-1],[xmax]和[xmin]分別為樣本中的最大值和最小值,[xk]為要歸一化的樣本值,[y]為歸一化后的值。根據(jù)表1的污水參數(shù)分類標準,共有6個等級,每個等級使用20組數(shù)據(jù),共120組數(shù)據(jù)進行訓練,最后用12組數(shù)據(jù)進行測試,歸一化后訓練樣本數(shù)據(jù)見表2。
[y=(ymax-ymin)?xk-xminxmax-xmin+ymin] (8)
BP神經(jīng)網(wǎng)絡的結(jié)構(gòu)確定好以后,個體編碼串也就確定下來,輸入層和隱含層的權(quán)值矩陣[W1]為11×5,隱含層閾值[B1]為11×1;隱含層和輸出層[W2]為1×11,輸出層閾值[B2]為1。因此編碼串長度為11×5+11×1+1×11+1=78。輸入層到隱含層傳遞函數(shù)使用tansig,隱含層到輸出層的傳遞函數(shù)使用purelin,網(wǎng)絡訓練函數(shù)選擇trainlm函數(shù)。目標誤差設置net.trainParam.goal=0.001。學習速率設置net.trainParam.lr=0.01。
遺傳算法的種群規(guī)模取10,交叉率和變異率按式(1)和式(2)進行自適應調(diào)整,初始值為:[Pc1=0.4],[Pc2=0.99],[Pm1=0.01],[Pm2=0.1]。
將GA?BP神經(jīng)網(wǎng)絡用訓練樣本數(shù)據(jù)進行訓練,然后用測試數(shù)據(jù)進行測試,并從收斂性、準確性以及實時性三個方面與傳統(tǒng)BP神經(jīng)網(wǎng)絡進行對比。
圖5為BP神經(jīng)網(wǎng)絡均方差變化曲線。從圖5中可看出迭代151步,網(wǎng)絡已達到設定值0.001,同時將每步的迭代時間記錄下來,然后用訓練好的BP神經(jīng)網(wǎng)絡進行預測,預測之前對預測樣本數(shù)據(jù)利用與訓練樣本數(shù)據(jù)一樣的方法歸一化處理,mapminmax(‘a(chǎn)pply,input_test,inputs)。歸一化后測試數(shù)據(jù)見表3。
同樣對GA?BP神經(jīng)網(wǎng)絡進行訓練,如圖6所示,迭代8步就達到了設定值0.001。
圖7為GA?BP神經(jīng)網(wǎng)絡的適應度曲線,在進化0~7代時適應度值下降得比較厲害;由于局部最優(yōu)值的存在,7~14代時趨于平緩;因為GA的優(yōu)化作用,14~16代時又開始下降;在20代以后就達到了最佳適應度值,至此進化完成。提取最佳權(quán)值和閾值,進行預測。
從上述實驗過程可以看出:
1) 收斂性:BP神經(jīng)網(wǎng)絡需要151步才能收斂,而改進的GA?BP神經(jīng)網(wǎng)絡只需要8步就已經(jīng)收斂,說明改進的GA?BP神經(jīng)網(wǎng)絡收斂性遠遠快于BP神經(jīng)網(wǎng)絡。
2) 準確性:從表4可以看出,對于同樣的12組預測數(shù)據(jù),BP預測中2組有錯誤,準確率為83.3%,而GA?BP的準確率為100%。說明GA?BP神經(jīng)網(wǎng)絡的準確性更好,能更好地對污水水質(zhì)進行分類識別。
3) 實時性:如圖8所示, GA?BP神經(jīng)網(wǎng)絡每步運行時間都比BP神經(jīng)網(wǎng)絡少0.02~0.03 s,說明同樣運行一步GA?BP神經(jīng)網(wǎng)絡的實時性要好于BP神經(jīng)網(wǎng)絡。
從三個方面將GA?BP神經(jīng)網(wǎng)絡和BP神經(jīng)網(wǎng)絡進行對比,得出GA?BP神經(jīng)網(wǎng)絡無論是在收斂性、準確性還是實時性都遠遠優(yōu)于傳統(tǒng)BP神經(jīng)網(wǎng)絡。
本文將改進的GA?BP神經(jīng)網(wǎng)絡用于對工廠污水的水質(zhì)進行分類識別,根據(jù)相關標準劃分為6個級別并設定相應期望值。根據(jù)輸出的期望值判斷排放的污水類別,從而起到監(jiān)測污水排放是否達標的目的,并從收斂性、準確性和實時性三個方面與傳統(tǒng)的BP神經(jīng)網(wǎng)絡進行比較。通過實驗表明,改進的GA?BP神經(jīng)網(wǎng)絡無論是收斂性、準確性還是實時性都比傳統(tǒng)BP神經(jīng)網(wǎng)絡更具有優(yōu)勢,該方法在工廠污水水質(zhì)評價中具有應用推廣價值。
注:本文通訊作者為俞阿龍。
參考文獻
[1] 傅其鳳,楊亞磊,陳萬軍,等.工業(yè)污水在線監(jiān)測系統(tǒng)的應用[J].工業(yè)水處理,2015,35(3):106?108.
FU Qifeng, YANG Yalei, CHEN Wanjun, et al. Application of on?line monitoring system for factory sewage [J]. Industrial water treatment, 2015, 35(3): 106?108.
[2] 劉翊.淺談城市工廠污水處理及水資源保護[J].節(jié)能環(huán)保,2015,5(18):13?15.
LIU Yi. The city sewage treatment plant and water resources protection [J]. Energy saving and environmental protection, 2015, 5(18): 13?15.
[3] 王文靜,高鵬程,李捷,等.丹江口水庫典型入庫支流水質(zhì)評價與趨勢分析[J].水資源保護,2016,32(3):127?130.
WANG Wenjing, GAO Pengcheng, LI Jie, et al. Water quality evaluation and trend analysis of typical inflow tributaries of Danjiangkou reservoir [J]. Water resources protection, 2016, 32(3): 127?130.
[4] 劉瀟,薛瑩,紀毓鵬,等.基于主成分分析法的黃河口及其鄰近水域水質(zhì)評價[J].中國環(huán)境科學,2015,35(10):3187?3192.
LIU Xiao, XUE Ying, JI Yupeng, et al. Water quality evaluation of Yellow River Estuary and adjacent waters based on principal component analysis [J]. Chinese environmental science, 2015, 35(10): 3187?3192.
[5] 徐勇,趙俊,過鋒,等.基于BP人工神經(jīng)網(wǎng)絡的大沽河濕地海水水質(zhì)綜合評價[J].漁業(yè)科學進展,2015,36(5):31?37.
XU Yong, ZHAO Jun, GUO Feng, et al. Integrated quality assessment of Dagu river wetland sea water based on back propagation (BP) artificial neural network [J]. Progress in fishery sciences, 2015, 36(5): 31?37.
[6] 張旭東,高茂庭.基于IGA?BP網(wǎng)絡的水質(zhì)預測方法[J].環(huán)境工程學報,2016,10(3):1566?1571.
ZHANG Xudong, GAO Maoting. Water quality prediction method based on IGA?BP network [J]. Journal of environmental engineering, 2016, 10(3): 1566?1571.
[7] 潘雨紅,張宜龍,蔡亞軍,等.基于GA?BP算法的公路工程造價估算研究[J].重慶交通大學學報(自然科學版),2016,35(2):141?145.
PAN Yuhong, ZHANG Yilong, CAI Yajun, et al. Research on highway engineering cost estimation based on GA?BP algorithm [J]. Journal of Chongqing Jiaotong University (natural science), 2016, 35(2): 141?145.
[8] 馬威,馬飛,郭榮,等.GA?BP網(wǎng)絡在鑿巖防卡閥推進壓力預測中的應用[J].工礦自動化,2016,42(7):44?50.
MA Wei, MA Fei, GUO Rong, et al. Application of GA?BP network to prediction of pressure of rock drill valve propulsion [J]. Industrial and mine automation, 2016, 42(7): 44?50.
[9] 張志英,計峰,曾建智.基于改進GA的分段堆場計劃調(diào)度方法研究[J].哈爾濱工程大學學報,2015,36(8):1103?1108.
ZHANG Zhiying, JI Feng, ZENG Jianzhi. Based on improved GA based subsection yard planning and scheduling method [J]. Journal of Harbin Engineering University, 2015, 36(8): 1103?1108.
[10] 孔祥松,單仁亮,趙文峰,等.基于GA?BP的煤巷圍巖穩(wěn)定性分類與應用[J].煤礦安全,2016,47(5):219?222.
KONG Xiangsong, SHAN Renliang, ZHAO Wenfeng, et al. Classification and application of stability of surrounding rock of coal roadway based on GA?BP [J]. Coal mine safety, 2016, 47(5): 219?222.
[11] 段付崗,李清位.合成氨工廠污水排放標準的比較及建議[J].化肥工廠,2015,42(1):46?48.
DUAN Fugang, LI Qingwei. Comparison and suggestion of sewage discharge standard in synthetic ammonia plant and suggestion [J]. Chemical fertilizer plant, 2015, 42(1): 46?48.
[12] 蔡超.一類Kolmogorov型方程的系數(shù)反演問題[J].山東大學學報(理學版),2016,51(4):127?134.
CAI Chao. Coefficient inversion of a type of Kolmogorov type equation [J]. Journal of Shandong University (science edition), 2016, 51(4): 127?134.
[13] 王小川,史峰,郁磊,等.Matlab神經(jīng)網(wǎng)絡43個案例分析[M].北京:北京航空航天大學出版社,2013.
WANG Xiaochuan, SHI Feng, YU Lei, et al. Matlab neural network 43 cases analysis [M]. Beijing: Beihang University Press, 2013.
[14] 李俊龍,鄭丙輝,張鈴松,等.中國主要河口海灣富營養(yǎng)化特征及差異分析[J].中國環(huán)境科學,2016,36(2):506?516.
LI Junlong, ZHENG Binghui, ZHANG Lingsong, et al. Characteristics and difference analysis of eutrophication in the main estuarine estuary of China [J]. China environment science, 2016, 36(2): 506?516.