1. 程式人生 > >神經網路反向傳播(BP)演算法原理

神經網路反向傳播(BP)演算法原理

一.BP演算法簡介

BP演算法的學習過程由正(前)向傳播過程和反向傳播過程組成。

1.正向傳播

將訓練集資料輸入到ANN的輸入層,經過隱藏層,最後達到輸出層並輸出結果;

2.反向傳播

由於ANN的輸出結果與實際結果有誤差,則計算估計值與實際值之間的誤差,並將該誤差從輸出層向隱藏層反向傳播,直至傳播到輸入層
在反向傳播的過程中,根據誤差調整各種引數的值;不斷迭代上述過程,直至收斂。

二.BP演算法原理

1.傳遞過程

引用塊內容
紅色字第二行k改為j.

2.代價函式

引用塊內容
n是表示神經元個數

(樣本個數),1/2是為了方便求導構造出來的(類似SVM),這裡的C是平均代價函式。
這裡寫圖片描述

3.四個重要公式

(1)計算最後一層神經網路誤差

引用塊內容這裡寫圖片描述
第L層誤差=代價函式對該層輸出求偏導x該層輸出對輸入求偏導。

(2)由後往前,計算每一層神經網路誤差

這裡寫圖片描述這裡寫圖片描述
z是輸入,a是輸出,j是該層神經元個數

(3)計算權重的梯度(變化率)

引用塊內容這裡寫圖片描述
z是輸入

(4)計算偏置的梯度

引用塊內容這裡寫圖片描述
z是輸入,b是偏置

4.前向後向傳播引數對比

引用塊內容