反向传播算法(back propagation)

反向传播算法是多层神经网络的训练中举足轻重的算法,本文着重讲解方向传播算法的原理和推导过程。因此对于一些基本的神经网络的知识,本文不做介绍。在理解反向传播算法前,先要理解神经网络中的前馈神经网络算法。

前馈神经网络

如下图,是一个多层神经网络的简单示意图:
这里写图片描述
给定一个前馈神经网络,我们用下面的记号来描述这个网络:
L :表示神经网络的层数;
nl :表示第 l 层神经元的个数;
fl() :表示 l 层神经元的激活函数;
WlRnl×nl1 :表示 l1 层到第 l 层的权重矩阵;
blRnl :表示 l1 层到 l 层的偏置;
zlRnl :表示第 l 层神经元的输入;
alRnl :表示第 l 层神经元的输出;

前馈神经网络通过如下的公式进行信息传播:

zl=Wlal1+blal=fl(zl)
上述两个公式可以合并写成如下形式:

zl=Wlfl(zl1)+bl
这样通过一层一层的信息传递,可以得到网络的最后输出 y 为:
x=a0z1a1z1aL1zLaL=y

反向传播算法

在了解前馈神经网络的结构之后,我们一前馈神经网络的信息传递过程为基础,从而推到反向传播算法。首先要明确一点,反向传播算法是为了更好更快的训练前馈神经网络,得到神经网络每一层的权重参数和偏置参数。
在推导反向传播的理论之前,首先看一幅能够直观的反映反向传播过程的图,这个图取材于Principles of training multi-layer neural network using backpropagation。如果图中看不清可以去源地址看。
这里写图片描述

给定一组样本 (xi,yi),1iN ,使用前馈神经网络,其输出为 f(x|W,b) ,而求解 W b 时,将其看成一个优化问题,优化问题的目标函数为:

J(W,b)=i=1NL
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值