基于人工神經(jīng)網(wǎng)絡的過閘流量軟測量研究
摘要:由于過閘流量與其影響因素(上游水位、閘門開度等)存在著復雜的非線性關系,給水流量的精確測量帶來了困難。本文利用人工神經(jīng)網(wǎng)絡優(yōu)良的非線性映射能力,建立了一個基于BP網(wǎng)絡過閘流量軟測量模型,并運用MATLAB神經(jīng)網(wǎng)絡工具箱以及碧口水電站實際數(shù)據(jù)對網(wǎng)絡進行訓練與驗證。驗證結(jié)果符合水流量測量精度的要求,為過閘流量的測量提供了一種簡單,可靠的新方法。
本文引用地址:http://butianyuan.cn/article/170163.htm引言
通過閘門的水流量是一個非常重要的參數(shù)。只有獲得準確的流量值,才能實現(xiàn)對水資源的優(yōu)化配置。目前對于過閘水流量的測量已形成了幾種方法:流速儀法、水力學公式法以及曲線法[1,2]。其中,被廣泛運用與現(xiàn)場測流中的方法是流速儀法,它也是流量測量中最重要的方法。流速儀法是通過實測斷面上的流速和水道斷面積來確定流量的方法。測量時先在斷面上布設測速垂線和測速點,再將流速儀放到測速點處測速,用分割法計算斷面面積,推算出流量。雖然這種測流方法是目前的主導方法,但卻存在著一些天生的缺陷:一是很難確定合適的測速垂線及測點,這是由于河道斷面形狀的不規(guī)則以及流速場分布情況復雜等原因造成的;二是實時性不高,測量時間比較長,從而導致管理部門不能及時了解過閘流量,耽誤啟閉閘門的最佳時機;三是需要的硬件資源比較多,因此大大增加了測流成本。鑒于此,研究一種新型的即簡單、操作方便實時性又高,并且精度滿足要求的測流方法已成為目前的迫切需求。而本文采用的BP網(wǎng)絡軟測量技術正好解決了以上諸多問題。
軟測量技術是依據(jù)工業(yè)生產(chǎn)過程中有關的過程變量間的關聯(lián),通過一些能夠檢測的過程變量和相應的數(shù)學模型,來估計過程中用儀表較難檢測的另一個變量的技術[3,4]。通常而言,上游水位與閘門開度是比較容易測量的,而過閘流量卻是一個非常難測量的變量。而對于一個固定的閘門,其過閘流量與上游水位及閘門開啟高度有必然的聯(lián)系,所以,以上游水位以及閘門的開啟高度這兩個值作為參數(shù)建立一個BP網(wǎng)絡數(shù)學模型,可間接獲得流量值。從而使得過閘流量的軟測量得以實現(xiàn)。BP模型是一種多層感知機構,是由輸入層、中間層(隱層)和輸出層構成的前饋網(wǎng)絡。因此,需要確定BP網(wǎng)絡模型的層數(shù)及其各層的節(jié)點數(shù)。
網(wǎng)絡層數(shù)的確定
理論上已證明:具有偏差和至少一個S型隱含層加上一個線性輸出層的網(wǎng)絡,能夠逼近任何有理函數(shù)。這就給我們提供了一個基本的設計BP網(wǎng)絡的原則。增加層數(shù)主要可以更進一步降低誤差,提高精度,但同時也使網(wǎng)絡復雜化,從而增加了網(wǎng)絡權值的訓練時間,并可能陷入局部極小。而誤差精度的提高實際上也可以通過增加隱含層中的神經(jīng)元數(shù)目來獲得,其訓練效果也比增加層數(shù)更容易觀察和調(diào)整[5]。一般而言,BP網(wǎng)絡模型中隱含層的層數(shù)為一層,這樣網(wǎng)絡既不會太復雜又不會陷入局部極小。因此,這里的BP網(wǎng)絡采用兩層結(jié)構,一層隱含層,一層輸出層。各層之間實行全連接,層內(nèi)神經(jīng)元之間無連接。輸出層神經(jīng)元的激勵函數(shù)為線性函數(shù),隱層神經(jīng)元的激勵函數(shù)為S型(sigmoid)函數(shù)[6],即:
隱含層神經(jīng)元數(shù)的確定
隱含層神經(jīng)元數(shù)的選擇在理論上并沒有一個明確的規(guī)定。因此,選擇合適的神經(jīng)元數(shù)就顯得十分麻煩。如果神經(jīng)元太少,則網(wǎng)絡不能很好地學習,需要的訓練次數(shù)也多,訓練的精度也不高。反而言之,如果隱含層神經(jīng)元數(shù)選的太多,雖然功能會越大,但是循環(huán)次數(shù)也就是訓練時間也會隨之增加。另外可能還會出現(xiàn)其他的問題,如導致不協(xié)調(diào)的擬合。一般的選擇原則是:在能夠解決問題的前提下,再加上一到兩個神經(jīng)元以加快誤差的下降速度即可[7]。
這里,我們通過對不同神經(jīng)元數(shù)進行訓練對比,以及通過簡單的交叉驗證法確定隱含層的神經(jīng)元數(shù)為15個?;贐P網(wǎng)絡的過閘流量軟測量模型如圖1所示。
模型的訓練
BP網(wǎng)絡學習規(guī)則
BP網(wǎng)絡的學習過程分為兩個階段:
第一個階段是輸入已知學習樣本,通過設置的網(wǎng)絡結(jié)構和前一次迭代的權值和閾值,從網(wǎng)絡的第一層向后計算各神經(jīng)元的輸出。
第二個階段是對權和閾值進行修改,從最后一層向前計算各權值和閾值對總誤差的影響,據(jù)此對各權值和閾值進行修改。
以上兩個過程反復交替,直到達到收斂為止?,F(xiàn)在對本文所建立的網(wǎng)絡進行BP算法推導。其中a1、b1為隱含層第i個神經(jīng)元的輸出和閾值,a2 、b2為輸出層的輸出和閾值,w1j 為隱含層第j個輸入到第i個神經(jīng)元的權值,w2li為輸出層第i個輸入到輸出神經(jīng)元的權值,f1、f2分別為隱含層和輸出層的激勵函數(shù),pj和t 分別為輸入樣本和目標輸出。
評論