BP神經網絡詳解


一、BP神經網絡的概念

誤差逆傳播簡稱BP算法,BP神經網絡是一種多層的前饋神經網絡,其主要特點是:信號前向傳播,誤差反向傳播。如下圖為只含一層的隱含層的卷積神經網絡。

其大致工作流程為:

第一階段是信號的前向傳播,從輸入層經過隱含層,最后達到輸出層;第二階段是誤差(各邊權重w和閾值)的反向傳播,從輸出層到隱含層,最后到輸入層,依次調節各層相連邊的權重的閾值。

 

                                                                                          

 

二、BP神經網絡流程

神經網絡的基本組成單元為神經元。具體模型如下圖:

 

                                                                                                                      

其中常見激活函數有:sigmoid函數、Relu函數、Tanh函數等。

神經元的輸出為:

                                                                                                 

其中w代表各邊的權值,初始值一般為隨機給出,后續根據反饋慢慢調節。

BP神經網絡模型中,為了便於討論,假設只有一層隱含層,即有輸入層、隱含層、輸出層三層結構。設輸入層到隱含層的權重為 Vih,隱含層第h個神經元的閾值為Yh。隱含層到輸出層的權值為Whj,輸出層第j個神經元的閾值用 θ​j表示。在如下圖中,有d個輸入神經元,q個隱含層神經元,對應q個隱含神經元閾值,l個輸出神經元,l個對應的輸出神經元閾值。

                                                       

其中βj​中的bh= f (αhγh) 。即也為隱含層的輸出結果。同理得出輸出層的輸出結果為Yj = f(Bj - θ​j)  ,其中f函數為相應的激活函數。

計算出輸出結果和實際結果的方差得到誤差率

然后進行反向傳播減小誤差。減小誤差的方法為梯度下降法。此處引入另一概念學習率。

學習率是為了控制算法每一輪迭代的更新步長。若太大則容易振盪,若太小則訓練速度過慢。

根據周志華西瓜書p103書上的推導,得出各層權重和閾值的更新公式。

最后總體流程總結如下:

輸入:訓練集D

   學習率初始值

過程:

 1、在(0,1)之間隨機初始化網絡中所有的權重和閾值

 2、repeat

 3、  for all (Xk,Yk) 屬於 D do         

  4、    根據當前參數計算輸出層最終輸出Y;

 5、    根據P103中公式(5.10)計算輸出層神經元的梯度項;

 6、    根據p104中公式(5.15)計算隱含層神經元的梯度項;

 7、    根據P103中公式(5.10)到(5.14)更新各權值w和閾值。

 8、  end for

 9、until 達到停止條件

 上述停止條件一般為預測值和實際值之間的誤差。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM