bp神經網路收斂問題,BP神經網路的幾個簡單問題

2021-05-23 15:20:39 字數 971 閱讀 7174

1樓:匿名使用者

當然是越慢。因為bai已經接近最低du點,訓練也進入誤

zhi差曲面的平dao坦區,每次搜內索的誤差下降速度是容減慢的。這一點可以在bp神經網路的誤差調整公式上看出。

事實上收斂速度逐漸減慢,這是正常的,如果一定要避免這種情況,可以自適應改變學習率。

由於傳統bp演算法的學習速率是固定的,因此網路的收斂速度慢,需要較長的訓練時間。對於一些複雜問題,bp演算法需要的訓練時間可能非常長,這主要是由於學習速率太小造成的,可採用變化的學習速率或自適應的學習速率加以改進。

bp演算法可以使權值收斂到某個值,但並不保證其為誤差平面的全域性最小值,這是因為採用梯度下降法可能產生一個區域性最小值。對於這個問題,可以採用附加動量法來解決。

bp神經網路的幾個簡單問題

2樓:

1.一般你可以自己嘗試下,我最近也在嘗試,隱層用tansig是比較理想的,輸出層要自專

己嘗試的,如屬用purlin是輸出任意值,logsig很多書也是推崇的,將輸出值限定在【0,1】中,我一般都用tansig.

2.trainlm是一種訓練方法,使用的話收斂很快很快,相比的話traingd收斂很慢很慢。優勢traingd要訓練1000epochs,而trainlm只要訓練5epochs就夠了

bp神經網路validation checks很快到達6,performance還沒達到要求,還有performance收斂很慢

3樓:匿名使用者

validation checks是用來防止抄網路訓練過適的,即是訓練時網路的驗證誤差大於訓練誤差的次數,預設值為6就是大於次數達到6次訓練就會停止。網路訓練過適時,即使performance還在減小網路效能也不會提高,反而會降低,因此要設定過適次數來提前訓練以保證網路效能。performance的收斂就要考慮很多因素,比如你的輸入資料,網路的引數設定,隱藏層神經元個數等等。

自己用matlab實現的BP神經網路演算法,無法得到預期的效果,主要是誤差太大

lr 0.05 lr為學習速率 baierr goal 0.1 err goal為期du望誤差最小值 max epoch 15000 max epoch為訓練的最大次數 a 0.9 a為慣性系數oi 0 ok 0 置隱zhi含層和輸出層各神dao經元輸出初值為回0 這些初始答引數是誰提供給你?調整一...

求助 BP神經網路的訓練演算法中訓練函式(traingdx

traingdx 有動量和自適應lr的梯度下降法 trainlm levenberg marquardt方法 traind 梯度下降法 bp神經網路的幾個簡單問題 1.一般你可以自己嘗試下,我最近也在嘗試,隱層用tansig是比較理想的,輸出層要自專 己嘗試的,如屬用purlin是輸出任意值,log...

BP神經網路中隱藏層節點個數怎麼確定最佳

1 神經網路演算法隱含層的選取 1.1 構造法 首先運用三種確定隱含層層數的方法得版到三個隱含層層數,找到最小權值和最大值,然後從最小值開始逐個驗證模型 誤差,直到達到最大值。最後選取模型誤差最小的那個隱含層層數。該方法適用於雙隱含層網路。1.2 刪除法 單隱含層網路非線性對映能力較弱,相同問題,為...