BP算法,用梯度下降法更新权值W与偏置项b
?
? ? ? ? Bp算法實際是輸出的誤差函數對每一個參數求導,輸出層可以直接求出,非輸出層則有鏈式法則求導。這里以上圖5層神經網絡為例進行說明。
一? ?符號說明:
? ? ? 1)這里使用激活函數為sigmoid函數:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ?(1)
? ? ? ? ? ? 對sigmoid函數求導得:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? (2)
? ? ? ? 2)??:l表示l-1層傳到l層的權重,i表示l-1層所對應的神經元,j表示l層的神經元;:l表示l-1層傳到l層的偏置項;第l層尚未使用激活函數的第k個神經元;第l層已使用激活函數的第k個神經元;第l層神經元的個數。以第l層傳到第l+1層為例:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(3)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (4)
? ? ? ? 3)?不妨設實際輸出為y1和y2,這里使用最小均方誤差表示:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ?(5)
? ? ? ? ? ? 使用梯度下降法更新參數,對權值項,更新公式為
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ?(6)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 對偏置項,更新公式為:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ?(7)
二? ?推導說明:
? ? 由梯度下降法的公式可以看出實際就是求出最小均方誤差對參數的偏導。這里以、、為例。
1) 對?,只跟第5層神經網絡的第1個神經元有關,既有:
? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (9)
? ? ? ?由鏈式求導法則得:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? (10)
?
2) 對?,跟第5層的所有神經元有關,跟第4層第1個神經元有關,既有:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(11)
? ? ? ? ? ? ? ? 由鏈式求導法則得:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (12)
? ? ? ? ? ? ? ? ? ? ? ?對上式中E對的偏導這里單獨進行討論,? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? (13)
? ? ? ? ? ? ? ? ? ? ?又因為:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (14)
? ? ? ? ? ? ? ? 故:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? (15)
?
?3) 對?,跟第3層的第1個神經元,第4層所有神經元有關,第5層第所有神經元有關,既有:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(16)
? ? ? ? ? ? ? ? ? ? ?由鏈式求導法則得:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(17)
? ? ? ? ? ? ? ? ?對上式中E對的偏導這里單獨進行討論,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(18)
? ? ? ? ? ? ? ? ? ?又因為:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (19)
? ? ? ? ? ? ? ? ?故:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? (20)
? ? ? ? ? ? 公式太長了,這里就推到由第2層到第3層的參數。
?4)開始總結規律
對輸出層(既第5層)不妨令:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ?(21)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ?(22)
對第4層:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ?(23)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ?(24)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ?(25)
? ?對第3層第1個神經元
? ? ? ? ? ? ? ? ??? (26)
? ? ?由上可以可能出
? ? ? ? ? ? ? ? ? ? ?對輸出層即第5層:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???(27)
? ? ? ? ? ? ? ? ? ? ? ?對第4層:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ?(28)
? ? ? ? ? ? ? ? ? ? ?對第3層:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ?(29)?
? ? ? ? ? ? ? 同理可得對第2層? ? ?:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? (30)
綜上可得:
? ? ? ? ? 對輸出層有:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ?(31)
? ? ? ? ?對非輸出層有:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ?(32)
? ? ? ??又由于:?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????? ? ? ?(33)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? (34)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ?(35)
? ? ? ? ? ? ? 所以:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ?(36)
? ? ? ? ? ? ? ? 所以權重更新公式為:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? (37)
? ? ? ? ? ? ? ?同理可得偏置項的更新公式為:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? (38)
6)推廣到一般化,如果誤差函數不是最小均方誤差,而是E,激活函數不是sigmoid,而是f(x),此時:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? (39)? ? ?
? ? ? ? ? ? ? 有上面的推導我們易得,對輸出層:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ?(40)
? ? ? ? ? ? ? ? ? ? 對非輸出層:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? (41)
? ? ? ? ? ? ? ? ? 此時權重更新公式:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ?(42)
? ? ? ? ? ? ? ? ?偏置項的更新公式為:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? (43)
總結
以上是生活随笔為你收集整理的BP算法,用梯度下降法更新权值W与偏置项b的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab 城市间最短路径
- 下一篇: Dijkstra 计算两地间的最短距离