內容簡介:網上關于BP算法的解釋浩如煙海,我沒必要多寫一篇充數,不過面試之前總想快速的復習一下多層神經網絡bp算法權值更新過程,奈何沒有成文的資料。本文旨在提取出純凈的推導過程,不過多解釋,為了有基礎的朋友們面試前快速過一下。給定訓練集 以單隱層前饋網絡為例多層神經網絡bp算法權值更新過程,如上圖所示:單個神經元的最簡單神經網絡模型如上圖所示,也稱作“M-P神經元模型”。該模型可以視為神經網絡的最小單位。我們著重注意這個閾值 , 神經元輸出 ,模型輸出的是分類結果,所以這個 也直接影響分類結果。神經網絡的訓練就是連接權值的更新,所以這個連接權值的訓練不用多解釋。閾值本身也可以被作
網上關于BP算法的解釋浩如煙海,我沒必要多寫一篇充數,不過面試之前總想快速的復習一下,奈何沒有成文的資料。本文旨在提取出純凈的推導過程,不過多解釋,為了有基礎的朋友們面試前快速過一下。
抽象出問題
給定訓練集 以單隱層前饋網絡為例,如上圖所示:
介紹一下出現的參數: 介紹一下主要優化的內容
單個神經元的最簡單神經網絡模型如上圖所示,也稱作“M-P神經元模型”。該模型可以視為神經網絡的最小單位。我們著重注意這個閾值 , 神經元輸出 ,模型輸出的是分類結果,所以這個 也直接影響分類結果。神經網絡的訓練就是連接權值的更新,所以這個連接權值的訓練不用多解釋。閾值本身也可以被作為一個值為-1的啞結點的權值。所以我們BP算法種訓練的 主要內容便是神經元的連接權值和神經元的閾值。
BP算法訓練過程 明確損失函數和參數調整策略
對樣本 ,假定神經網絡的輸出為 ,即
網絡在樣本 上的均方誤差
調整策略為梯度下降:
計算輸出層閾值 的梯度
直接影響 , 直接影響 , 利用鏈式法則:
由之前公式可接著計算得出:
由于激活函數為函數,導數可以用乘積來表示,有:
所以有
計算隱層到輸出層連接權值 的梯度
直接影響 , 直接影響 , 直接影響 ,利用鏈式法則,所以有:
由于激活函數為函數
由 定義可知:
綜合求出:
計算隱層閾值 的梯度
影響到 , 直接影響 ,則有:
總結最終結果
引申一下,在多層前向網絡中,將隱層閾值梯度表述為m層的閾值梯度 ,隱層神經元輸出表述為m層神經元的輸出 ,隱層與輸出層的連接權值表述為m+1層的權值 ,將輸出層閾值梯度表述為m+1層的閾值梯度 。則隱層閾值梯度可以表示為:
可知,在閾值調整過程中, 當前層的閾值梯度取決于下一層的閾值梯度 ,這就是BP算法的精髓,同理:
可知,當前層的連接權值梯度,取決于當前層神經元閾值梯度和上層神經元輸出。
BP算法的優缺點
以上所述就是小編給大家介紹的《手推BP算法-面試前搶救一下》,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對 碼農網 的支持!