何 丹, 林來鵬, 李小勇, 牛國強, 易曉輝,3, 黃明智*
(1. 廣東省廣業(yè)環(huán)保產(chǎn)業(yè)集團有限公司, 廣州 510030;2. 華南師范大學(xué)環(huán)境學(xué)院∥廣東省化學(xué)品污染與環(huán)境安全重點實驗室∥教育部環(huán)境理論化學(xué)重點實驗室, 廣州 510006;3. 廣東省環(huán)境資源利用與保護重點實驗室∥中國科學(xué)院廣州地球化學(xué)研究所, 廣州 510640)
廢水處理是一個復(fù)雜的生化反應(yīng)過程,具有多樣性、隨機性、不確定性、強耦合性、高度非線性和大時變等特征[1-2],其中關(guān)鍵水質(zhì)參數(shù)的檢測和調(diào)控是反應(yīng)過程穩(wěn)定、高效運行的重要前提. 出水化學(xué)需氧量(CODeff)和出水固體懸浮物(SSeff)是廢水生物處理過程中2個重要的水質(zhì)參數(shù),這2個參數(shù)的變化規(guī)律能夠反映廢水的處理過程. 為了提高廢水排放的達標(biāo)率,維持系統(tǒng)的穩(wěn)定性,通常要對CODeff和SSeff進行實時監(jiān)測. 廢水水質(zhì)常規(guī)檢測方法有在線檢測和人工檢測等方法,但部分在線檢測儀器的安裝和維護費用比較昂貴,增加了檢測成本;而人工檢測方法耗時較長,檢測數(shù)據(jù)相對滯后[3-4]. 相對于這些常規(guī)的檢測方法,軟測量技術(shù)能顯著解決上述問題,具有成本低、耗時短且相對準(zhǔn)確的優(yōu)點,近年來被廣泛運用于廢水處理過程中關(guān)鍵水質(zhì)的在線監(jiān)測.
人工神經(jīng)網(wǎng)絡(luò)是一種運用非常廣泛的軟測量建模方法,具有非線性、并行分布、容錯性和自適應(yīng)性等優(yōu)點[5-6]. BP神經(jīng)網(wǎng)絡(luò)是一種常見的前饋人工神經(jīng)網(wǎng)絡(luò),在相關(guān)領(lǐng)域應(yīng)用十分廣泛. 但由于BP神經(jīng)網(wǎng)絡(luò)存在收斂速度較慢、訓(xùn)練時間較長、網(wǎng)絡(luò)對初值較敏感、容易陷入局部最優(yōu)、過于依賴輸入樣本和網(wǎng)絡(luò)結(jié)構(gòu)選擇不一等缺陷,使得BP神經(jīng)網(wǎng)絡(luò)的預(yù)測誤差過大,影響了預(yù)測的精確度和準(zhǔn)確度,阻礙了BP神經(jīng)網(wǎng)絡(luò)在廢水處理智能監(jiān)控系統(tǒng)的推廣和運用[7-8]. 因此,學(xué)者們提出用遺傳算法(GA)、粒子群算法(PSO)和蟻群算法等相關(guān)算法來對BP神經(jīng)網(wǎng)絡(luò)進行優(yōu)化,如:劉亞麗等[9]使用遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)模型,得到GA-BP模型,提高了網(wǎng)絡(luò)的預(yù)測精度;謝武明等[10]將遺傳算法優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)(GA-BP模型)應(yīng)用于廢水處理廠電耗的預(yù)測,模型的精度得到了極大的提高;ABUALIGAH 等[11]用一種改進的粒子群算法來優(yōu)化BP神經(jīng)網(wǎng)絡(luò),該算法極大限度地解決了BP神經(jīng)網(wǎng)絡(luò)容易陷入局部最優(yōu)的問題;葉永偉等[12]使用差分進化算法改進了粒子群算法,以優(yōu)化污水處理過程中的能耗,該算法克服了粒子群算法容易早熟的缺點,提高了算法全局的尋優(yōu)能力,在保證出水水質(zhì)達標(biāo)的情況下有效降低了污水處理過程中的能耗;喬俊飛等[13]使用一種改進型混合粒子群算法對污水處理過程中的能耗與水質(zhì)進行多目標(biāo)優(yōu)化,該算法不僅加快了粒子收斂的速度,還提高了搜索的精度,有效節(jié)約了污水處理過程的成本.
本文基于BP神經(jīng)網(wǎng)絡(luò)和粒子群算法,提出一種廢水處理過程中CODeff和SSeff軟測量模型(PSO-BP模型),并與BP模型及GA-BP模型進行比較,為實現(xiàn)廢水處理軟測量精確預(yù)測提供方法和思路.
在造紙廢水處理過程中,存在著大量難以測量或無法在線測量的參數(shù),而這些參數(shù)可通過軟測量獲得:即用容易獲取的變量通過建模來間接得到難測量的參數(shù). 為此,本研究改進了粒子群算法(PSO),用其優(yōu)化BP神經(jīng)網(wǎng)絡(luò),建立了軟測量模型(PSO-BP模型),利用BP神經(jīng)網(wǎng)絡(luò)的非線性逼近能力與PSO的全局搜索能力來對污水處理過程中的CODeff和SSeff進行準(zhǔn)確預(yù)測.
關(guān)于BP網(wǎng)絡(luò)建模原理,文獻[14]中有詳細闡述. 簡單的三層BP神經(jīng)網(wǎng)絡(luò)包含輸入層、隱含層和輸出層(圖1),圖中每一個節(jié)點代表一個神經(jīng)元;前一層和后一層的神經(jīng)元之間由對應(yīng)的權(quán)值連接. BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練主要分為2個過程:信號的正向傳遞和誤差的逆向傳播[14]. 信號的正向傳遞是將輸入信號傳遞到隱含層和輸出層,得到預(yù)測輸出,再由預(yù)測輸出和期望輸出得到誤差信號. 誤差的逆向傳播過程就是將誤差信號反饋回前面的神經(jīng)網(wǎng)絡(luò),然后神經(jīng)網(wǎng)絡(luò)根據(jù)誤差的大小調(diào)整對應(yīng)的權(quán)值和閾值,此過程一般是按照誤差梯度下降的方法進行. BP神經(jīng)網(wǎng)絡(luò)首先訓(xùn)練最前面的一層網(wǎng)絡(luò),訓(xùn)練完成后固定它的權(quán)值和閾值,然后將其隱單元的輸出作為下一層網(wǎng)絡(luò)的輸入向量,繼續(xù)進行訓(xùn)練. 所有的網(wǎng)絡(luò)全部訓(xùn)練完成后,再用反向傳播算法不斷反復(fù)循環(huán)調(diào)整權(quán)值和閾值,直到預(yù)測輸出和期望輸出的誤差信號滿足目標(biāo)要求,運算終止.
圖1 三層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
粒子群算法是通過模擬自然界中鳥群和魚群覓食過程中的遷徙和群聚行為而提出的一種智能優(yōu)化算法,具有廣泛的全局隨機搜索能力. 針對粒子群算法在應(yīng)用過程中存在收斂速度較慢和容易早熟的缺陷,學(xué)者們提出了若干改進方法,如:在粒子群算法中引入選擇和變異等操作,以提高該算法的收斂速度[15-17];動態(tài)改變慣性系數(shù),避免粒子出現(xiàn)早熟現(xiàn)象等[18].
本實驗采用了線性降低權(quán)系數(shù)法[19-20]和引入變異算子[21]來提高粒子群算法的全局優(yōu)化能力:
(1)線性降低權(quán)系數(shù):目的是為了算法在前期具有較強的全局尋優(yōu)能力,而晚期具有較強的局部開發(fā)能力. 其公式如下:
(1)
其中,wmax為慣性權(quán)重的最大值,wmin為慣性權(quán)重的最小值,t為當(dāng)前迭代次數(shù),G為最大迭代次數(shù).
(2)變異算子:在迭代優(yōu)化過程中,引入變異算子,其實現(xiàn)步驟如下:
pos=unidrnd(numsum);
if rand>0.95
pop(j,pos)=3*rands(1,1);
其中,pso是種群發(fā)生變異的位置,unidrnd是產(chǎn)生隨機整數(shù)的函數(shù),numsum是粒子長度.
本文用改進的粒子群算法來優(yōu)化BP神經(jīng)網(wǎng)絡(luò),其基本流程(圖2)如下:
Step 1:根據(jù)BP神經(jīng)網(wǎng)絡(luò)的各層節(jié)點數(shù)計算網(wǎng)絡(luò)的權(quán)值和閾值的總個數(shù)(即粒子的長度);
Step 2:將BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值按二進制編碼方式編碼成對應(yīng)的粒子;
Step 3:初始化粒子群,包括種群規(guī)模N、每個粒子的位置xi和速度vi,設(shè)定粒子群算法的相關(guān)參數(shù);
Step 4:計算初始粒子群中每個粒子的適應(yīng)度;
Step 5:分別記錄粒子群的個體極值和全局極值;
Step 6:根據(jù)式(1)、(2)分別更新當(dāng)前粒子群中每個粒子的速度vi和位置xi;
Step 7:計算新粒子群中每個粒子的適應(yīng)度;
Step 8:對每個粒子的個體極值進行更新;
Step 9:對粒子群的全局極值進行更新;
Step 10:如果滿足結(jié)束條件或迭代次數(shù)達到最大循環(huán)迭代數(shù),則退出循環(huán),否則返回Step 6;
Step 11:輸出問題的最優(yōu)解,并將最優(yōu)解賦值給BP神經(jīng)網(wǎng)絡(luò)進行預(yù)測.
圖2 粒子群改進算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的基本流程
本實驗數(shù)據(jù)取自廣東東莞某廢水處理系統(tǒng)曝氣池的監(jiān)測結(jié)果[22],共有170組樣本數(shù)據(jù),隨機選取140組數(shù)據(jù)作為訓(xùn)練集,余下30組數(shù)據(jù)作為測試集. 選取6個參數(shù)(流量(Q)、pH、溫度(T)、溶解氧(DO)、進水化學(xué)需氧量(CODinf)和進水固體懸浮物(SSinf))作為軟測量模型的輸入變量,對廢水處理系統(tǒng)的CODeff和SSeff進行預(yù)測,并采用均方根誤差(RMSE)和決定系數(shù)(R2)作為對模型性能進行評價和比較的評價指標(biāo).
2.1.1 數(shù)據(jù)歸一化 由于數(shù)據(jù)的單位或數(shù)量級的不同,可能導(dǎo)致網(wǎng)絡(luò)收斂速度變慢、訓(xùn)練時間變長等問題,因此,要對樣本數(shù)據(jù)進行歸一化處理. 歸一化公式如下:
(2)
其中,xmin為訓(xùn)練集中的最小值,xmax為訓(xùn)練集中的最大值,x為訓(xùn)練集中的任一數(shù)值,X為歸一化之后的數(shù)值.
2.1.2 模型性能評價函數(shù) 本次實驗用均方根誤差(RMSE)和決定系數(shù)(R2)2個評價指標(biāo)來評價模型性能. RMSE可以反映模型預(yù)測變量與目標(biāo)變量之間離散程度的大?。篟MSE值越小說明數(shù)據(jù)離散度越小,預(yù)測的準(zhǔn)確度越高.R2可以反映擬合的多元線性回歸方程的優(yōu)劣程度:R2值越接近1,說明多元線性回歸方程的擬合程度越高,模型性能更優(yōu)越. RMSE、R2的計算公式如下:
(3)
(4)
模型優(yōu)化程度(Rm)的定義式如下:
(5)
2.2.1 BP模型參數(shù)設(shè)置 BP神經(jīng)網(wǎng)絡(luò)層數(shù)設(shè)置為3層:輸入層、隱含層和輸出層,其中:輸入層總共有6個輸入節(jié)點,分別對應(yīng)6個廢水水質(zhì)參數(shù)變量(Q、pH、T、DO、CODinf和SSinf);輸出層設(shè)1個節(jié)點,分別預(yù)測CODeff和SSeff;隱含層節(jié)點的設(shè)置沒有絕對的方法,常見的方法有試錯法、公式法和遞減法等[19]. 本文使用下列經(jīng)驗公式[20]結(jié)合實驗來確定隱含層的節(jié)點個數(shù):
(6)
其中,q為隱含層的節(jié)點個數(shù),m為輸入層的節(jié)點個數(shù),n為輸出層的節(jié)點個數(shù),a{1,2,…,10}為調(diào)節(jié)常數(shù).
本實驗中,輸入層的節(jié)點數(shù)為6,輸出層的節(jié)點數(shù)為1. 經(jīng)實驗,當(dāng)網(wǎng)絡(luò)隱含層的節(jié)點數(shù)設(shè)為5時,網(wǎng)絡(luò)的各方面性能較優(yōu),則模型結(jié)構(gòu)為6-5-1.
BP神經(jīng)網(wǎng)絡(luò)的其他參數(shù)設(shè)置如下:隱含層傳遞函數(shù)為tansig,輸出層傳遞函數(shù)為purelin,最大迭代次數(shù)為1 000,學(xué)習(xí)率為0.01,訓(xùn)練目標(biāo)為1e-5.
2.2.2 PSO-BP模型參數(shù)設(shè)置 在BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)基礎(chǔ)上,改進粒子群算法的相關(guān)參數(shù)設(shè)置如下:最大尋優(yōu)迭代次數(shù)為100,種群規(guī)模為40,最大慣性權(quán)重為0.9,最小慣性權(quán)重為0.1.
適應(yīng)度函數(shù):本次實驗中,粒子群算法的適應(yīng)度值定義為所優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的總誤差(error)的絕對值,公式如下:
fitness=sum(abs(a-o)),
(7)
其中,a為BP神經(jīng)網(wǎng)絡(luò)的預(yù)測輸出,o為樣本輸出的真實值.
2.2.3 GA-BP模型參數(shù)設(shè)置 在BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上,遺傳算法的相關(guān)參數(shù)設(shè)置如下:最大尋優(yōu)迭代次數(shù)為100,種群規(guī)模為40,交叉概率為0.3,變異概率為0.1,染色體數(shù)據(jù)范圍為[-3,3].
適應(yīng)度函數(shù):本次實驗所采用的遺傳算法的適應(yīng)度值定義為所優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的總誤差(error)的絕對值:
fitness=sum(abs(a-o)),
(8)
其中,a為BP神經(jīng)網(wǎng)絡(luò)的預(yù)測輸出,o為樣本輸出的真實值.
2.3.1 PSO-BP模型預(yù)測結(jié)果 利用訓(xùn)練好的PSO-BP模型測試廢水處理系統(tǒng),可得PSO優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的適應(yīng)度曲線和仿真預(yù)測結(jié)果. 由模型的適應(yīng)度曲線(圖3)可以看出:PSO能有效地優(yōu)化BP神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)的收斂速度明顯加快,當(dāng)進化代數(shù)為54代時適應(yīng)度已達到最優(yōu). 此外,由仿真結(jié)果(圖4)可知:PSO-BP模型的預(yù)測結(jié)果與實際數(shù)據(jù)非常接近,模型的輸出曲線與實際輸出曲線的擬合度較高. 結(jié)合式(6),可知:采用PSO-BP模型預(yù)測CODeff和SSeff時,RMSE分別為3.995 5和0.650 3,R2分別為0.640 1和0.681 1. 由此判斷PSO-BP模型具有較好的泛化能力,可有效預(yù)測廢水處理系統(tǒng)的出水水質(zhì).
2.3.2 仿真比較結(jié)果分析 為了對比PSO-BP模型的預(yù)測性能,分別采用GA-BP模型和BP模型對CODeff、SSeff進行軟測量建模,BP模型與GA-BP模型的網(wǎng)絡(luò)結(jié)構(gòu)設(shè)置與PSO-BP模型相同. 由BP、GA-BP、PSO-BP模型的預(yù)測仿真結(jié)果(表1)可知:(1)在預(yù)測廢水處理系統(tǒng)出水水質(zhì)方面,PSO比GA更能有效優(yōu)化BP神經(jīng)網(wǎng)絡(luò). (2)PSO-BP模型的性能最好:相比BP模型,PSO-BP模型預(yù)測CODeff、SSeff的R2分別提高4.49%、40.11%,RMSE分別減少了8.55%、8.38%;相比GA-BP模型,PSO-BP模型預(yù)測CODeff、SSeff的R2分別提高0.44%、24.77%.
圖3 PSO-BP模型的適應(yīng)度函數(shù)曲線
圖4 PSO-BP模型的預(yù)測結(jié)果
表1 3種模型性能指標(biāo)比較Table 1 The comparison of performance between the three models
由3個模型的仿真結(jié)果(圖4至圖6)可知:PSO-BP模型關(guān)于CODeff和SSeff的預(yù)測曲線的擬合程度高于GA-BP、BP模型,預(yù)測值更逼近真實值. 因此,PSO-BP模型對廢水處理系統(tǒng)出水水質(zhì)的預(yù)測更準(zhǔn)確,更適用于廢水處理過程中的軟測量.
圖6 GA-BP模型的預(yù)測結(jié)果
本文使用改進粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò),構(gòu)建了廢水處理軟測量預(yù)測模型(PSO-BP模型),并與BP模型、GA-BP模型進行比較. 主要結(jié)論如下:
(1)改進PSO對BP神經(jīng)網(wǎng)絡(luò)廢水軟測量模型具有很好的優(yōu)化效果,提高了模型的精確度. 構(gòu)建的PSO-BP模型具有較好的泛化能力,可有效預(yù)測廢水處理系統(tǒng)出水水質(zhì).
(2)相比BP模型和GA-BP模型,PSO-BP模型對廢水處理系統(tǒng)出水水質(zhì)的預(yù)測更準(zhǔn)確,預(yù)測值更逼近真實值,表明 PSO-BP是一種具有良好預(yù)測性能的軟測量建模方法.