1. 程式人生 > >BP神經網路說明及推導

BP神經網路說明及推導

    學習神經網路,很多基礎知識不用就會忘了,這段時間重新進行一下整理和總結。在此留做記錄。首先從最基礎的BP神經網路開始。並進行相關演算法的推導。

    人工神經網路是仿照人大腦的功能而用數學公式搭建的一種結構。現在藉助計算機語言在高效能的計算機上得以實現。才能模仿人的神經訊號傳輸變化過程,經過這個過程,完成了計算,識別,分類等等一系列功能。總結起來是在兩個方面模擬大腦。1.網路通過學習過程從外部環境獲取知識。2.獲取的知識儲存在神經元之間的連線係數中。由此可以對應到生物神經元的基本特徵,例如:神經元之間的連線強度決定訊號傳遞的強弱並可以隨著訓練而改變,可以使刺激也可以是抑制等等。所以神經網路的發展和突破必定是伴隨著生物學上對於神經研究的深入和突破。

    一個最簡單的神經網路如圖所示:

輸入X,權值W,net為網路輸入,O為網路輸出。所以只有一個隱含層.

最開始對網路使用閾值啟用函式,產生了感知器:

這裡有一個定理:一層感知器可以完成線性可分割槽間的分類(劃分立方體)。二層可以完成開,閉凸區間的分類(邏輯與操作)。三層可以完成任意複雜分類區間的分類(邏輯或操作)。這裡面的幾何解釋和收斂性都有嚴格的數學證明(不看了。。。)。

然後有人提出了使用線性啟用函式:

使用線性啟用函式,使用一層和使用多層實際上是一樣的,線性疊加。如果是線性可分訓練集,在有限步內收斂(同樣有嚴格的數學證明)。

如今的BP演算法則是使用非線性啟用函式,s型激勵函式,學習演算法為反向傳播演算法(back propagation)。主要思想是利用輸出層的誤差來估計輸出層的前導層的誤差,再用這個誤差估計更前一層的誤差(梯度下降法)。如此獲得所有層的誤差估計,利用這些估計實現對權矩陣的修改。由此必須保證激勵函式必須是處處可導的。BP推導如下,使用梯度下降法:

調參需要的注意事項,在下一篇中進行詳細的說明。