bp神经网络的研究背景和意义 BP神经网络的原理介绍
神经网络是深度学习的基础,在机器学习和深度学习中应用比较广泛,如函数逼近,模式识别,分类模型,图像分类、基于深度学习的CTR预估,数据压缩,数据挖掘等都离不开神经网络。下面主要介绍BP神经网络的原理。
一. 认识BP神经网络一个最简单的三层BP神经网络如下图
包含输入层、隐含层、输出层,节点与节点之间有权重。一个样本有m个输入特征,包括ID特征或连续特征。隐含层可以有多个,关于隐含层节点个数的选取,一般设置为2的n次方,例如512,256,128,64,32等。n个输出结果,通常输出结果就一个,例如分类模型或回归模型。
在1989年,Robert Hecht-Nielsen证明了对于任何闭区间内的一个连续函数都可以用一个隐含层的BP网络来逼近,这就是万能逼近定理。所以一个三层的BP网络就可以完成任意的m维到n维的映射。BP神经网络主要分为两个过程
- 工作信号正向传递子过程
- 误差信号反向传递子过程
设节点i与节点j之间的权重为ω_{ij},节点j的偏置为b_{j},每个节点的输出值为x_{j},每个节点的输出值是根据上层所有节点的输出值、当前节点与上一层所有节点的权值和当前节点的偏置还有激活函数来计算的。具体计算公式如下
其中f为激活函数,一般选取S型函数或tanh函数。正向传递过程比较简单,从前往后计算即可。
三. 误差信号反向传递子过程在BP神经网络中,误差信号反向传递子过程比较复杂,它是基于Widrow-Hoff学习规则的。假设输出层的所有结果为d_{j},回归模型的误差函数如下
BP神经网络的主要目的是反复修正权值和偏置,使得误差函数值达到最小。Widrow-Hoff学习规则是通过沿着相对误差平方和的最速下降方向,连续调整网络的权值和偏置,根据梯度下降法,权值矢量的修正正比于当前位置上E(w,b)的梯度,对于第j个输出节点有
假设选择激活函数为
对激活函数求导,得到
那么接下来针对ω_{ij},有
其中
同样对于b_{j},有
这就是著名的δ学习规则,通过改变神经元之间的连接权值来减少系统实际输出和期望输出的误差,这个规则又叫做Widrow-Hoff学习规则或者纠错学习规则。
上面是对隐含层和输出层之间的权值和输出层的偏置计算调整量,而针对输入层和隐含层和隐含层的偏置调整量的计算更为复杂。假设ω_{ki}是输入层第k个节点和隐含层第i个节点之间的权值,那么有
其中有
有了上述公式,根据梯度下降法,那么对于隐含层和输出层之间的权值和偏置调整如下
而对于输入层和隐含层之间的权值和偏置调整同样有
上述就是BP神经网络原理的公式推导。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com