BP算法(误差逆传播算法、反向传播算法)
输入层:x1,x2,⋯,xi,⋯,xd
隐含层:b1,b2,⋯,bh,⋯,bq
输出层:y1,y2,⋯,yj,⋯,yl
**函数:f(x)=1+e−x1,f(x)满足f′(x)=f(x)(1−f(x)) 第h个隐含层神经元的输入为:αh=i=1∑dvihxi
第j个输出层神经元的输入为:βj=h=1∑qωhjbh
网络在第k个样例(xk,yk)上的均方误差为:
E(k)=21j=1∑l(y^jk−yjk)2 广义感知机学习规则:v←v+Δv
权重梯度更新公式:Δωhj=−η∂ωhj∂Ek=ηgjbh
Δθj=−ηgj
Δvih=−η∂vih∂Ek=ηehxi
Δγ=ηeh
其中,−∂ωhj∂Ek=−∂y^jk∂Ek∂βj∂y^jk∂ωhj∂βj,
而∂ωhj∂βj=bh∂βj∂y^jk=f′(βj−θj)=f(βj−θj)(1−f(βj−θj))=y^jk(1−y^jk)∂y^jk∂Ek=y^jk−yjk 故:gj=−∂βj∂Ek=y^jk(1−y^jk)(yjk−y^jk)
另 −∂vih∂Ek=−∂bh∂Ek∂αh∂bh∂vih∂αh而:∂vih∂αh=xi∂αh∂bh=f′(αh−γh)=bh(1−bh)∂bh∂Ek=j=1∑l∂βj∂Ek∂bh∂βj=j=1∑lωhj(−gj)故eh=−∂αh∂Ek=bh(1−bh)j=1∑lωhjgj