首页 > 编程语言 >菜鸟角度简单分析BP算法(Error Back Propagation)

菜鸟角度简单分析BP算法(Error Back Propagation)

时间:2023-02-11 17:25:03浏览次数:43  
标签:PS 函数 菜鸟 dE Back 网络 BP Error 定义

PS:要转载请注明出处,本人版权所有。

PS: 这个只是基于《我自己》的理解,

如果和你的原则及想法相冲突,请谅解,勿喷。

前置说明

  本文作为本人csdn blog的主站的备份。(BlogID=054)
  本文发布于 2018-02-08 15:15:00,现用MarkDown+图床做备份更新。blog原图已丢失,使用csdn所存的图进行更新。(BlogID=054)

环境说明

  无

前言


  • 模型:就是一个函数G(I1,I2,...,In),此函数的作用就是给定In(输入数据),就能够得到函数的值(打分)。
  • 损失函数:E(w1,w2,...,wn,b1...bn),此函数是由此网络中所有的权重为变量构成的。此函数的作用是描述在某组权重的和输入下,此网络的得分与标准值(标签)的误差。
  • 梯度:就是某变量(向量)在某方向上的变化率。
  • 网络训练过程:而在网络训练中,目标就得把此误差减小,提高准确率。




BP 分析


  1. 对BP的一个简单例子推导过程(此过程来至于网上的一篇文章,无复杂的数学公式,注意抽象,示例图字丑,请忽略)

  假设我定义此示例网络为:

rep_img
  1. 定义前向推导为:
rep_img
  1. 定义此网络的损失函数E为(也可以说是误差函数):
rep_img
  1. 对权重W5,求其相对于E的偏导,过程如下:
rep_img
rep_img
  1. 对权重W1,求其相对于E的偏导,过程如下:
rep_img

  当我们得到dE/dW1,dE/dW2 .... dE/dW8 ,dE/db1,dE/db2这些的值后,我们就可以更新这些参数,让E的输出更小,准确度越高。

  定义原参数为Po,定义更新参数为Pn,定义学习率为m,则参数更新过程为:
Pn = Po - m*dE/dPo

  经过多次迭代后,E会越来越小,模型准确率越来越高。





后记


  提示:个人认为对于一些数学原理相关的,还是动手自己推导一次,这样比单单看理解的快和深刻一点。这种方式非常适合我这种笨鸟。

参考文献




打赏、订阅、收藏、丢香蕉、硬币,请关注公众号(攻城狮的搬砖之路)
qrc_img

PS: 请尊重原创,不喜勿喷。

PS: 要转载请注明出处,本人版权所有。

PS: 有问题请留言,看到后我会第一时间回复。

标签:PS,函数,菜鸟,dE,Back,网络,BP,Error,定义
From: https://www.cnblogs.com/Iflyinsky/p/17112129.html

相关文章