李健 劉堅 于廣平, 郭清達 袁沐坤
(1.廣州工業(yè)智能研究院,廣東廣州 511458;2.中國科學院沈陽自動化研究所,遼寧沈陽 110169)
近年來,水資源短缺和水污染嚴重已成為全球淡水資源面臨的兩大關鍵問題,水資源出現(xiàn)危機將對經(jīng)濟發(fā)展和人民生活造成嚴重影響[1]。當前我國經(jīng)濟處于快速發(fā)展期,隨著工業(yè)化、城鎮(zhèn)化的逐步推進,城鎮(zhèn)居民的用水量和污水排放量都急劇增加,城鎮(zhèn)污水處理廠的運行負荷也日益加重,目前我國城鎮(zhèn)水資源形勢堪憂,水體污染情況對我國社會經(jīng)濟發(fā)展和人民生活質量造成了困擾[2]。
活性污泥法是處理城鎮(zhèn)污水應用最為廣泛的方法,通過建設沉降池、曝氣池等將城鎮(zhèn)污水與活性污泥充分攪拌,通過生化和物化反應,微生物將污水中的有機污染物分解、降解,處理過程具有流程長、滯后性強等非線性特點。國際水協(xié)會已開發(fā)出ASM1,BSM1 等多種污水處理機理模型,但由于污水成分、污水處理廠設施的不同,模型難以滿足實際處理需求。隨著計算機技術的不斷發(fā)展,人工智能成為社會發(fā)展中不可缺少的一部分,我國也提高了對人工智能技術的重視程度,不斷加強人工智能技術在制造業(yè)、環(huán)保、智慧城市等領域的應用與發(fā)展[3]。機器學習作為人工智能的實現(xiàn)方法,其主要目的是開發(fā)智能算法、挖掘數(shù)據(jù)信息,通過算法的選取與參數(shù)的調節(jié),建立分類、回歸等模型,用于實現(xiàn)數(shù)值預測[4]。
本文在介紹城鎮(zhèn)污水處理技術原理和幾種常見的機器學習算法的基礎上,研究了不同機器學習算法以及相同算法不同參數(shù)對于污水處理廠出水COD的預測效果,建立了某城鎮(zhèn)污水處理廠進水指標、過程參數(shù)及出水COD 的預測模型,為城鎮(zhèn)污水處理廠出水COD 的預測提供了一種有效的方法。
城鎮(zhèn)污水指城鎮(zhèn)居民生活所產(chǎn)生的污水,包括學校、住宅、商場、政府單位等排水,初期雨水及部分符合條件允許排放的工業(yè)廢水等。城鎮(zhèn)污水中主要污染物有氮類污染物、磷類污染物、有機污染物等。
城鎮(zhèn)污水指標主要包含BOD5(五日生化需氧量)、COD、懸浮物、總氮、總磷及pH 等。
城鎮(zhèn)污水一般處理工藝流程為:入水經(jīng)過格柵、提升泵、沉降池、曝氣池、二沉池,最后經(jīng)過消毒池排出。具體工藝流程如圖1 所示。
圖1 城鎮(zhèn)污水處理工藝流程
機器學習作為人工智能核心部分,其本質是利用算法從數(shù)據(jù)信息中抽取知識。
機器學習涵蓋統(tǒng)計學知識、人工智能算法和計算機編程等多個研究領域。當前,機器學習算法已在各行各業(yè)得到了廣泛應用,其對于在數(shù)據(jù)中抽取知識產(chǎn)生了較大的促進作用。機器學習是專門用于探索計算機如何模擬及實現(xiàn)人類的學習過程,從而獲得新的領域知識與操作技能,整合已有的知識結構,不斷提升算法性能。
根據(jù)不同的學習方法,機器學習可分為歸納學習、演化學習、對比學習、分析學習。根據(jù)不同的學習方式,機器學習可分為有教師學習、無教師學習、強化學習等。本文主要采用有教師學習的方式,即將歷史數(shù)據(jù)整理成為輸入、輸出的形式并導入預設的算法中,通過算法的選取和參數(shù)的調節(jié),在給定出入的情況下預測模型輸出。
KNN 算法是較為簡單的一種機器學習算法。該算法的原理是在特征空間中,任意一個樣本附近的K 個最近樣本中的大多數(shù)屬于某一類別,則該樣本也屬于這一類別,即給定一個訓練數(shù)據(jù)集,對于新的輸入,在訓練數(shù)據(jù)集中找到與該實例最鄰近的K 個鄰居,在K 個鄰居中多數(shù)屬于某一類別,就把該實例分到這一類中。該方法也可應用于解決回歸問題。KNN 算法見圖2。
圖2 KNN 算法
決策樹(Decision Tree)是廣泛應用于分類和回歸任務的模型,這種模型呈樹狀結構,由代表屬性或特征的根節(jié)點、內部節(jié)點以及代表類別屬性的葉子節(jié)點組成,是直觀運用概率分析的一種圖解法。本質上,它是從一層一層的是否問題中進行學習,進而得出結論。簡單的決策樹拓撲結構如圖3 所示,其中,包含根節(jié)點A,決策節(jié)點B1,B2,葉節(jié)點C1,C2,C3,C4 以及決策路徑。從根節(jié)點出發(fā),經(jīng)過不同的路徑獲得的結果也不相同。
圖3 決策樹示例
決策樹算法的優(yōu)點:一是得到的模型很容易可視化,更易于非專業(yè)人士理解;二是算法完全不受數(shù)據(jù)縮放的影響。決策樹算法的核心內容是選取優(yōu)化的屬性,通過選取不同優(yōu)化屬性可以獲得多種決策樹優(yōu)化算法。現(xiàn)階段主流的決策樹算法包括ID3,C4.5,CART 等。
SVM 算法是在統(tǒng)計學的基礎上發(fā)展起來的一種用于數(shù)據(jù)挖掘的方法,它主要用于解決分類和回歸兩類問題。最早由萬普尼克在1992 年提出,在解決分類問題過程中具有較好的魯棒性,在數(shù)值的擬合回歸方面也展現(xiàn)出良好的應用效果[5-6]。
SVM 算法是基于最大間隔法思想,在原有空間中建立并求解出最優(yōu)的超平面,也可以通過引入核函數(shù),將初始數(shù)據(jù)映射到更高維的空間,建立最優(yōu)的超平面,通過求解最優(yōu)化的問題來實現(xiàn)分類或回歸[7-8]。
SVM 算法通過構建出非線性映射關系,將初始數(shù)據(jù)映射到更高維空間,在高維空間中選取出一個最優(yōu)線性函數(shù),這個函數(shù)可以反映輸入值與輸出值之間的數(shù)學關系。
設訓練樣本:
式中,T 為訓練樣本集;x 為輸入元素;y 為目標變量;n 為樣本容量。
輸入輸出數(shù)學關系為:
式中,φ(x)表示輸入值到高維空間的非線性映射關系;ω 為高維空間中的特征向量;b 為常量。
對于公式(1)可構建如下代價函數(shù):
式中,J 為代價函數(shù)值;yi為真實值;xi為預測輸入;C為正規(guī)化參數(shù)。C 的大小決定函數(shù)對數(shù)據(jù)的擬合程度,它限制每個點的重要性,C 的值越大時,對分錯樣本的懲罰程度越大,故在訓練樣本中準確率也越高,但是泛化能力隨之降低,也就是對測試數(shù)據(jù)的分類準確率降低;相反,C 的值越小,容許訓練樣本中有一些誤分類錯誤樣本,泛化能力隨之增強。調整適合的C 值有助于更好地提升模型的準確性。
在城鎮(zhèn)污水處理的初始過程中,主要是要去除COD,BOD,SS 等,然后去除總氮、氨氮、總磷等。進水COD 濃度、進水pH、進水氨氮及溶解氧是影響出水COD 的主要因素。
本文采集某城鎮(zhèn)污水處理廠連續(xù)75 d(組)的數(shù)據(jù)作為研究對象,以4∶1 的比例劃分訓練集及數(shù)據(jù)集,即選取60 d(組)作為訓練集,15 d(組)作為測試集,驗證模型效果。模型仿真采用Python 語言,版本為Python 3.6.10。Python 有用于數(shù)據(jù)提取、可視化、數(shù)據(jù)統(tǒng)計、語言處理、圖像處理等各種功能的庫,本文中采用scikit-learn 機器學習庫實現(xiàn)模型驗證。
訓練集輸入為污水廠進水COD 濃度、進水pH、進水氨氮及曝氣池溶解氧濃度,輸出為實測污水處理廠出水COD。測試集輸入為污水廠進水COD 濃度、進水pH、進水氨氮及曝氣池溶解氧濃度,輸出為預測污水廠出水COD。通過對比預測及實測出水COD,進一步評價預測模型的準確率。
使用Python 語言,分別在scikit-learn 機器學習庫中調用SVM,KNN,Tree 算法(默認參數(shù)),建立預測模型進行預測。3 種機器學習算法的預測結果如圖4a 所示,不同算法預測差值如圖4b 所示。
圖4 3 種算法預測結果及預測值與實測值差值
從圖4 可以看出,SVM 對于城鎮(zhèn)污水出水COD 的預測誤差在0~2.8 mg/L 之間,平均誤差為1.4 mg/L;KNN 算法對于城鎮(zhèn)污水出水COD 的預測誤差在0.1~6.6 mg/L 之間,平均誤差為2.9 mg/L;Tree 算法對于城鎮(zhèn)污水出水COD 的預測誤差在0~11.8 mg/L 之間,平均誤差為3.8 mg/L。SVM 算法相比于其他2 種算法預測效果更優(yōu)。
使用Python 語言,在scikit-learn 機器學習庫中調用SVM 算法,分別將參數(shù)C 的值設定為0.3,3,300,建立預測模型進行預測。3 種參數(shù)預測結果如圖5a所示,3 種參數(shù)預測值與實測值差值如圖5b 所示。
圖5 3 種參數(shù)預測結果及預測值與實測值差值
從圖5 可以看出,采用SVM 算法,參數(shù)C=0.3時,城鎮(zhèn)污水出水COD 的預測誤差介于0~5.8 mg/L之間,平均誤差為2.4 mg/L;參數(shù)C=3時,城鎮(zhèn)污水出水COD 的預測誤差介于0.1~5.5 mg/L 之間,平均誤差為2.2 mg/L;參數(shù)C=300 時,城鎮(zhèn)污水出水COD 的預測誤差介于0~2.8 mg/L 之間,平均誤差為1.4 mg/L。相比之下,參數(shù)C=300 時建立的模型對于本文研究具有更好的預測效果。
為了快速、準確地預測出城鎮(zhèn)污水處理廠的出水COD,采用機器學習的辦法建立數(shù)學模型。針對某城鎮(zhèn)污水處理廠一段時間內的進水出水指標,利用SVM,KNN 及Tree 算法建立了預測模型,并針對SVM 算法,對比了正規(guī)化參數(shù)C 在不同取值下的預測模型效果,實現(xiàn)城鎮(zhèn)污水出水COD 的預測誤差介于0~2.8 mg/L 之間,平均誤差為1.4 mg/L,為城鎮(zhèn)污水出水COD 的預測提供了一種有效的方法。