模型:
定义:
神经元的输出:y^kj=f(βj−θj)⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅1
均方误差为:Ek=12∑lj=1(y^kj−ykj)2.⋅⋅⋅⋅⋅⋅⋅⋅⋅2
隐层和输出层的**函数为sigmoid函数,具有如下性质:
f(x)=11+e−x
f′(x)=[(1+e−x)−1]′=e−x(1+e−x)2=(1−f(x))⋅f(x)
更新公式:对任一参数v:
v←v+Δv BP算法求解策略:梯度下降法
(
http://blog.csdn.net/loveitlovelife/article/details/78991472)
参数调整
1:对输入层到隐层的权值调整:Δvih=−η∂Ek∂vih
则:
∂Ek∂vih=∂Ek∂bh⋅∂bh∂αh∂αh∂vih⋅⋅⋅⋅⋅⋅⋅3
其中:
++
∂αh∂vih=xi;
++
∂Ek∂bh=∑lj=1∂Ek∂βj∂βj∂bh=∑lj=1gj⋅whj·····4
++由sigmoid函数有如下性质f’(x)=f(x)(1-f(x)),则:
∂bh∂αh=bh(1−bh)
得到:
Δvih=ηehxi
其中
eh=−∂Ek∂bh⋅∂bh∂αh=bh(1−bh)∑j=1lwhjgj⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅5
2:输出神经元的阈值调整
Δθj=−η∂Ek∂θj
其中:
∂Ek∂θj=∂Ek∂y^kj⋅∂y^kj∂θj=(y^kj−ykj)⋅y^kj⋅(1−y^kj)=gj
得到:
θj=−ηgj
3隐层神经元阈值调整:Δυh=−η∂Ek∂υh
其中:∂Ek∂υh=∂Ek∂bh⋅∂bh∂υh=eh(5shi
得到:
Δυh=−ηeh
4隐层到输出层权值调整Δwhj:
http://blog.csdn.net/loveitlovelife/article/details/79068210