本篇文章主要根据《神经网络与机器学习》和《人工神经网络原理》两本书,对 BP 神经网络的数学推导过程作了一个总结,为本身进入深度学习打下一个基础。web
人工神经网络(ANN)是一种旨在模仿人脑结构及其功能的由多个很是简单的处理单元彼此按某种方式相互链接而造成的计算机系统,该系统靠其状态对外部输入信息的动态响应来处理信息 。
神经元由细胞及其发出的许多突起构成。细胞体内有细胞核,突触的做用是传递信息。做为引入输入信号的若干个突起称为“树突”,而做为输出端的突起只有一个称为“轴突” 。 算法
所谓M-P模型,实际上是按照生物神经元的结构和工做原理构造出来的一个抽象和简化了的模型。网络
对于第
机器学习
神经元的“净输入”用
神经元
式中,
svg
(1)经常使用激活函数
函数
(2)经常使用学习规则学习
(3)神经元之间链接方式
<1>前缀网络
atom
<2>反馈网络
spa
> 注:BP 神经网络属于前缀网络设计
BP(Back Propagation)神经网络的学习过程由信号的正向传播与偏差的反向传播两个过程组成。正向传播时,输入样本从输入层传入,经隐层逐层处理后,传向输出层。若输出层的实际输出与指望输出不符,则转向偏差的反向传播阶段。偏差的反向传播是将输出偏差以某种形式经过隐层向输入层逐层反传,并将偏差分摊给各层的全部单元,从而得到各层单元的偏差信号,此偏差信号即做为修正各单元权值的依据。BP网络由输入层﹑输出层和隐层组成,
BP 神经网络反向传播算法的神经元示意图图一:
上图描绘了神经元
图一中,在神经元
在图一中,
其中,
为了使函数连续可导,这里最小化均方根差,定义神经元
将全部输出层神经元的偏差能量相加,获得整个网络的所有瞬时偏差能量:
其中,集合C 包括输出层的全部神经元。
BP 算法经过反复修正权值使式(2-5)
偏导数
在式(2-5)两边对
在式(2-3)两边对
在式(2-2)两边对
最后在式(2-1)两边对
将式(2-7)——(2-10)带入式(2-6)得:
应用于
其中,
将式(2-11)带入式(2-12)得:
其中,
局部梯度指明了突触权值所须要的变化。
当神经元
当神经元
考虑神经元
来看图二:它表示输出层神经元
在这里下标
图二中,网络的所有瞬时偏差能量为:
在式(2-17)两边对函数信号
在图二中:
所以,
图二中,对于输出层神经元
求式(2-21)对
将式(2-20)和(2-22)带入到式(2-18)获得:
将式(2-23)带入式(2-16)得隐层神经元
反向传播过程推导总结
所以,结合式(2-13)、(2-15)和(2-24),由神经元
其中:
(1)激活函数
单极性S型函数和双曲正切S型函数
(2)学习率
(3)中止准则
网络的均方偏差足够小或者训练足够的次数等
(4)初始权值
以均值等于0的均匀分布随机挑选突触权值
(5)隐层结构
理论证实一个隐层就能映射全部连续函数 ;
隐层节点数=
隐层节点数=
(1)训练过程
初始化网络的突触权值和阈值矩阵;
训练样本的呈现;
前向传播计算;
偏差反向传播计算并更新权值;
迭代,用新的样本进行步骤3和4,直至知足中止准则。
(2)流程图
因为标准 BP 算法采用的是梯度降低法,BP 算法的 E-w 曲线图以下:
所以标准 BP 算法具备如下缺陷:
(1)增长动量项
一个既要加快学习速度又要保持稳定的方法是修改式(2-13),增长动量项,表示为:
这里
动量项
(2)其余改进方法