多層前饋神經網路及BP演算法
阿新 • • 發佈:2019-01-31
1.多層前饋神經網路
首先說下多層前饋神經網路,BP演算法,BP神經網路之間的關係。多層前饋(multilayer feed-forward)神經網路由一個輸入層、一個或多個隱藏層和一個輸出層組成,後向傳播(BP)演算法在多層前饋神經網路上面進行學習,採用BP演算法的(多層)前饋神經網路被稱為BP神經網路。給出一個多層前饋神經網路的拓撲結構,如下所示:
圖1 多層前饋神經網路
神經網路的拓撲結構包括:輸入層的單元數、隱藏層數(如果多於一層)、每個隱藏層的單元數和輸出層的單元數。神經網路可以用於分類(預測給定元組的類標號)和數值預測(預測連續值輸出)等。
2.後向傳播(BP)演算法詳解
(1)初始值權重
神經網路的權重被初始化為小隨機數,每個神經元都有一個相關聯的偏置,同樣也被初始化為小隨機數。
(2)前向傳播輸入
以單個神經網路單元為例,如下所示:
圖2 神經網路單元
給定隱藏層或輸出層的單元,到單元的淨輸入,如下所示:
其中,是由上一層的單元到單元的連線的權重;是上一層的單元的輸出;是單元的偏置。需要說明的是偏置充當閥值,用來改變單元的活性。
給定單元的淨輸入,單元的輸出,如下所示:
(3)後向傳播誤差
- 對於輸出層單元,誤差用下式計算:
其中,是單元的實際輸出,而是給定訓練元組的已知目標值。需要說明的是,是邏輯斯締函式的導數。 - 對於隱藏層單元,它的誤差用下式計算:
其中,是由下一較高層中單元到單元的連線權重,而是單元的誤差。 - 權重更新,如下所示: