1樓:深耕教育陳老師
bp演算法是由學習過程由訊號的正向傳播與誤差的反向傳播兩個過程組成。由於多層前饋網路的訓練經常採用誤差反向傳播演算法,人們也常把將多層前饋網路直接稱為bp網路。
雖然bp演算法得到廣泛的應用,但它也存在不足,其主要表現在訓練過程不確定上,具體如下。
1,訓練時間較長。對於某些特殊的問題,執行時間可能需要幾個小時甚至更長,這主要是因為學習率太小所致,可以採用自適應的學習率加以改進。
2,完全不能訓練。訓練乎判橘時由於權值調整過大使啟用函式達到飽和,從而使網路權值的調節幾乎停滯。為避免這種情況,一是選取較小的初始權值,二是採用較小的學習率。
3,易陷入區域性極小值。bp演算法可以使網路權值收斂到乙個最衝尺終解,但它並不能保證所求為誤差超平面的全域性最優解,也可能是乙個區域性極小值。
這主要是因為bp演算法所採用的是梯度下降法,訓練是從某一起始點開始沿誤差函式的斜面逐漸達到誤差的最小值,故不同的起始點可能導致不同的極小值產生,即得到不同的最優解。如果訓練結果未達到預定精度,常常採用多層網路和較多的神經元,以使訓練結果的精度進一步提高,但與此同時也增加了網路的複雜性與訓練時間。
4,「喜新厭舊」。訓練過程中,學習新樣本時有遺忘舊樣本的趨勢。
2樓:福瑞宜數智
bp神經網路有可能陷入區域性極小值的原因是,在訓練過程中,神經網路使用的是隨機梯度下降法來不斷優化網路引數埋弊。由於梯度下降是基於當前的梯彎銀族度來調整引數的搏念,如果當前的梯度值非常小,則引數的調整幅度也會很小,可能導致收斂到區域性極小值的情況。另外,如果初始引數的選擇不當,也有可能導致收斂到區域性極小值的情況。
3樓:bd哎呀呀
可能是計算出現異域導致沒有最優解,更換分析資料,或者增加神經元。
bp網路中,如何避免進入區域性極小值
4樓:古採尼
一般來說有以下幾種方法:
1.為梯度更新法則加乙個衝量。
項。衝量有時可以帶動梯度下降過程,衝過狹窄的區域性最下值(然而原則上它也可以帶動梯度下降過程衝過狹窄的全域性最小值到其他區域性極小值!)
2.使用隨機的梯度下降而不是真正的梯度下降。梯度下降的隨機近似對於每個訓練樣例沿乙個不同的誤差曲面有效下降,它依靠這些梯度的平均來逼近對於整個訓練集合的梯度。
這些不同的誤差曲面通常有不同的區域性極小值,這使得下降過程不太可能陷入任乙個區域性極小值。
3.使用同樣的資料訓練多個網路,但用不同的隨機權值初始化每個網路。如果不同的訓練過程產生不同的區域性極小值,那麼對分離的驗證集合效能最好的網路被選擇。
或者保留所有的網路,並且把它們當作乙個網路「委員會」,它們的輸出是每個網路輸出的平均值。
可能加權)。
bp神經網路收斂問題,BP神經網路的幾個簡單問題
當然是越慢。因為bai已經接近最低du點,訓練也進入誤 zhi差曲面的平dao坦區,每次搜內索的誤差下降速度是容減慢的。這一點可以在bp神經網路的誤差調整公式上看出。事實上收斂速度逐漸減慢,這是正常的,如果一定要避免這種情況,可以自適應改變學習率。由於傳統bp演算法的學習速率是固定的,因此網路的收斂...
自己用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神經網路的隱層中的神經元怎麼確定呢?
嘗試法 try error try 一般常用方法,就是嘗試,可以根據訓練集的規模 輸入個數 進行嘗試,有人提了一些經驗公式。比如這個資料集有個輸入,個輸出,那麼你可以設定乙個隱層,這個隱層有個神經元,也可以是 ,也可以是 ,當然也可以是,也可以是,完全是人為設定的,你需要根據訓練情況 是否易收斂,泛...