誤差反向傳播(error back propagation, bp)演算法
1、bp演算法的基本思想是,學習過程由訊號的正向傳播與誤差的反向傳播兩個過程組成。
1)正向傳播:輸入樣本->輸入層->各隱層(處理)->輸出層
注1:若輸出層實際輸出與期望輸出(教師訊號)不符,則轉入2)(誤差反向傳播過程)
2)誤差反向傳播:輸出誤差(某種形式)->隱層(逐層)->輸入層
其主要目的是通過將輸出誤差反傳,將誤差分攤給各層所有單元,從而獲得各層單元的誤差訊號,進而修正各單元的權值(其過程,是乙個權值調整的過程)。
注2:權值調整的過程,也就是網路的學習訓練過程(學習也就是這麼的由來,權值調整)。
2、bp演算法實現步驟(軟體):
1)初始化
2)輸入訓練樣本對,計算各層輸出
3)計算網路輸出誤差
4)計算各層誤差訊號
5)調整各層權值
6)檢查網路總誤差是否達到精度要求
滿足,則訓練結束;不滿足,則返回步驟2)
3、多層感知器(基於bp演算法)的主要能力:
1)非線性對映:足夠多樣本->學習訓練
能學習和儲存大量輸入-輸出模式對映關係。只要能提供足夠多的樣本模式對供bp網路進行學習訓練,它便能完成由n維輸入空間到m維輸出空間的非線性對映。
2)泛化:輸入新樣本(訓練時未有)->完成正確的輸入、輸出對映
3)容錯:個別樣本誤差不能左右對權矩陣的調整
4、標準bp演算法的缺陷:
1)易形成區域性極小(屬貪婪演算法,區域性最優)而得不到全域性最優;
2)訓練次數多使得學習效率低下,收斂速度慢(需做大量運算);
3)隱節點的選取缺乏理論支援;
4)訓練時學習新樣本有遺忘舊樣本趨勢。
注3:改進演算法—增加動量項、自適應調整學習速率(這個似乎不錯)及引入陡度因子
BP神經網路快速理解
理解bp神經網路,這裡不討論那些複雜的生物學和神經科學。其實很簡單,從下面三個例子裡面可以了解。比如你是乙個備考高三數學的學生。你本身就會2 2 4,你把這個訓練一萬遍有用麼?沒用。你要做的就是找到自己不行的地方,找到自己的漏洞,有針對性的去突破和訓練。這就是用誤差來學習。人類的過程也是一樣的。學習...
BP神經網路
基本bp神經網路演算法包括 訊號的前向傳播 誤差的反向傳播 也即計算實際輸出時按照輸入到輸出的方向進行,權值閾值調整則相反。bp是一種多層前饋神經網路,由輸入層 隱含層和輸出層組成。層與層之間有兩種訊號在流動 一種是從輸入流向輸出的工作訊號,是輸入和權值的函式 另一種是輸入流向輸出的訊號,即誤差。隱...
BP神經網路
x 為輸入向量,y為隱藏層的神經元,z 為輸出層,d為目標真實值,本文預設 z 不經過sigmod處理。x y的權重為 w,y z的權重為 v yj ix iwij 1 oyi f y j 2 其中激勵函式f x 1 1 e x f x f x 1 f x 3 z k j f yj vjk 此時系統...