神經網路
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 隱含層輸入...