BP推导

这里写图片描述

符号
xijxij:第j行数据,第i个神经元输入

wlijwijl:第l层的第i个神经元的到第l+1层的第j个神经元的权重

blbl:第l层的偏置bias

zlizil:第l层第i个神经元的的输入

aliail​:第I层第i个神经元的输出

σ()σ():激活函数

δliδil:第I层第i个神经元的的误差

推导

向前传播

第一层

a(1)1=x1ja1(1)=x1j

a(1)2=x2ja2(1)=x2j

第二层

z(2)1=a(1)1w(1)1+a(1)2w(1)3+b1=x1jw(1)1+x2jw(1)3+b1z1(2)=a1(1)w1(1)+a2(1)w3(1)+b1=x1jw1(1)+x2jw3(1)+b1

z(2)2=a(1)1w(1)2+a(1)2w(1)4+b1=x1jw(1)2+x2jw(1)4+b1z2(2)=a1(1)w2(1)+a2(1)w4(1)+b1=x1jw2(1)+x2jw4(1)+b1

a(2)1=σ(z(2)1)=σ(x1jw(1)1+x2jw(1)3+b1)a1(2)=σ(z1(2))=σ(x1jw1(1)+x2jw3(1)+b1)

a(2)2=σ(z(2)2)=σ(x1jw(1)2+x2jw(1)4+b1)a2(2)=σ(z2(2))=σ(x1jw2(1)+x2jw4(1)+b1)

第三层

z(3)1=a(2)1w(2)1+a(2)2w(2)3+b2=σ(x1jw(1)1+x2jw(1)3+b1)w(2)1+σ(x1jw(1)2+x2jw(1)4+b1)w(2)3+b2z1(3)=a1(2)w1(2)+a2(2)w3(2)+b2=σ(x1jw1(1)+x2jw3(1)+b1)w1(2)+σ(x1jw2(1)+x2jw4(1)+b1)w3(2)+b2

z(3)2=a(2)1w(2)2+a(2)2w(2)4+b2=σ(x1jw(1)1+x2jw(1)3+b1)w(2)2+σ(x1jw(1)2+x2jw(1)4+b1)w(2)4+b2z2(3)=a1(2)w2(2)+a2(2)w4(2)+b2=σ(x1jw1(1)+x2jw3(1)+b1)w2(2)+σ(x1jw2(1)+x2jw4(1)+b1)w4(2)+b2

a(3)1=σ(z(3)1)=σ(σ(x1jw(1)1+x2jw(1)3+b1)w(2)1+σ(x1jw(1)2+x2jw(1)4+b1)w(2)3+b2)a1(3)=σ(z1(3))=σ(σ(x1jw1(1)+x2jw3(1)+b1)w1(2)+σ(x1jw2(1)+x2jw4(1)+b1)w3(2)+b2)

a(3)2=σ(z(3)2)=σ(σ(x1jw(1)1+x2jw(1)3+b1)w(2)2+σ(x1jw(1)2+x2jw(1)4+b1)w(2)4+b2)a2(3)=σ(z2(3))=σ(σ(x1jw1(1)+x2jw3(1)+b1)w2(2)+σ(x1jw2(1)+x2jw4(1)+b1)w4(2)+b2)

反向传播

对每一层的残差求导,求梯度,更新权重。

w=w-\alpha {{\partial E}\over \partial w}

对第三层-第二层权重更新

Etoatal=E(3)1+E(3)2Etoatal=E1(3)+E2(3)=12(ya(3)1)2+12(ya(3)2)2=12(y[σ(z31)]])2+12(y[σ(z(3)2)])212(y−a1(3))2+12(y−a2(3))2=12(y−[σ(z13)]])2+12(y−[σ(z2(3))])2

w21w12取值更新,也就是先对w21w12求导,通过链式法则得到

Etotalw(2)1=[12(ya(3)1)2+12(ya(3)2)2]a(3)1[σ(z(3)1)]z(3)1(a(2)1w(2)1+a(2)2w(2)3+b2)w(2)1∂Etotal∂w1(2)=∂[12(y−a1(3))2+12(y−a2(3))2]∂a1(3)∗∂[σ(z1(3))]∂z1(3)∗∂(a1(2)w1(2)+a2(2)w3(2)+b2)∂w1(2)

=(a(3)1y)σ(z(3)1)a(2)1=(a1(3)−y)∗σ(z1(3))′∗a1(2)

对第二层-第一层权重更新

Etotalw(1)1=Etotala(2)1σ(z(2)1)z(2)1(a(1)1w(1)1+a(1)2w(1)3+b1)w(1)1∂Etotal∂w1(1)=∂Etotal∂a1(2)∗∂σ(z1(2))∂z1(2)∗∂(a1(1)w1(1)+a2(1)w3(1)+b1)∂w1(1)

Etotala(2)1=E(3)1a(2)1+E(3)1a(2)1=[12(ya(3)1)2]a(3)1[σ(z(3)1)]z(3)1(a(2)1w(2)1+a(2)2w(2)3+b2)a(2)1+[12(ya(3)2)2]a(3)2[σ(z(3)2)]z(3)2(a(2)1w(2)2+a(2)2w(2)4+b2)a(2)1∂Etotal∂a1(2)=E1(3)∂a1(2)+E1(3)∂a1(2)=∂[12(y−a1(3))2]∂a1(3)∗∂[σ(z1(3))]∂z1(3)∗∂(a1(2)w1(2)+a2(2)w3(2)+b2)∂a1(2)+∂[12(y−a2(3))2]∂a2(3)∗∂[σ(z2(3))]∂z2(3)∗∂(a1(2)w2(2)+a2(2)w4(2)+b2)∂a1(2)

=(a(3)1y)σ(z(3)1)w(2)1+(a(3)2y)σ(z(3)2)w(2)2=(a1(3)−y)∗σ(z1(3))′∗w1(2)+(a2(3)−y)∗σ(z2(3))′∗w2(2)

Etotalw(1)1=Etotala(2)1σ(z(2)1)z(2)1(a(1)1w(1)1+a(1)2w(1)3+b1)w(1)1∂Etotal∂w1(1)=∂Etotal∂a1(2)∗∂σ(z1(2))∂z1(2)∗∂(a1(1)w1(1)+a2(1)w3(1)+b1)∂w1(1)

=[(a(3)1y)σ(z(3)1)w(2)1+(a(3)2y)σ(z(3)2)w(2)2]σ(z(2)1)a(1)1=[(a1(3)−y)∗σ(z1(3))′∗w1(2)+(a2(3)−y)∗σ(z2(3))′∗w2(2)]∗σ(z1(2))′a1(1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值