1、網路層數
大部分單個隱藏層即可
2、輸入層神經元個數
輸入變數的個數通常都是由問題的外部描述所確定的。例如,如果有4個外部變數作為網路的輸入,那麼網路就有4個輸入。但是,這是不是意味著輸入層的神經元個數就為4呢?答案是否定的! 因為每個神經元的輸入可以有無數個,所以,通常當輸入變數較多的時候,輸入層神經元個數是明顯的少於輸入變數的個數的!
3、隱藏層神經元個數
較多的隱藏層神經元個數可以帶來更好的效能,但會導致訓練時間增加,有這麼一些經驗公式...
其中h為隱藏層神經元個數,i表示輸入層神經元個數,o表示輸出層神經元個數
(後續補充...)
4、輸出層神經元個數
輸出層神經元的個數同樣需要根據從實際問題中得到的抽象模型來確定。在模式分類問題中,如果共有n種類別,則輸出可以採用n個神經元。
也可以設計log2(n)個神經元,如4個輸出,設計2個節點,00 01 10 11覆蓋四種狀態
5、啟用函式的選取
啟用函式一般用在隱藏層,常選用sigmoid函式,也可選用其他的...(如tanh函式、relu函式、p-relu函式、elu函式等)
6、初始權值的確定
一般隨機生成,較小的非零隨機值
7、學習效率的設定
學習速率的高低會影響單次迴圈訓練所獲取的權值增量。學習的速率太高有可能會直接引起系統的不穩固;而學習的速率過低又會引起訓練用時大大的增加,從而可能產生非常慢的抑制速度。在過去的研究中,我們一般都會將學習速率的選取範圍設在0.01-0.8的區間裡,也就是說我們通常為了確保整個系統的穩定性而傾向於使用較小的學習速率。
確定以上引數後,將訓練資料進行歸一化處理,並輸入網路中進行學習,若網路成功收斂,即可得到所需的神經網路。
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 隱含層輸入...