BP神經網路

2021-08-02 12:06:56 字數 1136 閱讀 7792

神經網路

nn多層前向神經網路

輸入層(特徵向量值):神經元數量由特徵值確定,特徵值有多少就有多少

隱藏層(可以有很多層):層數和每層神經元數量不定

輸出層(標記分類):神經元數量由目標集確定

每個神經元存的數字由上乙個神經元傳的值,自己的值和偏置值決定

權重(w)

偏置(b):除了輸入層,每一層神經元都有偏置

激勵函式activation function

隱藏層足夠多,訓練集足夠大,可以模擬任何問題

nn演算法(bp=back propagation後項傳播)

1.特徵向量標準化normalize(通過演算法,特徵值轉化為0-1之間的值,即輸入值在0-1之間)

比如毛色:輸入層四個輸入值  黑1000 藍0100 就是選到誰誰就設1

2.隨機初始化權重和偏置(-1-1之間)

3.傳入樣例

比如:輸入層四個輸入傳為0.1,0.2,0.3,0.4

4.計算神經元的值

1.對上層輸入加權求和:上層的每個特徵值乘以自己和該神經元的權重的值再相加

2.加上偏置值

3.用激勵函式產生最後結果(sigmoid function)

f(x)=1/(1+e^(-x))

5.根據誤差反向傳送

6.誤差計算

1.輸出層 err =(結果)*(1-結果)*(預期值-結果)

2.隱藏層 err = ( 結果 )*(1-結果)*(後一層err加權求和)

3.權重更新

δwij = (learning rate)*err*oi      learning grate: 學習率

wij = wij + δwij

4.偏置更新

δbj=(learning rate)*errj

bj = bj+δbj

訓練nn

不斷通過樣例調整權重和偏置的過程

訓練好的神經網路可以用於**新的樣例

訓練終止

1.訓練一定次數(epoch)

或2.既定錯誤率

或3.權重更新低於某個threhold(閾值)

自己定激勵函式

如雙曲函式,邏輯函式(上面例子),階躍函式。。。

learning rate

學習的步長

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 此時系統...

BP神經網路

bp是back propagation bp神經網路主要的演算法在於誤差反向傳播error backpropagation 有三層 輸入層 input 隱含層 hidden 輸出層 output 輸入層 n個神經元 隱含層 p個神經元 輸出層 q個神經元 輸入向量 x x1,x2,x n 隱含層輸入...