神经网络的前向传播和反向传播推导
x1和
x2表示输入
wij表示权重
bij表示偏置
σi表示激活函数,这里使用sigmoid激活函数
out表示输出
y表示真实值
η表示学习率
前向传播
h1=w11x1+w13x2+b11,
α1=σ(h1)=1+e−h11
h2=w12x1+w14x2+b12,
α2=σ(h2)=1+e−h21
z=w21α1+w22α2+b21,
out=σ(z)=1+e−z1
损失函数
E=21(out−y)2
反向传播
求导
△w21=∂w21∂E=∂out∂E∂z∂out∂w21∂z=(out−y)σ(z)(1−σ(z))α1
△w22=∂w22∂E=∂out∂E∂z∂out∂w22∂z=(out−y)σ(z)(1−σ(z))α2
△b21=∂b21∂E=∂out∂E∂z∂out∂b21∂z=(out−y)σ(z)(1−σ(z))
更新
w21、w22、b21
w21=w21−η△w21
w22=w22−η△w22
b21=b21−η△b21
求导
△w12=∂h2∂α2∂w12∂h2=σ(h2)(1−σ(h2))x1
△w14=∂h2∂α2∂w14∂h2=σ(h2)(1−σ(h2))x2
△b12=∂h2∂α2∂b12∂h2=σ(h2)(1−σ(h2))
△w11=∂h1∂α1∂w11∂h1=σ(h1)(1−σ(h1))x1
△w13=∂h1∂α1∂w13∂h1=σ(h1)(1−σ(h1))x2
△b11=∂h1∂α1∂b11∂h1=σ(h1)(1−σ(h1))
更新
w12、w14、b12
w12=w12−η△w12
w14=w14−η△w14
b12=b12−η△b12
更新
w11、w13、b11
w11=w11−η△w11
w13=w13−η△w13
b11=b11−η△b11