基于BP神經(jīng)網(wǎng)絡的數(shù)字式渦流傳感器特性曲線擬合的實現(xiàn)
3.3 訓練函數(shù)的選擇
考慮到LM(Levenberg Marquardt)算法是一種利用標準的數(shù)值優(yōu)化技術的快速算法,該方法是一種將最陡下降法和牛頓法相結合的算法,可以克服神經(jīng)網(wǎng)絡收斂速度慢、易陷入局部極小值的缺點,并且在網(wǎng)絡參數(shù)相對較少的情況下具有收斂速度極快、穩(wěn)定性能強等優(yōu)點,因此本文采用trainlm(LM)算法函數(shù)對網(wǎng)絡進行訓練,大大減少了網(wǎng)絡訓練的迭代次數(shù)。
3.4 傳輸函數(shù)
BP網(wǎng)絡傳遞函數(shù),又稱為激活函數(shù)必須是連續(xù)可微的,通常采用S型的對數(shù)函數(shù)logsig、雙曲正切函數(shù)tansig或線性函數(shù)purelin。前兩種為非線性函數(shù),分別將X∈(-∞,+∞)的輸入壓縮為Y∈[-1,1]和Y∈[0,1]的輸出,因此,對本文的非線性擬合問題,輸入層和隱層采用非線性傳遞函數(shù)tansig,輸出層采用線性函數(shù)purelin,以保持輸出的范圍。
3.5 隱層的節(jié)點數(shù)
隱含層神經(jīng)元數(shù)目是根據(jù)網(wǎng)絡收斂性能好壞來確定的。
目前對于隱含層數(shù)目的確定沒有嚴格的規(guī)定。一個公認的指導原則是樣本點的偏差在允許范圍條件下用最平滑的函數(shù)去逼近未知的非線性映射。隱含層神經(jīng)元個數(shù)過少可能訓練不出網(wǎng)絡,即網(wǎng)絡的魯棒性差,抗噪聲能力不強,不能辨識以前沒有遇到的模式;但是隱含層神經(jīng)元個數(shù)過多,又會使學習時間過長,誤差不一定最小,出現(xiàn)過度吻合問題。因此通常采用“試湊法”,通過比較網(wǎng)絡輸出誤差與期望誤差之間的擬合程度,選擇仿真效果最好時所選擇的隱含層節(jié)點數(shù)。一般對于三層網(wǎng)絡隱含層節(jié)點數(shù)可以根據(jù)(7)式所示的經(jīng)驗公式大致確定最佳隱含層單元的數(shù)目。
式中M為輸入層節(jié)點個數(shù),N為輸出層節(jié)點個數(shù),H為隱含層輸入個數(shù)。由此隱含層節(jié)點數(shù)應該在3~12這個范圍之內(nèi),訓練次數(shù)為2 000,訓練誤差為0.000 1。在學習率初定為0.1且不變的情況下對網(wǎng)絡進行訓練。經(jīng)過試驗,不同隱含層節(jié)點數(shù)的訓練情況如表1所示,得到最好的隱含層節(jié)點個數(shù)為11。本文引用地址:http://butianyuan.cn/article/159754.htm
如圖5所示,隱層節(jié)點數(shù)為11時的網(wǎng)絡訓練過程誤差變化情況,可以看出,網(wǎng)絡經(jīng)初始化,利用函數(shù)trainlm對網(wǎng)絡進行23次訓練后,網(wǎng)絡就達到了目標誤差的要求。訓練過程中,目標誤差隨著訓練次數(shù)增大逐漸減小,直至達到所規(guī)定的期望誤差0.000 1停止訓練。
pid控制相關文章:pid控制原理
電流變送器相關文章:電流變送器原理
評論