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