BP神經網路模型及演算法推導

2022-05-22 12:12:09 字數 2659 閱讀 1859

一,什麼是bp

"bp(back propagation)網路是2023年由rumelhart和mccelland為首的科學家小組提出,是一種按誤差逆傳播演算法訓練的多層前饋網路,是目前應用最廣泛的神經網路模型之一。bp網路能學習和存貯大量的輸入-輸出模式對映關係,而無需事前揭示描述這種對映關係的數學方程。它的學習規則是使用最速下降法,通過反向傳播來不斷調整網路的權值和閾值,使網路的誤差平方和最小。bp神經網路模型拓撲結構包括輸入層(input)、隱層(hide layer)和輸出層(output layer)。"

我們現在來分析下這些話:

bp是後向傳播的英文縮寫,那麼傳播物件是什麼?傳播的目的是什麼?傳播的方式是後向,可這又是什麼意思呢。

傳播的物件是誤差,傳播的目的是得到所有層的估計誤差,後向是說由後層誤差推導前層誤差:

即bp的思想可以總結為

利用輸出後的誤差來估計輸出層的直接前導層的誤差,再用這個誤差估計更前一層的誤差,如此一層一層的反傳下去,就獲得了所有其他各層的誤差估計。 

我們來看乙個最簡單的三層bp:

bp利用一種稱為啟用函式來描述層與層輸出之間的關係,從而模擬各層神經元之間的互動反應。

啟用函式必須滿足處處可導的條件。那麼比較常用的是一種稱為s型函式的啟用函式:

神經網路的學習目的:

希望能夠學習到乙個模型,能夠對輸入輸出乙個我們期望的輸出。

學習的方式:

在外界輸入樣本的刺激下不斷改變網路的連線權值

學習的本質:

對各連線權值的動態調整

學習的核心:

權值調整規則,即在學習過程中網路中各神經元的連線權變化所依據的一定的調整規則。

二,有監督的bp模型訓練過程

1. 思想

有監督的bp模型訓練表示我們有乙個訓練集,它包括了: input x 和它被期望擁有的輸出 output y

所以對於當前的乙個bp模型,我們能夠獲得它針對於訓練集的誤差

所以bp的核心思想就是:將輸出誤差以某種形式通過隱層向輸入層逐層反傳,這裡的某種形式其實就是:

也就是一種 "訊號的正向傳播 ----> 誤差的反向傳播"的過程:

2.具體

三:演算法推導

神經網路通過模擬人的神經元活動,來構造分類器。它的基本組成單元稱為」神經元」,離線情況下如果輸入大於某值時,設定神經元處於興奮狀態,產生輸出,否則不響應。而這個輸入來自於所有其它的神經元。而神經元的響應函式有多種(需要滿足可微,這種簡單的函式可以擬合任何非線性函式),本文選擇sigmod函式。關於基礎知識在此不在多說,這裡主要介紹一下bp神經網路,並推導權值和閾值的更新公式。

bp網路通過前向反饋誤差來改變權值和閾值,當網路的輸出與實際期望的輸出均方誤差低於某個閾值或者學習次數滿足一定條件時,訓練完成。首先給出輸出均方誤差的公式:

其中,m是輸出節點個數,p是訓練樣本個數。我們就是以最小化這個ea為目標更新網路引數。這裡以3層網路為例進行推導,即乙個輸入層、隱含層、輸出層。最小化目標函式採用梯度下降的方法。

1、隱含層到輸出層的權值更新

k為隱含層節點數,i為輸出節點個數。權值更新公式:

其中wki表示第k個隱含節點到第i個輸出節點之間的權重,η為學習率,是乙個使得求解快速收斂的學習因子,

為ea關於wki的梯度。即:

因為:

,其中,啟用函式

對x求導後,y'=y(1-y),所以進一步求得:

這就是wki的梯度值。記:

,表示為權值的增量,則權值更新可寫成:

其中增量:

所以根據這個式子我們就可以更新權值了。

2.輸入層到隱含層的權值更新

同理,誤差關於權值的梯度可通過以下式子求解,與上面有點不同的是:輸入層與隱含節點之間的權值將影響所有的隱含節點到輸出層之間的值,所以此時的權值梯度資訊應該對誤差在隱含層與輸出層之間產生累加效應。廢話不多說,直接上圖上公式更明了:

其中,所以這一層的權值增量也可以寫成這樣的形式:

以上為從不同的兩篇文中複製過來的  第三部分演算法推導中跟上面的公式符號有所不同。

BP神經網路演算法推導

1 前饋神經網路 反饋神經網路 bp網路等,他們之間的關係 前饋型神經網路 取連續或離散變數,一般不考慮輸出與輸入在時間上的滯後效應,只表達輸出與輸入的對映關係 在此種神經網路中,各神經元從輸入層開始,接收前一級輸入,並輸入到下一級,直至輸出層。整個網路中無反饋,可用乙個有向無環圖表示。常見的前饋神...

BP神經網路演算法推導

目錄正向計算 反向傳播 設損失函式為f vec 則f vec delta f vec nabla cdot delta 其中 nabla 是 f vec 的梯度 所以當 delta eta nabla f vec eta 0 時,下降速率最快 即 delta eta frac 設當前啟用函式為f x...

神經網路BP演算法推導

j theta frac1m sum m sum k left y k log left h theta left x right right k left 1 y k right log left 1 left h theta left x right right k right right fr...