前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >BP 神经网络算法

BP 神经网络算法

作者头像
一个会写诗的程序员
发布2018-08-17 10:34:46
6660
发布2018-08-17 10:34:46
举报

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.05.31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档