李健 劉堅 于廣平, 郭清達 袁沐坤
(1.廣州工業智能研究院,廣東廣州 511458;2.中國科學院沈陽自動化研究所,遼寧沈陽 110169)
近年來,水資源短缺和水污染嚴重已成為全球淡水資源面臨的兩大關鍵問題,水資源出現危機將對經濟發展和人民生活造成嚴重影響[1]。當前我國經濟處于快速發展期,隨著工業化、城鎮化的逐步推進,城鎮居民的用水量和污水排放量都急劇增加,城鎮污水處理廠的運行負荷也日益加重,目前我國城鎮水資源形勢堪憂,水體污染情況對我國社會經濟發展和人民生活質量造成了困擾[2]。
活性污泥法是處理城鎮污水應用最為廣泛的方法,通過建設沉降池、曝氣池等將城鎮污水與活性污泥充分攪拌,通過生化和物化反應,微生物將污水中的有機污染物分解、降解,處理過程具有流程長、滯后性強等非線性特點。國際水協會已開發出ASM1,BSM1 等多種污水處理機理模型,但由于污水成分、污水處理廠設施的不同,模型難以滿足實際處理需求。隨著計算機技術的不斷發展,人工智能成為社會發展中不可缺少的一部分,我國也提高了對人工智能技術的重視程度,不斷加強人工智能技術在制造業、環保、智慧城市等領域的應用與發展[3]。機器學習作為人工智能的實現方法,其主要目的是開發智能算法、挖掘數據信息,通過算法的選取與參數的調節,建立分類、回歸等模型,用于實現數值預測[4]。
本文在介紹城鎮污水處理技術原理和幾種常見的機器學習算法的基礎上,研究了不同機器學習算法以及相同算法不同參數對于污水處理廠出水COD的預測效果,建立了某城鎮污水處理廠進水指標、過程參數及出水COD 的預測模型,為城鎮污水處理廠出水COD 的預測提供了一種有效的方法。
城鎮污水指城鎮居民生活所產生的污水,包括學校、住宅、商場、政府單位等排水,初期雨水及部分符合條件允許排放的工業廢水等。城鎮污水中主要污染物有氮類污染物、磷類污染物、有機污染物等。
城鎮污水指標主要包含BOD5(五日生化需氧量)、COD、懸浮物、總氮、總磷及pH 等。
城鎮污水一般處理工藝流程為:入水經過格柵、提升泵、沉降池、曝氣池、二沉池,最后經過消毒池排出。具體工藝流程如圖1 所示。

圖1 城鎮污水處理工藝流程
機器學習作為人工智能核心部分,其本質是利用算法從數據信息中抽取知識。
機器學習涵蓋統計學知識、人工智能算法和計算機編程等多個研究領域。當前,機器學習算法已在各行各業得到了廣泛應用,其對于在數據中抽取知識產生了較大的促進作用。機器學習是專門用于探索計算機如何模擬及實現人類的學習過程,從而獲得新的領域知識與操作技能,整合已有的知識結構,不斷提升算法性能。
根據不同的學習方法,機器學習可分為歸納學習、演化學習、對比學習、分析學習。根據不同的學習方式,機器學習可分為有教師學習、無教師學習、強化學習等。本文主要采用有教師學習的方式,即將歷史數據整理成為輸入、輸出的形式并導入預設的算法中,通過算法的選取和參數的調節,在給定出入的情況下預測模型輸出。
KNN 算法是較為簡單的一種機器學習算法。該算法的原理是在特征空間中,任意一個樣本附近的K 個最近樣本中的大多數屬于某一類別,則該樣本也屬于這一類別,即給定一個訓練數據集,對于新的輸入,在訓練數據集中找到與該實例最鄰近的K 個鄰居,在K 個鄰居中多數屬于某一類別,就把該實例分到這一類中。該方法也可應用于解決回歸問題。KNN 算法見圖2。

圖2 KNN 算法
決策樹(Decision Tree)是廣泛應用于分類和回歸任務的模型,這種模型呈樹狀結構,由代表屬性或特征的根節點、內部節點以及代表類別屬性的葉子節點組成,是直觀運用概率分析的一種圖解法。本質上,它是從一層一層的是否問題中進行學習,進而得出結論。簡單的決策樹拓撲結構如圖3 所示,其中,包含根節點A,決策節點B1,B2,葉節點C1,C2,C3,C4 以及決策路徑。從根節點出發,經過不同的路徑獲得的結果也不相同。

圖3 決策樹示例
決策樹算法的優點:一是得到的模型很容易可視化,更易于非專業人士理解;二是算法完全不受數據縮放的影響。決策樹算法的核心內容是選取優化的屬性,通過選取不同優化屬性可以獲得多種決策樹優化算法。現階段主流的決策樹算法包括ID3,C4.5,CART 等。
SVM 算法是在統計學的基礎上發展起來的一種用于數據挖掘的方法,它主要用于解決分類和回歸兩類問題。最早由萬普尼克在1992 年提出,在解決分類問題過程中具有較好的魯棒性,在數值的擬合回歸方面也展現出良好的應用效果[5-6]。
SVM 算法是基于最大間隔法思想,在原有空間中建立并求解出最優的超平面,也可以通過引入核函數,將初始數據映射到更高維的空間,建立最優的超平面,通過求解最優化的問題來實現分類或回歸[7-8]。
SVM 算法通過構建出非線性映射關系,將初始數據映射到更高維空間,在高維空間中選取出一個最優線性函數,這個函數可以反映輸入值與輸出值之間的數學關系。
設訓練樣本:
式中,T 為訓練樣本集;x 為輸入元素;y 為目標變量;n 為樣本容量。
輸入輸出數學關系為:
式中,φ(x)表示輸入值到高維空間的非線性映射關系;ω 為高維空間中的特征向量;b 為常量。
對于公式(1)可構建如下代價函數:
式中,J 為代價函數值;yi為真實值;xi為預測輸入;C為正規化參數。C 的大小決定函數對數據的擬合程度,它限制每個點的重要性,C 的值越大時,對分錯樣本的懲罰程度越大,故在訓練樣本中準確率也越高,但是泛化能力隨之降低,也就是對測試數據的分類準確率降低;相反,C 的值越小,容許訓練樣本中有一些誤分類錯誤樣本,泛化能力隨之增強。調整適合的C 值有助于更好地提升模型的準確性。
在城鎮污水處理的初始過程中,主要是要去除COD,BOD,SS 等,然后去除總氮、氨氮、總磷等。進水COD 濃度、進水pH、進水氨氮及溶解氧是影響出水COD 的主要因素。
本文采集某城鎮污水處理廠連續75 d(組)的數據作為研究對象,以4∶1 的比例劃分訓練集及數據集,即選取60 d(組)作為訓練集,15 d(組)作為測試集,驗證模型效果。模型仿真采用Python 語言,版本為Python 3.6.10。Python 有用于數據提取、可視化、數據統計、語言處理、圖像處理等各種功能的庫,本文中采用scikit-learn 機器學習庫實現模型驗證。
訓練集輸入為污水廠進水COD 濃度、進水pH、進水氨氮及曝氣池溶解氧濃度,輸出為實測污水處理廠出水COD。測試集輸入為污水廠進水COD 濃度、進水pH、進水氨氮及曝氣池溶解氧濃度,輸出為預測污水廠出水COD。通過對比預測及實測出水COD,進一步評價預測模型的準確率。
使用Python 語言,分別在scikit-learn 機器學習庫中調用SVM,KNN,Tree 算法(默認參數),建立預測模型進行預測。3 種機器學習算法的預測結果如圖4a 所示,不同算法預測差值如圖4b 所示。

圖4 3 種算法預測結果及預測值與實測值差值
從圖4 可以看出,SVM 對于城鎮污水出水COD 的預測誤差在0~2.8 mg/L 之間,平均誤差為1.4 mg/L;KNN 算法對于城鎮污水出水COD 的預測誤差在0.1~6.6 mg/L 之間,平均誤差為2.9 mg/L;Tree 算法對于城鎮污水出水COD 的預測誤差在0~11.8 mg/L 之間,平均誤差為3.8 mg/L。SVM 算法相比于其他2 種算法預測效果更優。
使用Python 語言,在scikit-learn 機器學習庫中調用SVM 算法,分別將參數C 的值設定為0.3,3,300,建立預測模型進行預測。3 種參數預測結果如圖5a所示,3 種參數預測值與實測值差值如圖5b 所示。

圖5 3 種參數預測結果及預測值與實測值差值
從圖5 可以看出,采用SVM 算法,參數C=0.3時,城鎮污水出水COD 的預測誤差介于0~5.8 mg/L之間,平均誤差為2.4 mg/L;參數C=3時,城鎮污水出水COD 的預測誤差介于0.1~5.5 mg/L 之間,平均誤差為2.2 mg/L;參數C=300 時,城鎮污水出水COD 的預測誤差介于0~2.8 mg/L 之間,平均誤差為1.4 mg/L。相比之下,參數C=300 時建立的模型對于本文研究具有更好的預測效果。
為了快速、準確地預測出城鎮污水處理廠的出水COD,采用機器學習的辦法建立數學模型。針對某城鎮污水處理廠一段時間內的進水出水指標,利用SVM,KNN 及Tree 算法建立了預測模型,并針對SVM 算法,對比了正規化參數C 在不同取值下的預測模型效果,實現城鎮污水出水COD 的預測誤差介于0~2.8 mg/L 之間,平均誤差為1.4 mg/L,為城鎮污水出水COD 的預測提供了一種有效的方法。