手撸BP(Back propagation)算法

本文作者因对反向传播理解不透彻,决定手动实现BP(Back Propagation)算法。文章介绍了算法的基本原理,解释了层间信号的传递与误差的反向传播过程,并通过激活函数和梯度下降来更新权重。作者还分享了详细代码,实践效果良好。
摘要由CSDN通过智能技术生成

一动机:一直感觉神经网络很简单,神经元加权,然后前向、反向传播调整权值,然后就OK了,可是反向传播一直感觉理解的不透彻,于是萌生手撸的想法,看它到底怎么实现的。

二原理:理解起来不是很难,因为每次层信号A是通过一个权重矩阵W做了向量空间变换,然后又用了激活函数G,所以产生的错误E是一个反向传播的过程。

先定义一下L层神经元输入为Z(L),输出为A(L),  A(L)=g(Z(L)),g为激活函数,  

第L-1层产生的错误E(L-1)=E(L)*W(L+1).T*g'(z)   Cost Function C(L)=E(L-1)*E(L-1)    以此更新W, W=W+rate*

因为要用SGD,我们要找到梯度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值