反向傳播演算法(BP演算法)
阿新 • • 發佈:2018-12-23
具體實現:
https://yongyuan.name/blog/back-propagtion.html
反向傳播演算法(Backpropagation)是目前用來訓練人工神經網路(Artificial Neural Network,ANN)的最常用且最有效的演算法。其主要思想是:
(1)將訓練集資料輸入到ANN的輸入層,經過隱藏層,最後達到輸出層並輸出結果,這是ANN的前向傳播過程;
(2)由於ANN的輸出結果與實際結果有誤差,則計算估計值與實際值之間的誤差,並將該誤差從輸出層向隱藏層反向傳播,直至傳播到輸入層;
(3)在反向傳播的過程中,根據誤差調整各種引數的值;不斷迭代上述過程,直至收斂。
1.變數定義
2.代價函式
3. 公式及其推導
本節將介紹反向傳播演算法用到的4個公式,並進行推導。如果不想了解公式推導過程,請直接看第4節的演算法步驟。
首先,將第l層第j個神經元中產生的錯誤(即實際值與預測值之間的誤差)定義為:
本文將以一個輸入樣本為例進行說明,此時代價函式表示為: