孟 滔
(四川大學(xué)錦城學(xué)院 智能制造學(xué)院,四川 成都 611731)
近些年來,國家對于農(nóng)村飲水安全越來越重視。國家水利部在“十二五”規(guī)劃上,提出將農(nóng)村飲水安全作為重點項目,用于解決貧困地區(qū)農(nóng)村飲水安全問題,“十三五”期間,我國將重點解決小型供水工程保障程度不高、水質(zhì)合格率偏低、長效運行管護機制不完善等問題,讓廣大農(nóng)村居民喝上更加穩(wěn)定、安全和方便的水。為了解決農(nóng)村飲水安全的問題,就需要對農(nóng)村自來水廠的原水和出廠水進行監(jiān)測,但由于農(nóng)村自來水廠規(guī)模小,處理原水能力有限,所以僅僅進行監(jiān)測是遠遠不夠的,需要對原水水質(zhì)進行預(yù)測,這樣才能保證出廠水質(zhì)能夠達標(biāo),保障飲水安全。
目前用于水質(zhì)預(yù)測的方法主要有:Streeter-Phelps模型預(yù)測法[1]、灰色理論模型預(yù)測法[2]、回歸預(yù)測模型預(yù)測法[3]、人工神經(jīng)網(wǎng)絡(luò)模型預(yù)測法[4]。其中回歸預(yù)測模型預(yù)測法中的支持向量回歸(Support Vector Regress, SVR)由于需要的樣本少、泛化性好,比其他預(yù)測方法更適用于農(nóng)村自來水廠原水水質(zhì)預(yù)測。
支持向量回歸SVR屬于機器學(xué)習(xí)中的監(jiān)督學(xué)習(xí),具有泛化性能優(yōu)異、全局收斂、對樣本維數(shù)不敏感、不依賴經(jīng)驗等優(yōu)點,被廣泛應(yīng)用于多個領(lǐng)域。SVR是基于Corters和Vapnik等人[5]于1995年提出的一種新的機器學(xué)習(xí)方法-支持向量機(support vector machines, SVM)發(fā)展而來,具有完善的數(shù)學(xué)理論和推導(dǎo)過程。目前基于SVR的水質(zhì)預(yù)測模型主要有兩種形式,一種是離線SVR水質(zhì)預(yù)測模型,另一種是在線SVR水質(zhì)預(yù)測模型。離線SVR水質(zhì)預(yù)測模型在有新的水質(zhì)數(shù)據(jù)進入后,需要重新建立水質(zhì)預(yù)測模型。隨著時間的推移數(shù)據(jù)量逐漸增加,當(dāng)數(shù)據(jù)越來越大時,以前建立的水質(zhì)預(yù)測模型就需要進行重新建模,此時數(shù)據(jù)量巨大,需要的訓(xùn)練時間就會很長,效率低下。而在線SVR水質(zhì)預(yù)測模型可以進行在線學(xué)習(xí),適用于在線水質(zhì)預(yù)測這種情況??傮w來說,離線SVR水質(zhì)預(yù)測模型適用于短期水質(zhì)預(yù)測,而在線SVR水質(zhì)預(yù)測模型可適用于中長期水質(zhì)預(yù)測。
SVR預(yù)測模型適用于時間序列的預(yù)測研究,其懲罰參數(shù)C、核參數(shù)g、核函數(shù)等對于其建立的預(yù)測模型性能都有直接的影響。懲罰參數(shù)C是對錯分樣本比例和算法復(fù)雜度的折衷,反映的是預(yù)測模型的泛化程度。懲罰參數(shù)C在一定范圍內(nèi)越大,其預(yù)測精度越高,但當(dāng)超過一定的范圍就會出現(xiàn)過學(xué)習(xí)的現(xiàn)象。核參數(shù)g是反映映射到高維空間的復(fù)雜程度,g過大也會存在過學(xué)習(xí)或欠學(xué)習(xí)現(xiàn)象。核函數(shù)的作用是將數(shù)據(jù)從低維空間向高維空間進行映射,將在低維空間無法解決的問題在高維空間解決,合理的選擇核函數(shù)是SVR預(yù)測性能的保障。SVR水質(zhì)預(yù)測模型的原始輸入數(shù)據(jù)也是影響其性能的關(guān)鍵點,因為原始輸入數(shù)據(jù)的改變將會直接改變懲罰參數(shù)C、核參數(shù)g的值,對建立的SVR水質(zhì)預(yù)測模型性能有間接的影響。
懲罰參數(shù)C、核參數(shù)g是建立SVR水質(zhì)預(yù)測模型的關(guān)鍵。但目前對于該組參數(shù)的選擇沒有公認(rèn)統(tǒng)一的最好方法。為了能夠更快地找到該組參數(shù),提高建立SVR水質(zhì)預(yù)測模型的效率,薛同來、趙冬暉等[6]使用遺傳算法對SVR模型中的懲罰參數(shù)C、核參數(shù)g進行全局尋優(yōu),提出了GA-SVR尋優(yōu)算法,利用該算法對盧溝橋再生水廠的化學(xué)需氧量CODMn進行預(yù)測,通過實驗表明該算法提高了建立SVR水質(zhì)預(yù)測模型的效率,并且預(yù)測精度比BP神經(jīng)網(wǎng)絡(luò)更好。柯聲明[7]使用粒子群算法PSO對SVR中的懲罰參數(shù)C、核參數(shù)g進行尋優(yōu),提出PSO-SVR尋優(yōu)算法,利用該算法對云南省牛欄江某斷面的化學(xué)需氧量CODMn進行預(yù)測,實驗表明該算法建立的SVR預(yù)測模型比使用遺傳算法建立的SVR水質(zhì)預(yù)測模型和BP神經(jīng)網(wǎng)絡(luò)建立的水質(zhì)預(yù)測模型精度高、泛化性好。張凈、崔建軍等[8]使用灰狼算法對懲罰參數(shù)C、核參數(shù)g進行尋優(yōu),提出了GWO-SVR算法,利用該算法對溶解氧進行預(yù)測,實驗表明該算法得到的水質(zhì)預(yù)測模型的預(yù)測精度得到了顯著的提升。如何快速得找到懲罰參數(shù)C、核參數(shù)g是提高SVR水質(zhì)預(yù)測模型效率的關(guān)鍵,而找到最佳的懲罰參數(shù)C、核參數(shù)g是提高SVR水質(zhì)預(yù)測模型精度的關(guān)鍵,所以對于該組參數(shù)的選擇也必將是以后研究的重點。
目前SVR預(yù)測模型常用的核函數(shù)包括線性核函數(shù)、多項式核函數(shù)、高斯核函數(shù)、拉普拉斯核函數(shù)、Sigmod核函數(shù)[9]。其中線性核函數(shù)、多項式核函數(shù)屬于全局核函數(shù);而高斯核函數(shù)、拉普拉斯核函數(shù)、Sigmod核函數(shù)屬于局部核函數(shù)。當(dāng)樣本特征多而樣本數(shù)量不多時,一般選用線性核函數(shù);當(dāng)樣本特征較少而樣本數(shù)量不多時,一般選用高斯核函數(shù)。研究表明高斯核函數(shù)的泛化能力較弱而學(xué)習(xí)能力較強,多項式核函數(shù)泛化能力較強而學(xué)習(xí)能力較弱[10]。為了解決水質(zhì)數(shù)據(jù)復(fù)雜、分布廣泛這個問題。張書新、馬旭東等[11]將多項式核函數(shù)和高斯核函數(shù)進行組合得到一種加權(quán)組合核函數(shù),將該組合核函數(shù)得到的SVR水質(zhì)預(yù)測模型用于氨氮濃度的預(yù)測,實驗表明改進后的SVR水質(zhì)預(yù)測模型比選用高斯核函數(shù)建立的SVR水質(zhì)預(yù)測模型和BP神經(jīng)網(wǎng)絡(luò)建立的水質(zhì)預(yù)測模型的預(yù)測精度高。梁雪春、龔艷冰等[12]采用多核加權(quán)學(xué)習(xí)的核函數(shù)解決了水質(zhì)樣本采集時間間隔大,數(shù)據(jù)分布廣的水質(zhì)預(yù)測問題。
核函數(shù)的選取目前并沒有統(tǒng)一的規(guī)定,也沒有哪一種核函數(shù)適用于任何數(shù)據(jù)的預(yù)測,所以核函數(shù)的選取也必將是研究SVR水質(zhì)預(yù)測模型的熱點。
SVR水質(zhì)預(yù)測模型的建立需要利用該水質(zhì)以前的數(shù)據(jù)作為輸入水質(zhì)數(shù)據(jù)進行訓(xùn)練建模,所以對于水質(zhì)輸入數(shù)據(jù)的選擇顯的尤為重要。水質(zhì)的輸入數(shù)據(jù)選擇主要分為:單因子水質(zhì)數(shù)據(jù)以及多因子水質(zhì)數(shù)據(jù)。單因子水質(zhì)數(shù)據(jù)即預(yù)測某種水質(zhì)時僅僅利用該水質(zhì)以前的數(shù)據(jù)進行訓(xùn)練建模;而多因子水質(zhì)數(shù)據(jù)即預(yù)測某種水質(zhì)時需要多種水質(zhì)以前的數(shù)據(jù)進行訓(xùn)練建模。梁勇[13]采用的單因子水質(zhì)數(shù)據(jù)作為輸入數(shù)據(jù)建立SVR水質(zhì)預(yù)測模型用于預(yù)測山東小清河流域某斷面的化學(xué)需氧量COD和氨氮。使用單因子水質(zhì)數(shù)據(jù)建立SVR水質(zhì)預(yù)測模型具有效率高的特點,但是其預(yù)測精度沒有采用多因子水質(zhì)輸入數(shù)據(jù)建立的SVR水質(zhì)預(yù)測模型高。這是因為水質(zhì)數(shù)據(jù)之間具有一定相關(guān)性,耦合性。而使用多因子水質(zhì)輸入數(shù)據(jù),建立SVR水質(zhì)預(yù)測模型必然沒有單因子水質(zhì)數(shù)據(jù)效率高,因為數(shù)據(jù)量大并且更復(fù)雜。為了解決這個問題,吳慧英、楊日劍等[14]提出通過主成分分析法篩選出對溶解氧有關(guān)的水質(zhì)數(shù)據(jù),然后建立SVR水質(zhì)預(yù)測模型。實驗表明:該方法比常規(guī)SVR模型和人工神經(jīng)網(wǎng)絡(luò)模型預(yù)測精度更高。
當(dāng)有新樣本加入時,離線支持向量回歸SVR需要重新訓(xùn)練建立預(yù)測模型以保障預(yù)測的精度,而當(dāng)增加的樣本數(shù)量越來越多時,建立SVR預(yù)測模型的時間將會變的越來越長。所以離線SVR水質(zhì)預(yù)測模型對于在線數(shù)據(jù)更新的預(yù)測效率不高。為了解決這個問題,國內(nèi)外大量學(xué)者針對該問題作了探索研究。由Syed等[15]提出了一種簡單的增量訓(xùn)練方法,基本思想是每次選用少量的樣本進行訓(xùn)練,遺忘非支持向量,留下支持向量和新加入樣本進行訓(xùn)練,直到訓(xùn)練樣本選完為止。該算法的優(yōu)點是減少了訓(xùn)練的數(shù)據(jù)量,提高了效率;缺點是完全舍棄了每次選用樣本中的非支持向量,這樣很有可能舍棄了一些有用的向量,比如舍棄的非支持向量很有可能成為其他樣本的支持向量。為了解決有用向量的遺忘問題,Cauwenberghs等[16]提出了精確增量訓(xùn)練算法,并應(yīng)用到SVM分類的研究當(dāng)中。Junshui Ma、Mario Martin等[17,18]在該方法的基礎(chǔ)上提出了精確在線支持向量回歸(Accurate Online Support Vector Regression,AOSVR)算法。其基本思想是根據(jù)KKT條件將訓(xùn)練樣本數(shù)據(jù)分成3個集合,即保留向量集(Remaining Set)、支持向量集(Support Set)和錯誤向量集(Error Set),對新加入的樣本調(diào)整其權(quán)值系數(shù)使其滿足KKT條件,同時調(diào)整其他樣本的權(quán)值系數(shù)使其也滿足KKT條件。
AOSVR訓(xùn)練相比離線SVR訓(xùn)練,不是一次性離線完成的,而是隨著數(shù)據(jù)逐一加入并反復(fù)優(yōu)化的過程。故該算法的訓(xùn)練方法更加側(cè)重于考慮訓(xùn)練的速度和執(zhí)行效率。朱江、張偉等[19]將AOSVR應(yīng)用于鋰電池SOC的估計,實時更新數(shù)據(jù)建立預(yù)測模型,通過實驗表明該算法比神經(jīng)網(wǎng)絡(luò)算法具有更好的估計精度和穩(wěn)定性。王洪鵬、陳鋒[20]基于AOSVR提出了在線支持向量回歸的車輛跟馳模型,該模型可較好地適應(yīng)實時交通中不斷到來的數(shù)據(jù),具有較好的實時性。
AOSVR也存在一些缺點,在線支持向量回歸在訓(xùn)練過程中對于錯誤的數(shù)據(jù)抗干擾能力較差,如何改進算法提高其抗干擾能力是一個值得研究的問題。
由于農(nóng)村大多數(shù)自來水廠對于原水的處理能力較弱,對于原水水質(zhì)的預(yù)測就顯得愈發(fā)重要。根據(jù)農(nóng)村自來水廠水質(zhì)數(shù)據(jù)少的特點,本文討論的重點集中在處理小樣本具有明顯優(yōu)勢的支持向量回歸SVR上。基于離線的SVR水質(zhì)預(yù)測模型,目前研究的熱點主要集中在參數(shù)尋優(yōu)、核函數(shù)的選取、輸入數(shù)據(jù)等。其中參數(shù)尋優(yōu)主要是研究如何快速的找到懲罰參數(shù)C、核參數(shù)g以提高建立水質(zhì)預(yù)測模型的效率,常用的方法有遺傳算法、粒子群算法、灰狼算法等。核函數(shù)的選取主要是將全局核函數(shù)和局部核函數(shù)相結(jié)合成一個組合核函數(shù),用來提高其預(yù)測精度。輸入數(shù)據(jù)的研究主要是根據(jù)水質(zhì)的相關(guān)性特點利用主成分分析法得到需要的輸入數(shù)據(jù)以提高預(yù)測的精度?;谠诰€SVR水質(zhì)預(yù)測模型,由于其具有實時預(yù)測的特點,特別適用于在線水質(zhì)預(yù)測模型的建立。目前已經(jīng)在其他領(lǐng)域得到應(yīng)用,其研究熱點主要還是在其預(yù)測精度上。
目前SVR水質(zhì)預(yù)測模型主要存在的問題有:①原水水質(zhì)數(shù)據(jù)缺乏長期的監(jiān)測數(shù)據(jù),已有的水質(zhì)數(shù)據(jù)不全,而SVR對于數(shù)據(jù)十分敏感,導(dǎo)致建立的水質(zhì)預(yù)測模型精度不高;②離線SVR水質(zhì)預(yù)測模型,只能用于短期預(yù)測,而在線SVR水質(zhì)預(yù)測模型在訓(xùn)練過程中對于錯誤的數(shù)據(jù)抗干擾能力較差;③國內(nèi)水廠的一些數(shù)據(jù)不向社會公開,導(dǎo)致對于研究多因子水質(zhì)輸入數(shù)據(jù)缺乏數(shù)據(jù)來源;④目前對于研究在線SVR水質(zhì)預(yù)測的學(xué)者不多,該算法用于水質(zhì)預(yù)測的研究較少。
目前,在線水質(zhì)監(jiān)測預(yù)警系統(tǒng)已經(jīng)得到了廣泛的應(yīng)用,水質(zhì)輸入數(shù)據(jù)的來源已經(jīng)得到了保障,研究水質(zhì)預(yù)測模型也可以順利展開?;赟VR水質(zhì)預(yù)測模型預(yù)測水質(zhì)未來的變化趨勢不僅可以更好地方便自來水廠對原水水質(zhì)進行提前處理,而且對于發(fā)生水質(zhì)污染也可以起到預(yù)警的作用。雖然目前基于SVR水質(zhì)預(yù)測的研究還需要進一步加強,但是保障自來水廠出水安全卻刻不容緩,在基于在線水質(zhì)監(jiān)測系統(tǒng)監(jiān)測數(shù)據(jù)的技術(shù)上,基于小樣本的SVR水質(zhì)預(yù)測模型必將成為以后研究的一個熱點方向。