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


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

PS: 这个只是基于《我自己》的理解,
如果和你的原则及想法相冲突,请谅解,勿喷。

环境说明

  无

前言


  • 模型:就是一个函数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: 有问题请留言,看到后我会第一时间回复。


文章作者: Sky
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Sky !
  目录