机器学习分享——反向传播算法推导

反向传播(英语:Backpropagation,缩写为BP)是“偏差反向传播”的简称,是一种与最优化方法(如梯度降低法)结合使用的,用来训练人工神经网络的常见方法。该方法对网络中全部权重计算损失函数的梯度。这个梯度会反馈给最优化方法,用来更新权值以最小化损失函数。网络

不少同窗在学习深度神经网络的时候,对反向传播的相关细节表示难以理解,国外有一篇技术博客,用例子进行了很是清晰的推导。咱们对此进行了汉化,并提供了相关的代码。有兴趣的同窗快来看看吧。app

相关代码函数

原文地址学习

假设,你有这样一个网络层。优化

如今对他们赋上初值,以下图:人工智能

前向传播过程

1. 输入层---->隐含层:

2. 隐藏层---->输出层:

反向传播过程

接下来,就能够进行反向传播的计算了3d

1. 计算总偏差

2. 隐含层---->输出层的权值更新:

image.png

下面的图能够更直观的看清楚偏差是怎样反向传播的cdn

咱们分别计算每一个式子的值:blog

最后三者相乘开发

看看上面的公式,咱们发现:

3.隐含层---->隐含层的权值更新:

同理,计算出

二者相加,获得总值

最后,三者相乘

image.png

这样偏差反向传播法就完成了,最后咱们再把更新的权值从新计算,不停地迭代。

PC端查看完整代码

———————————————————————————————————————————Mo (网址:momodel.cn )是一个支持 Python 的人工智能建模平台,能帮助你快速开发训练并部署 AI 应用。

相关文章
相关标签/搜索