BP神經網絡
希望我寫的東西可以讓更多的人進步
串行網絡
設網絡有兩層
第一層激活函數爲sigmoid函數,第二層激活函數爲y = x
輸入正傳
輸入
第一層淨輸入 = 輸入*第一層權值
第一層輸出 = sigmoid(第一層淨輸入)
第二層輸入 = 第一層輸出
第二層淨輸入 = 第二層輸入*第二層權值
輸出 = 第二層淨輸入
誤差:(期望值 - 輸出)^2
誤差反傳
誤差反傳,修改權值,權值修正量:
第二層:
此時定義敏感性s:
則:
s就是第二層誤差對輸出的導數乘以激活函數對激活函數輸入的導數
不妨將此時的s表示爲s2.
第一層:
其中:
因此關鍵爲題在於
第二層淨輸入和第一層淨輸入都是有第二層和第一層的輸入乘以權值得到的 因此都是矩陣
一個矩陣對另一個矩陣求偏導可以用雅克比矩陣的形式表示
求這個矩陣的一個表達式,考慮矩陣的i,j元素
因此雅克比矩陣可以寫成
這裏:
看到了嗎?矩陣的結構,這個結構纔是對的
順勢寫出敏感性的遞推公式:
至此,反向傳播算法得名的原因已經介紹完畢
此處做一個小結:
第一步:通過網絡將輸入向前傳播:
第二部:通過網絡將敏感性反向傳播:
最後:使用近似的最速下降法更新權值和偏置值。
懶了,要上傳圖片 然而太晚了 以下是同時合集 大家對號看吧 有用的都在