开发者社区> 程序员诗人> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

BP 神经网络算法

简介: sigmoid函数: x的值可能为[−∞,+∞],为了方便处理,需要将其压缩到一个合理的范围,还需 这样的激励函数,能够将刚才的区间压缩到[0,1]。
+关注继续查看

sigmoid函数:

x的值可能为[−∞,+∞],为了方便处理,需要将其压缩到一个合理的范围,还需
这样的激励函数,能够将刚才的区间压缩到[0,1]。

sigmoid 是使用范围最广的一类激活函数,具有指数函数形状,它在物理意义上最为接近生物神经元。此外,(0, 1) 的输出还可以被表示作概率,或用于输入的归一化,代表性的如Sigmoid交叉熵损失函数。
然而,sigmoid也有其自身的缺陷,最明显的就是饱和性。

BP算法就是所谓的反向传播算法,它将误差进行反向传播,从而获取更高的学习效率。这很像烽火台,如果前线战败了,那么消息就通过烽火台传递回指挥部,指挥部去反思问题,最终改变策略。
但这带来一个问题,中间层的误差怎么计算?我们能简单地将权重和残差的乘积,返回给上一层节点(这种想法真暴力,从左到右和从右到左是一样的)。


这相当于三次传播:

  • 第一步:从前向后传播FP
  • 第二步:得到值z,误差为y,将误差反向传播,获得每个节点的偏差$\sigma$
  • 第三步:再次正向传播,通过上一步的$\sigma$,再乘以步长,修改每一个神经元突触的权重。

下面一张图展示了完整的BP算法的过程,我看了不下20遍:

更有趣的是,sigmoid求导之后,特别像高斯(正态)分布,而且sigmoid求导非常容易。

参考文章:https://www.cnblogs.com/buptzym/p/5437973.html

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
银行家算法
银行家算法
14 0
一文概览神经网络优化算法
一文概览神经网络优化算法
34 0
银行家算法
银行家算法相关概念与题目实操
120 0
DL之BP:神经网络算法简介之BP算法简介(链式法则/计算图解释)、案例应用之详细攻略(三)
DL之BP:神经网络算法简介之BP算法简介(链式法则/计算图解释)、案例应用之详细攻略
100 0
通俗解释"神经网络"
当下互联网圈最火的要数"人工智能"了,而人工智能是基于神经网络的,这里简单描述一下"神经网络" 人的神经元 人的神经元 简化版神经元 简化版 上图中的圆圈表示一个"感知器",它可以接受多个输入,产出一个结果,结果只有两种情...
750 0
新颖训练方法——用迭代投影算法训练神经网络
本文介绍了一种利用迭代投影算法对神经网络进行训练的方法,首先介绍了交替投影的基础知识,说明投影方法是寻找非凸优化问题解决方案的一种有效方法;之后介绍了差异图的基础知识,将差异图与一些其他算法相结合使得差分映射算法能够收敛于一个好的解决方案;当投影的情况变多时,介绍了分治算法,最后将迭代投影算法应用到神经网络训练中,给出的例子实验结果表明效果不错。
1368 0
银行家算法
引言 数据结构描述 银行家算法描述 安全性算法 0. 引言   处理死锁的方法主要包括死锁预防、死锁避免、死锁检测和死锁解除。而银行家算法(Bankr’s Algorithm)是一个死锁避免(Deadlock)的最著名算法,是由艾兹格·迪杰斯特拉在1965年为T.H.E系统设计的一种死锁避免产生的算法。
1006 0
银行家算法
  银行家算法(Banker's Algorithm)是一个避免死锁(Deadlock)的著名算法,是由艾兹格·迪杰斯特拉在1965年为T.H.E系统设计的一种避免死锁产生的算法。
836 0
+关注
程序员诗人
一个会写诗的程序员
828
文章
14
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载