摘要:由于過閘流量與其影響因素(上游水位、閘門開度等)存在著復雜的非線性關系,給水流量的精確測量帶來了困難。本文利用人工神經網絡優良的非線性映射能力,建立了一個基于BP網絡過閘流量軟測量模型,并運用MATLAB神經網絡工具箱以及碧口水電站實際數據對網絡進行訓練與驗證。驗證結果符合水流量測量精度的要求,為過閘流量的測量提供了一種簡單,可靠的新方法。本文網絡版地址:http://www.eepw.com.cn/ article/170163.htm
關鍵詞:BP網絡;軟測量;過閘流量;MATLAB神經網絡工具箱
DOI: 10.3969/j.issn.1005-5517.2013.10.011
引言
通過閘門的水流量是一個非常重要的參數。只有獲得準確的流量值,才能實現對水資源的優化配置。目前對于過閘水流量的測量已形成了幾種方法:流速儀法、水力學公式法以及曲線法[1,2]。其中,被廣泛運用與現場測流中的方法是流速儀法,它也是流量測量中最重要的方法。流速儀法是通過實測斷面上的流速和水道斷面積來確定流量的方法。測量時先在斷面上布設測速垂線和測速點,再將流速儀放到測速點處測速,用分割法計算斷面面積,推算出流量。雖然這種測流方法是目前的主導方法,但卻存在著一些天生的缺陷:一是很難確定合適的測速垂線及測點,這是由于河道斷面形狀的不規則以及流速場分布情況復雜等原因造成的;二是實時性不高,測量時間比較長,從而導致管理部門不能及時了解過閘流量,耽誤啟閉閘門的最佳時機;三是需要的硬件資源比較多,因此大大增加了測流成本。鑒于此,研究一種新型的即簡單、操作方便實時性又高,并且精度滿足要求的測流方法已成為目前的迫切需求。而本文采用的BP網絡軟測量技術正好解決了以上諸多問題。
BP神經網絡軟測量模型
隱含層神經元數的確定
隱含層神經元數的選擇在理論上并沒有一個明確的規定。因此,選擇合適的神經元數就顯得十分麻煩。如果神經元太少,則網絡不能很好地學習,需要的訓練次數也多,訓練的精度也不高。反而言之,如果隱含層神經元數選的太多,雖然功能會越大,但是循環次數也就是訓練時間也會隨之增加。另外可能還會出現其他的問題,如導致不協調的擬合。一般的選擇原則是:在能夠解決問題的前提下,再加上一到兩個神經元以加快誤差的下降速度即可[7]。
這里,我們通過對不同神經元數進行訓練對比,以及通過簡單的交叉驗證法確定隱含層的神經元數為15個。基于BP網絡的過閘流量軟測量模型如圖1所示。
數據樣本的選取及處理
所用的人工神經網絡的訓練與測試集樣本來源于碧口水電廠右泄工作門2001年水文歷史數據。從中選取典型的60組數據,其中前40組作為訓練樣本,后20組作為測試樣本。限于篇幅只列出部分數據,如表1所示。
由于輸入樣本各參數的集中取值范圍不同,參數大小不一,為了使各類參數所起的作用大致相同,必須對輸入數據進行標準化,把輸入數據都規一到[0,1]閉區域內[8]。因此,我們對表1的數據做如下處理:H*G=HG/10;H*UP=HUP/1000;Q*=Q/Qmax。
運用MATLAB神經網絡工具箱對網絡進行訓練與測試
在運用MATLAB神經網絡工具箱對網絡進行訓練之前,要注意兩方面問題。一是初始權值的選擇,再個就是學習速率的選取。
由于系統是非線性的,初始值對于學習是否達到局部最小、是否能夠收斂以及訓練時間的長短的關系很大。一般選取初始權值為(-1,1)之間的隨機數。在MATLAB工具箱中可采用函數initnw.m初始化隱含層權值。學習速率決定每一次循環訓練中所產生的權值變化量。若學習速率過大可能導致系統的不穩定;但學習速率過小會導致訓練時間較長,收斂速度很慢,不過能保證網絡的誤差值不跳出誤差表面的低谷而最終趨于最小誤差值。所以在一般情況下,傾向于選取較小的學習速率以保證系統的穩定性。學習速率的選取范圍在0.01到0.8之間。綜合考慮一下,本系統選取學習速率為0.1。BP網絡訓練程序如下所示[9]:
%定義輸入向量和目標向量
P=[0.5 0.6 0.8 ??;0.7082 0.7081 0.7079 ??];
T=[0.3744 0.4533 0.3735 0.648??];
%創建BP網絡和定義訓練函數及參數
net=newcf( minmax(P),[15,1],{‘lo gsig’,‘purelin’},‘traingd’);
net=initnw(net,1);
net.trainParam.epochs=5000;
net.trainParam.lr=0.1;
net.trainParam.goal=0.00001;
%訓練神經網絡
[net,tr]=train(net,P,T);
待網絡訓練好后,利用選定的20組測試樣本對其進行測試,以測量其泛化能力。測試結果如圖2和圖3所示。
圖2為真實流量值與通過BP網絡軟測量模型的預測值之間的擬合曲線,方框代表預測值,圓點代表真實值。
圖3為BP網絡模型過閘流量估計誤差曲線,從圖中可以看出網絡估計誤差在5%以內,與流量真值符合良好,反映了軟測量模型良好的測量能力。通過改變網絡結構、神經元的激活函數、學習算法,進一步增強神經網絡對模糊數據的識別能力和容錯性,從而可進一步提高模型精度。
本文提出了一個基于兩層BP網絡的過閘流量軟測量模型,訓練與測試結果表明:該網絡對過閘流量有很好的預測性,誤差在5%以內。而一般傳統的流速儀測流的誤差也為5%,因此該模型能滿足工程測量的需要。另外,預測值與流量真值具有較好的一致性,也充分顯示了人工神經網絡解決工程問題的適用性。因此,可以通過基于人工神經網絡的軟測量模型來解決過閘流量與各影響因素之間的復雜非線性關系,為過閘流量的測量提供了一種可供選擇的有效手段。