誤差反傳訓練算法
先考慮網絡只有一個輸出y的情況。
給定N個樣本(xk,yk)(k=1,2,⋯,N),任意一個節點i的輸出爲Oi,其中第l層的第j個單元,當輸入第k個樣本時,結點j的輸入爲netjkl=i∑wijlOjkl−1輸出爲Ojkl=fnetOjkl採用平方型誤差函數Ek=21i∑(yjk−yjk)2總誤差爲E=2N1k=1∑NEk
設δjkl=∂netjkl∂Ek因此∂wijl∂Ek=∂netjkl∂Ek∂wijl∂netjkl=δjklOjkl−1對於δjkl=∂netjkl∂Ek
(1)若j爲輸出單元,則
δjkl=∂netjkl∂Ek=∂Ojkl∂Ek∂netjkl∂Ojkl=∂Ojkl∂Ekf′(netjkl)
(2)若j不是輸入單元,則δjkl=∂netjkl∂Ek=∂yjk∂Ek∂netjkl∂yjk=−(yjk−yjk)f′(netjkl)
有
{δjkl=∑mδjkl+1wmjl+1f′(netjkl)∂wijl∂Ek=δjklOjkl−1
因此步驟大致爲正向計算過程,再進行反向過程修正權值。