?

遺傳算法優化BP 神經網絡在水質評價中的應用

2024-03-14 08:48潔,馮
甘肅科技 2024年1期
關鍵詞:水質評價訓練樣本遺傳算法

宋 潔,馮 青

(黃河水利委員會上游水文水資源局,甘肅 蘭州 730030)

水環境質量評價是合理開發利用及保護優化配置水資源,提高水資源承載力的前提,水體中影響水環境質量的因素有很多,水質的評價等級和監測指標之間的關系異常復雜,存在不穩定性特征、非線性特征以及水質的模糊性等問題,所以早期的生物學評定法和專家評價法逐步被取代。目前常見的水質評價方法有:單項指數法、綜合指數法、灰色關聯分析法、模糊綜合評價法、人工神經網絡法等,其中絕大部分水質評價方法都是線性模型,相對簡單快捷,但評價結果會有失偏頗,而人工神經網絡法在處理非線性問題時有著絕對的優勢,是比較前沿且應用較為廣泛的水質評價方法。人工神經網絡是20世紀50年代之后發展起來的適應性很強的交叉學科,它模擬了人腦的思維方式,目前用于水環境質量評價的人工神經網絡多為BP 神經網絡,它是一種前饋型網絡[1]。

Rumelhart 和McCella 科學小組在1986 年提出的BP神經網絡是一種反向傳播(Back-Propagation)算法訓練,它具有良好的自學習和自適應能力,免去權重的設計,從一定程度上減輕了水質評價工作量,評價結果不僅可以進行縱向比較且通用性很強。但隨著研究的深入,網絡收斂速度慢,初始權值、閾值確定難以及運算過程易陷入局部極值等都作為BP 神經網絡的缺點顯現出來了。本文用遺傳算法對BP神經網絡進行優化,解決了易陷入局部極值導致無法獲得最優連接權系數和閾值的難題,并用MATLAB 軟件進行訓練,結合黃河上游部分斷面的實際水體情況構建了水質評價模型,與常規的BP神經網絡方法進行比較,對完善黃河流域水環境質量評價有著實際的應用價值。

1 BP神經網絡

1.1 BP神經網絡原理和模型結構

BP 神經網絡主要是利用梯度下降算法讓誤差函數最小,過程分為信號的正向傳播和誤差的反向傳播[2]。拓撲結構包括:輸入層、一個或多個隱含層和輸出層[3],如圖1 所示,每一層都是由多個神經元構成,且相鄰兩層之間的神經元相互連接,但是同一層的神經元兩兩之間是沒有任何連接的[4]。

圖1 BP 神經網絡模型結構示意圖

1998 年Robert Hecht-Nielson 證明了對任何在閉合區間內的連續函數,都可用只含有一個隱含層數的三層BP神經網絡逼近[5]。

1.2 BP神經網絡算法的弊端

作為一種有堅實理論依據和嚴謹推算過程的網絡模型,它有著諸多顯著的優點,如處理非線性復雜問題的能力很強,數據間采用并行處理方式,應用也較為廣泛,但是在使用過程中,其自身也存在不足之處[6],主要有以下3點。

(1)BP 神經網絡收斂速度慢:采用梯度下降算法,訓練次數可能會達到幾百至幾千次迭代;

(2)易陷入局部極值:算法采用局部尋優,若初始點靠近局部最優點,則算法收斂并陷入局部最小值,導致網絡訓練失??;

(3)隱含層節點個數難確定:隱含層節點個數的確定通常都是靠經驗和反復試驗來確定,在一定程度上存在冗余性,影響其逼近能力。

這些自身缺陷使得傳統的BP 神經網絡在應用過程中受到諸多限制,嚴重制約著BP神經網絡的研究和發展。

1.3 BP神經網絡算法的改進

遺傳算法GA(Genetic Algorithms)模仿自然界“適者生存,優勝劣汰”的進化機制[7-8],具有其他算法沒有的魯棒性、自適應性及全局最優性等特點。

本文用遺傳算法對BP 神經網絡的連接權進行優化,獲得理想的權值分布。即先確定閾值和權值大概的范圍,且在范圍內隨機產生多組數值并用實數進行編碼,然后用選擇、變異、交叉對遺傳算子進化操作,產生新一代的父代,以個體適應度作為依據,再次進行選擇、變異、交叉產生新的子代,如此反復直到滿足最終條件,充分體現出遺傳算法的全局搜索能力,獲得最優閾值和權值。

1.4 遺傳算法優化BP神經網絡的工作原理

將遺傳算法和BP神經網絡相結合,對權值和閾值進行優化,其流程如圖2所示。

圖2 遺傳算法優化BP 神經網絡模型流程圖

2 研究區域概況及數據來源

2.1 水域概況

黃河是中國第二大河,全長約5 464 km,流域總面積79.5 萬km2(含內流區面積4.2 萬km2),發源于青藏高原巴顏喀拉山北麓的約古宗列盆地,自西向東分別流經青海、四川、甘肅、寧夏、內蒙古、山西、陜西、河南及山東9 個?。ㄗ灾螀^)[9],西界巴顏喀拉山,北抵陰山,南至秦嶺,東注渤海。流域內地勢西高東低,高差懸殊,形成自西而東、由高及低三級階梯。黃河流域水資源的地區分布很不均勻,由南向北呈遞減趨勢。

黃河河源至內蒙古自治區托克托縣的河口鎮為黃河上游,河段長約3 472 km,流域面積38.6萬km2,水多沙少是黃河上游的典型特征。黃河源頭至興??h的唐乃亥屬于河源區,是重要的水源涵養地,湖泊較多,最大湖泊是鄂陵湖和扎陵湖,黃河河源段河谷開闊,冰川廣布,水系發達,湖泊、沼澤眾多,水資源豐富,長期未被開發利用,且人口稀少,主要以農牧業為主,水質較清,水流穩定,產水量大。唐乃亥以上至河源長度為1 552.4 km,集水面積121 972 km2,左岸有東科曲、切木曲,右岸有卡日曲、熱曲、吉邁河、白河、黑河等,是黃河的天然水池。龍羊峽至劉家峽區間主要有洮河和大夏河,劉家峽至蘭州區間主要有湟水和大通河。

為準確高效地監測出研究區域的水環境特征,要盡可能選擇水流平穩,水面寬闊且順直的位置,綜合考慮選取黃河上游監測斷面蘭州、瑪曲、小川、新城橋、民和斷面,具體地理位置信息見表1。

表1 黃河流域各監測斷面地理位置信息表

2.2 數據來源

為了盡可能完整地了解黃河上游區域的水質實際情況,取得最具有時效性和代表性的數據,設定一個季度一次的采樣頻率。結合近五年的整匯編資料以及黃河流域上游段的主要超標因子共選取化學需氧量、氨氮、總磷、高錳酸鹽指數、五日生化需氧量、氟化物和溶解氧7 項指標。2021 年共采集了52個點的水樣,其中蘭州、瑪曲、小川和新城橋斷面均取左中右3 點,民和斷面只取中點,共獲得364組水質監測數據。研究時段內各斷面各類水質指標的含量如圖3所示。

圖3 2021年各監測斷面各指標含量

化學需氧量、氨氮、總磷、高錳酸鹽指數、五日生化需氧量和氟化物指標均為濃度越大污染越嚴重指標,而溶解氧為濃度越小污染越嚴重指標。根據圖3 可知:監測流域內化學需氧量含量在1 月份民和斷面出現最大值;氨氮指標含量相對較小,絕大部分在0~0.40 mg/L 之間,僅在1月份民和斷面出現最大值;總磷指標含量在7 月民和斷面出現最大值;高錳酸鹽指數指標含量在7 月瑪曲斷面出現最大值;五日生化需氧量指標含量在7 月瑪曲斷面出現最大值;氟化物指標含量在4 月民和斷面出現最大值;溶解氧指標含量在7 月民和斷面出現最大值。本文選取2021 年黃河流域各監測斷面7 項指標的年平均數據為研究對象,具體數值見表2。

表2 2021年部分監測斷面年平均數據 (單位:mg/L)

2.3 標準訓練樣本的生成

水質評價的本質是模式識別,也就是把評價指標實際檢測結果和地表水標準限值進行比較,最為接近標準數值所對應的地表水環境質量等級即為BP 網絡模型的識別結果。參照《中華人民共和國地表水環境質量標準》(GB 3838—2002)[10],僅能提供6組訓練樣本,很顯然網絡訓練樣本太少不具有說服力,不能真實反映出水體內部之間蘊含的規律,會導致模型識別精度低、泛化能力差,沒有實用價值。所以本文選用隨機插值的方法擴充了訓練樣本,生成規則見表3。

表3 訓練樣本生成規則

取0~0.2,0.2~0.4,0.4~0.6,0.6~0.8,0.8~1.0和1.0~1.5分別作為Ⅰ~劣Ⅴ類這6類水質的期望輸出,每類標準分別生成30個樣本,共生成樣本數180個,構成模型需要的地表水環境質量標準訓練樣本。

由于各指標的量綱不同,指標之間具有不可公度性,所以,擴充后的訓練樣本不能直接進行比較,要進行標準化處理[11],擴充后的部分訓練樣本見表4。

表4 擴充后的部分訓練樣本

3 遺傳算法優化BP 神經網絡的水質評價建模

3.1 結構設計

結構的確定是建立網絡模型的重點,神經網絡結構是否合理直接影響著水環境質量評價結果的合理性和準確性。BP神經網絡結構包括網絡層數、輸入層節點數、隱含層層數、隱含層節點數和輸出層節點數這5個方面。

BP 神經網絡輸入層的節點數與訓練樣本的維數是密切相關的,如果訓練樣本維數過高,則會導致BP神經網絡中數據訓練的計算量過大,訓練時間長且整個訓練過程效率太低。所以在標準樣本訓練前要盡可能篩選出可靠、真實的數據來做BP神經網絡的輸入項。

選擇了7項水質指標,因此,本次建立的遺傳算法優化的BP神經網絡模型的輸入層包含7個節點,分別代表7項水質指標的年平均濃度值。

3.2 黃金分割算法確定隱含層節點數

隱含層節點數確定難是BP 神經網絡的缺陷之一,目前,隱含層節點數大部分都是通過經驗和多次試算選取的[12-13],在參閱相關文獻的基礎上,采用了黃金分割算法,通過在既定區間下尋找最優節點的方法,優化確定BP神經網絡的隱含層節點數。假定BP 神經網絡輸入層的節點數是I,輸出層的節點數是J,那么隱含層的節點數L取值范圍是:

網絡模型訓練的精度是黃金分割算法判斷BP神經網絡優劣的依據,均方誤差mse 值越小網絡結構越優。同時,訓練BP神經網絡是為了確保訓練好的網絡模型對非訓練樣本具有好的泛化能力[14-15],所以,將總樣本分成2個部分,即訓練樣本和測試樣本。

采用MATLAB R2019b 構建網絡結構,輸入層到隱含層是非線性函數,隱含層到輸出層則是線性函數。網絡結構中設定學習速率參數是0.001,學習速率增加比例是10,期望值誤差參數是0.000 01,BP神經網絡最大訓練次數是300。

在BP神經網絡中即使網絡結構相同,每次訓練的次數和均方誤差mse值都會不同,這是BP神經網絡獨有的特點,是由于網絡模型每次開始訓練時的閾值和權值不一樣造成的,所以將BP神經網絡多次訓練取最好的一次結果記錄即可。

依據輸入層節點數7和輸出層節點數1,確定隱含層最優節點數的大致范圍是[a,b]=[4,18]。

第一個試驗點位置確定:g1=0.618*(b-a)+a=12.652,取整為13,網絡拓撲結構為7-13-1,記為模型BP1;

第二個試驗點位置確定:g2=0.382*(b-a)+a=9.348,取整為9,網絡拓撲結構為7-9-1,記為模型BP2;

將表3標準化后的180組數據作為BP神經網絡模型的網絡輸入,分別對模型進行訓練、迭代并達到穩定。比較試驗結果E(g1)和E(g2),以此類推,拓撲結構不同時的網絡模型性能見表5。

表5 拓撲結構不同時的網絡模型性能對比

從表5中看出網絡模型BP6在循環9次后收斂,均方誤差mse值最小,即為遺傳算法優化的BP神經網絡的最優模型,拓撲結構是7-12-1,所以本文建立的水質評價模型中的隱含層節點數確定為12。

通過以上試驗得出結論:運用黃金分割算法確定最優隱含層節點數時,只需要做6次試驗,比試算法計算量小,比依據經驗得到的網絡結構更具有說服力。

3.3 參數設置和遺傳操作

采用三層BP 神經網絡結構,設定S1 是輸入層節點個數、S2 是隱含層節點個數、S3 是輸出層節點個數,那么網絡模型中的編碼長度S=S1*S2+S2*S3+S2+S3,根據確定的網絡拓撲結構7-12-1,則編碼長度S為109,權值為96,閾值為13。染色體編碼方式用實數編碼方法,取值范圍(-1,1),選用算術方式進行交叉操作。設置初始種群取值30,遺傳代數取值100,遺傳操作選用最簡單的適應度比例法,變異操作用非一致變異方法,調用MATLAB 軟件的GAOT工具箱實現遺傳操作如圖4所示。

圖4 遺傳操作程序

3.4 優化網絡閾值、權值

BP神經網絡水質評價模型用遺傳算法優化時,可以同時對閾值和權值一起進行優化。用MATLAB R2019b 軟件,把前期的訓練樣本數據值作為輸入,采用前面得到的最優網絡拓撲結構7-12-1,同時用誤差平方和的倒數作為標準優化閾值和權值,核心代碼如圖5所示。

圖5 閾值和權值的優化程序

4 實例仿真

4.1 實際輸出和期望輸出的吻合度比較

本文中遺傳算法優化BP 神經網絡的拓撲結構為此前BP 神經網絡的拓撲結構7-12-1,各參數設置均不變,將神經網絡模型進行多次訓練,保存均方誤差值最小的網絡,同時為了更加清楚地展現出優化后的網絡模型訓練結果,將樣本數據的80%用于網絡訓練,剩余的用于網絡測試。遺傳算法優化后BP神經網絡的誤差平方和曲線圖如圖6所示,適應度曲線如圖7 所示,圖中的2 條線分別代表訓練樣本和測試樣本。

圖6 誤差平方和曲線

從圖6、圖7 中看出:在遺傳算法優化后建立的BP 神經網絡模型中測試樣本的實際輸出與期望輸出的吻合程度都是非常高的。

圖7 適應度曲線

4.2 仿真結果及評價

應用所建立的遺傳算法優化后的BP 神經網絡模型對黃河上游5 個斷面的水質情況進行評價,實例仿真測試性能如圖8所示。

圖8 水質評價仿真測試性能圖

仿真測試得出:實例仿真模型經過106次循環后網絡收斂,最終的均方誤差為mse=0.000 009 85。模型試算后的仿真結果和水質評價類別見表6。

表6 遺傳算法優化BP 神經網絡模型的水質評價結果

遺傳算法優化BP 神經網絡模型對黃河流域上游段5個地表水監測斷面的水質評價結果表明,這5個斷面均未超過水域功能區3 類水標準,其中小川斷面水質狀況最優,水質評價類別達到Ⅰ類水標準;瑪曲、蘭州和新城橋斷面水質狀況次之,水質評價類別均為Ⅱ類水;民和斷面水質狀況最差,水質評價類別為Ⅲ類水。

4.3 與常規BP神經網絡評價方法的比對分析

不同的網絡模型根據網絡訓練過程中的步數作為依據來判斷網絡的收斂速度,它們在達到相同訓練目標時,步數少的則網絡收斂速度快,反之亦然。實例仿真中,遺傳算法優化的BP神經網絡模型和常規的BP神經網絡模型訓練誤差曲線如圖9所示。

圖9 不同的網絡模型訓練誤差曲線圖

從圖9對比后得出結論:遺傳算法優化后BP神經網絡模型的收斂步數為106,而常規BP神經網絡模型的收斂步數為198,也就是說,當常規的BP 神經網絡模型訓練次數為198時才達到網絡訓練誤差目標0.000 01,而遺傳算法優化的BP神經網絡模型只需訓練106次就可以達到和常規BP神經網絡模型一樣的訓練目標,網絡模型的收斂速度得到了非常明顯的提高。2種模型的水質評價結果見表7。

表7 2種模型的水質評價結果比對

依據表7得出以下2點結論:

(1)各斷面各指標全年中實際監測數據變化波動不大時,遺傳算法優化的BP神經網絡模型仿真結果和常規BP 神經網絡模型仿真結果一致,如蘭州、瑪曲、小川和新城橋斷面;

(2)各斷面各指標全年中實際監測數據變化波動較大時,遺傳算法優化的BP神經網絡模型仿真結果優于常規BP神經網絡模型仿真結果,特別是全年監測結果中極值突出時,如民和斷面,常規BP 神經網絡模型仿真結果輸出為0.623 6,評價類別為Ⅳ類水,而遺傳算法優化的BP神經網絡模型仿真結果輸出為0.537 2,評價類別為Ⅲ類水,該斷面的主要污染因子是化學需氧量和氨氮指標,且僅1月出現極大值。

出現這種情況的原因主要是:常規BP神經網絡模型學習訓練時收斂速度較慢,在目標函數復雜的情況下,會存在麻痹現象,出現一些平坦區,在這些區域內,權值誤差改變很小,訓練過程幾乎停頓,即不能保證收斂到最低點,易陷入局部極值。綜上所述,遺傳算法優化的BP神經網絡水質評價模型仿真結果更符合斷面水體的實際情況。

5 結論

常規BP 神經網絡模型雖然具有很好的非線性映射和學習能力,但存在確定模型結構過程繁瑣,網絡收斂慢和初始權值、閾值確定難,易陷入局部極值等問題,而遺傳算法恰好擁有很好的優化搜索能力,所以,經對BP 神經網絡和遺傳算法深入研究后,提出將二者結合起來,取長補短,建立了遺傳算法優化后BP 神經網絡的水質評價模型,并借助MATLAB 軟件編程實現網絡權值和閾值的優化,對模型進行訓練,應用于黃河流域上游部分斷面的水環境質量評價中,驗證了模型的實用性和精確性。研究結果表明,遺傳算法優化后BP神經網絡具有可行性和有效性,能科學、客觀、準確地反映出研究水域的實際水體情況,在一定程度上改善了傳統評價方法的片面性和主觀性,對現有的水環境質量評價方法的改進起到了積極作用,為黃河流域水環境保護工作提供了一定的數據依據和技術支撐。

猜你喜歡
水質評價訓練樣本遺傳算法
人工智能
滻灞河水質評價方法研究
基于自適應遺傳算法的CSAMT一維反演
一種基于遺傳算法的聚類分析方法在DNA序列比較中的應用
基于遺傳算法和LS-SVM的財務危機預測
寬帶光譜成像系統最優訓練樣本選擇方法研究
基于概率統計和模糊綜合評價法的水質評價模型及其應用——以拉薩河水質評價為例
融合原始樣本和虛擬樣本的人臉識別算法
基于稀疏重構的機載雷達訓練樣本挑選方法
基于SPAM的河流水質評價模型
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合