深度学习之BP算法

一、BP网络基本概念

BP神经网络是一种多层的前馈神经网络,其主要的特点是:信号是前向传播的,而误差是反向传播的。BP神经网络是由一个输入层、一个输出层和一个或多个隐层构成,它的激活函数采用sigmoid函数,采用BP算法训练的多层前馈神经网络。具体采用如下神经网络进行说明:

其算法基本过程分为两个阶段:1、在前馈网络中,输入信号经输入层输入,通过隐层计算由输出层输出,2、输出值与标记值比较,若有误差,将误差反向由输出层向输入层传播,在这个过程中,利用梯度下降算法对神经元权值进行调整。

二、BP网络的流程

1、正向传递

计算方法如下:

其中f为激活函数,一般选取线性函数或者S型函数。这里使用Sigmoid函数:

2、反向传播过程

 首先明确误差函数:

这里的dj是样本标签值,yj是期望输出。BP神经网络的主要目的是反复修正权值和阀值,使得误差函数值达到最小。

根据梯度下降法,权值矢量的修正正比于当前位置上E(w,b)的梯度,对于第个输出节点有

由于这里我们选取Sigmoid函数作为激活函数,因此对激活函数求导得到:

接下来,对权重w进行求导。这里将上面的激活函数求导也用在里面,得到下面的式子:

这里,我们人为定义 ,这是针对隐含层和输出层之间进行的权值调整,下面将对输入层和隐含层之间进行权值调整。原理和上面的公式类似,但是在隐含层中有

因此,我们进行链式求导的时候需要

最终公式为如下形式:

其中, 。综上,我们就将输入层到隐层以及隐层到输出层的权重更新都算完了,对于偏置b的求解,和w的求解类似。下面我们使用梯度下降法进行更新(这里我们只写出隐层到输出层,输入层到隐层的公式类似):

通过不断的更新权重,最终使得损失小于我们要求的阈值,得到较好的权重和偏置,即为最终结果。 

三、总结

  1. BP网络的优点:

    • 网络实质上实现了一个从输入到输出的映射功能,而数学理论已证明它具有实现任何复杂非线性映射的功能。因此它特别适合于求解内部机制复杂的问题;
    • 网络具有自学习能力;
    • 网络具有一定的推广、概括能力。
  2. BP网络的问题:

    • BP算法的学习速度很慢

    • 网络训练失败的可能性较大

 

 

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值