BP神经网络数学原理及推导过程

说明:本博客引自博客:http://blog.csdn.net/zhongkejingwang/article/details/44514073;并对此博客中有些地方的推导的过程进行详细地说明。同时,对一些基础知识进行引申介绍。

1.引言

BP神经网络,BP即Back Propagation的缩写,也就是反向传播的意思。它是一种前馈神经网络。而前馈神经网络是神经网络的一种典型分层结构,在这种网络中信息从输入层进入网络后,逐层向前传播至输出层。根据网络中神经元激活函数、隐层数和权值调整规则的不同,可以形成具有不同特点的前馈神经网络。
误差反传(BP)算法是1986年,Rumelhart和MeCelland领导的科学家小组在((Paralleloist行butedPoreessing》一书r扫提出的,实现了Minsky关于多层网络的设想。算法的基本思想是,学习过程由信号的正向传播和误差的反向两个过程组成。正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实际输出和期望输出不符,则转入误差的反向传播阶段,误差的反向传播是将误差以某种形式通过隐层向输出层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。这种信号正向传播和误差反向传播的各层权值调整过程,是周而复始进行的。权值不断调整的过程,也就是网络的学习训练过程。此过程一直进行到网络输出的误差减少到一定范围之内,或进行到预先设定的学习次数为止。

2.可以做什么

BP神经网络在函数逼近、模式识别、数据压缩、风险评估等领域有着更为广泛的应用。

3.数学原理

BP神经网络的模型结构:



用什么方法最小化L?BP算法采用的是随机梯度下降。也就是对每个训练样本都使权重往其负梯度方向变化。现在的任务就是求L对连接权重w的梯度。 至于什么是梯度下降法?这里插播一下:

至于是什么是梯度和方向导数?如果不是很清楚的,大家可以打开同济版高数.....还是给大家推荐一篇博客:http://blog.csdn.net/wolenski/article/details/8030654

我们继续开始(推导时,由于符号繁多,建议大家对这BP神经网络的模型结构来推导,上面备注了许多符号):
其实我们就是要求第一层权重的梯度(类似上图dy/dx):
第二层权值的梯度(第二层权值的梯度简单多):
先从第一层开始

  


我们将开始计算第二层:
第二层其实就是要求:

其中对于前半部分其实就是上面的:

后半部分:

所以对于第二层的权重的梯度是:




最后,需要给大家一个总结:
为学习效率,是一个常数。
当误差达到要求精度时,算法停止。

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值