基于BP神經網絡的數字式渦流傳感器特性曲線擬合的實現
3.3 訓練函數的選擇
考慮到LM(Levenberg Marquardt)算法是一種利用標準的數值優化技術的快速算法,該方法是一種將最陡下降法和牛頓法相結合的算法,可以克服神經網絡收斂速度慢、易陷入局部極小值的缺點,并且在網絡參數相對較少的情況下具有收斂速度極快、穩定性能強等優點,因此本文采用trainlm(LM)算法函數對網絡進行訓練,大大減少了網絡訓練的迭代次數。
3.4 傳輸函數
BP網絡傳遞函數,又稱為激活函數必須是連續可微的,通常采用S型的對數函數logsig、雙曲正切函數tansig或線性函數purelin。前兩種為非線性函數,分別將X∈(-∞,+∞)的輸入壓縮為Y∈[-1,1]和Y∈[0,1]的輸出,因此,對本文的非線性擬合問題,輸入層和隱層采用非線性傳遞函數tansig,輸出層采用線性函數purelin,以保持輸出的范圍。
3.5 隱層的節點數
隱含層神經元數目是根據網絡收斂性能好壞來確定的。
目前對于隱含層數目的確定沒有嚴格的規定。一個公認的指導原則是樣本點的偏差在允許范圍條件下用最平滑的函數去逼近未知的非線性映射。隱含層神經元個數過少可能訓練不出網絡,即網絡的魯棒性差,抗噪聲能力不強,不能辨識以前沒有遇到的模式;但是隱含層神經元個數過多,又會使學習時間過長,誤差不一定最小,出現過度吻合問題。因此通常采用“試湊法”,通過比較網絡輸出誤差與期望誤差之間的擬合程度,選擇仿真效果最好時所選擇的隱含層節點數。一般對于三層網絡隱含層節點數可以根據(7)式所示的經驗公式大致確定最佳隱含層單元的數目。

式中M為輸入層節點個數,N為輸出層節點個數,H為隱含層輸入個數。由此隱含層節點數應該在3~12這個范圍之內,訓練次數為2 000,訓練誤差為0.000 1。在學習率初定為0.1且不變的情況下對網絡進行訓練。經過試驗,不同隱含層節點數的訓練情況如表1所示,得到最好的隱含層節點個數為11。本文引用地址:http://www.j9360.com/article/159754.htm
如圖5所示,隱層節點數為11時的網絡訓練過程誤差變化情況,可以看出,網絡經初始化,利用函數trainlm對網絡進行23次訓練后,網絡就達到了目標誤差的要求。訓練過程中,目標誤差隨著訓練次數增大逐漸減小,直至達到所規定的期望誤差0.000 1停止訓練。
pid控制相關文章:pid控制原理
電流變送器相關文章:電流變送器原理
評論