BP神经网络算法以及梯度反向传播算法理论推导

目录

1.BP神经网络算法

1.1前向传导

1.2目标函数构建

2.反向传播算法

2.1由反向传播计算w和b的梯度

2.2反向传播算法流程

总结


最近一直迷惑于梯度的反向传导算法,其实关于深度学习的梯度反向传导算法都可以通过BP神经网络算法反向传导算法进行类推。

1.BP神经网络算法

假设有训练样本集,神经网络能够提供一种复杂且非线性的假设模型,参数为w,b,可以以此参数来拟合数据y。

1.1前向传导

其中第l层一共有个s_l节点。

如图1所示,神经网络为第l层i节点的激活值,为第l层的输入值。从第l层的j节点到第l+1层的i节点通过权重连接。神经网络最左边的一层为输入层,最右边的一层为输出层,中间的为隐藏层。

前向传导:

若该神经网络共有层,则输出值。其中激活函数可以有以下两种方式选择:

  1. 激活函数f(z)可以选取为sigmoid函数。

      2.激活函数f(z)也可以选取为tanh函数。

1.2目标函数构建

单个样本(x,y),其代价函数为:

 

现有m个样本数据,其整体代价函数为

其中的第一项为均方差项,第二项为正则项(也叫权重衰减项),其目的是防止权重过大出现过拟合的现象。神经网络算法最终转化为求解:

 

针对神经网络的目标函数的求解,可使用梯度下降法求解:

其中 为学习速率。

2.反向传播算法

2.1由反向传播计算w和b的梯度

根据前向传导算法,可以计算出神经网络中所有节点的激活值,并且包括输出值,根据实际值,可以得到它的误差。由神经网络构造可以得出:输入值和激活函数都是固定不变的,能够改变的层与层之间连接的权重矩阵,当变化为了一个,导致也出现一个变化,然后产生,然后传到各个输出层,最后在所有的输出层产生一个误差。权重的调整会影响最终误差。

在梯度下降法中,要求输出误差关于权重的导数,可以转化为误差关于节点输入值的导数。

 

反向传播过程:输出层每个节点都会得到一个误差e,把e作为输出层反向输入,这时候就像是输出层当输入层一样把误差往回传播,先得到输出层,然后将输出层根据连接权重往隐层传输,分别到隐藏层的

 

2.2反向传播算法流程

总结

可以将BP神经网络工作总结如下:反向传播得到以后,再重新权重矩阵w。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值