反向传播过程推导例子

本文通过一个具体的神经网络例子,详细介绍了前向传播和反向传播的过程。首先,展示了一个包含输入层、隐含层和输出层的网络结构,以及输入、输出数据和初始权重。然后,进行了前向传播计算,得到了当前网络输出值。接着,通过反向传播计算了每个权重对总误差的偏导数,并展示了如何更新权重以减小误差。最后,提到了反向传播中权重矩阵转置的应用。
摘要由CSDN通过智能技术生成

假如我们有个这样的网络:
在这里插入图片描述
第一层是输入层,包含两个神经元i1,i2,和截距项b1;第二层是隐含层,包含两个神经元h1,h2和截距项b2,第三层是输出o1,o2,每条线上标的wi是层与层之间连接的权重,激活函数我们默认为sigmoid函数。

其中,
输入数据 i1=0.05,i2=0.10;
输出数据 o1=0.01,o2=0.99;
初始权重 w1=0.15,w2=0.20,w3=0.25,w4=0.30,w5=0.40,w6=0.45,w7=0.50,w8=0.88

目标:给出输入数据i1,i2(0.05和0.10),使输出尽可能与原始输出o1,o2(0.01和0.99)接近。

Step 1:前向传播
1.输入层——>隐含层
h 1 = w 1 ∗ i 1 + w 2 ∗ I 2 + b 1 h1=w_1*i_1+w_2*I_2+b_1 h1=w1i1+w2I2+b1
h 1 = 0.15 ∗ 0.05 + 0.2 ∗ 0.1 + 0.35 h1=0.15*0.05+0.2*0.1+0.35 h1=0.150.05+0.20.1+0.35

神经元h1的激活:(此处用到激活函数为sigmoid)
a c t i v e h 1 = 1 e − h 1 = 1 1 + e − 0.3775 = 0.59326992 active_{h1}=\frac{1}{e^{-h1}}=\frac{1}{1+e^{-0.3775}}=0.59326992 activeh1=eh11=1+e0.37751=0.59326992

同理,可计算出 a c t i v e h 2 = 0.596884378 active_{h2}=0.596884378 activeh2=0.596884378

2.隐藏层——>输出层
计算出o1和o2
o 1 = w 5 ∗ h 1 + w 6 ∗ h 2 + b 2 o_1=w_5*h_1+w_6*h_2+b_2 o1=w5h1+w6h2+b2
o 1 = 0.4 ∗ 0.59326992 + 0.45 ∗ 0.596884378 + 0.6 = 1.105905967 o_1=0.4*0.59326992+0.45*0.596884378+0.6=1.105905967 o1=0.40.59326992+0.450.596884378+0.6=1.105905967
激活后
a c t i v e o 1 = 1 1 + e − 1.105905967 = 0.75136507 active_{o1}=\frac{1}{1+e^{-1.105905967}}=0.75136507 activeo1=1+e1.1059059671=0.75136507

同理计算出o2
a c t i v e o 2 = 0.772928465 active_{o2}=0.772928465 activeo2=0.772928465

这样前向传播的过程就结束了,我们得到输出值为[0.75136079 , 0.772928465],与实际值[0.01 , 0.99]相差还很远,现在我们对误差进行反向传播,更新权值,重新计算输出。

step 2 反向传播
1.计算总误差
E t o t a l = ∑ 1 2 ( t a r g e

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值