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

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