简述误差逆传播算法平台怎么样

BP神经网络算法即误差简述误差逆傳播算法算法(error Back Propagation)先将输入层输入的数据提供给输入层神经元,然后逐层将信号前传直到产生输出层的结构;然后计算输出层的误差,再将误差逆向传播至隐层神经元最后根据隐层神经元的误差来对连接权和阈值进行调整,如此循环迭代直到达到某些条件为止。

一般而言只需包含一个足够多神经元的隐层,就能以任意精度逼近任意复杂度的连续函数故下面以训练单隐层前馈神经网络为例。

上圖为一个单隐层前馈神经网络拓扑结构BP神经网络算法也使用梯度下降法,以单个样本的均方误差的负梯度方向对权重进行调节可以看出:BP算法首先将误差反向传播给隐层神经元,调节隐层到输出层的连接权重与输出层神经元的阈值;接着根据隐含层神经元的均方误差来调节输入层到隐含层的连接权值与隐含层神经元的阈值。BP算法基本的推导过程与感知机的推导过程原理是相同的下面给出调整隐含層到输出层的权重调整规则的推导过程:

d 个输入神经元、l个输出神经元、q 个隐层神经元。

输出层第j 个神经元的阈值用θj表示隐层第h个神經元的阈值用γh表示。

输入层第i个神经元与隐层第h个神经元之间的连接权为vih隐层第h个神经元与输出层第j个神经元之间的连接权为ωhj

隐層第h个神经元接收到的输入为输出层第j个神经元接收到的输入为。

网络中有(d+l+1) q+l 个参数需确定:输入层到隐层的d x q个权值、隐层到输出层的q x l 个权徝、q个隐层神经元的阔值、l个输出层神经元的阈值.

假设隐层和输出层神经元都是用Sigmoid函数:

训练例:输出:,即:

则网络在上的均方误差為:  (1/2是为了求导方便)

故Ek是关于ωhjθj的多项式

gi就是输出层梯度项

BP算法基于梯度下降策略以目标的负梯度方向对参数进行调整. 对Ek,给定学习率η(0<η<1) 参数ω更新式为:

学习率η∈(01)控制着沿反梯度方向下降的步长,若步长太大则下降太快容易产生震荡若步长太小则收敛速度太慢,一般地常把η设置为0.1

BP算法的更新规则是基于每个样本的预测值与真实类标的均方误差来进行权值调节,即BP算法每次更新只针对于单个样例需要注意的是:BP算法的最终目标是要最小化整个训练集D上的累积误差,即:

如果基于累积误差最小化嘚更新规则,则得到了累积误差简述误差逆传播算法算法每次读取全部的数据集一遍,进行一轮学习(one epoch)从而基于当前的累积误差進行权值调整,因此参数更新的频率相比标准BP算法低了很多但在很多任务中,尤其是在数据量很大的时候往往标准BP算法会获得较好的結果。

BP神经网络强大的学习能力容易造成过拟合解决方案:早停、正则化


  本人弱学校的CS 渣硕一枚在找工作的时候,发现好多公司都对深度学习有要求尤其是CNN和RNN,好吧啥也不说了,拿过来好好看看以前看习西瓜书的时候神经网络这塊就是一个看的很模糊的块,包括台大的视频上边有AutoEncoder,感觉很乱所以总和了各种博客,各路大神的知识总结如果,如有问题欢迎指出。

我要回帖

更多关于 简述误差逆传播算法 的文章

 

随机推荐