BP神经网络之BP算法手写推导

BP(Back Propagation)神经网络

     1986年由Rumelhart和McClelland为首的科学家提出的概念,是一种按照误差逆向传播算法训练的多层前馈神经网络。BP神经网络可以说是整个人工神经网络体系的精华所在,广泛应用于分类识别、逼近、回归、压缩等领域。实际应用中,近八成的BP网络或BP网络的变化形式。

  • 一个3层BP神经网络结构:

                 

                                                                         图1、3层神经网络结构

每一个单独节点,可以看成一个单层感知器,图1中输入节点:(x1,x2,x3,x4,x5);输出节点:(y1,y2);权向量:(w11,w12,w13,w21,...,w51,w52,w53);偏置因子:(b1,b2,...,b8,b9);

利用下面的神经网络进行推导BP算法: 

                                   

                                                                     图2、两层层神经网络

模型参数声明:

                                                

1、前向传播(Forward propagation)推导(没有加上偏置因子)

                                   

2、反向传播(Backward propagation)推导

     BP算法的思想就是:通过梯度下降来搜索可能的值的假设空间,以找到最佳的拟合样本的权值。具体而言,即利用损失函数,每次向损失函数负梯度方向移动,直到损失函数取得最小值。也可以这么理解,反向传播算法,是根据损失函数,求出损失函数关于每一层的权值及偏置项的偏导数,也称为梯度,用该值更新初始的权值和偏置项,一直更新到损失函数取得最小值或是设置的迭代次数完成为止。以此来计算神经网络中的最佳的参数。

  • 损失(代价)函数(Cost/Lost function)E;
  • 权值更新变化值,可以通过梯度下降法来最小化E的值 ;
  • 激活函数:                                                                                                                                                                                                                          
  • 推导过程:                                                                                                                                                                                                                                                                                                                                                                                                                          
  • 梯度下降法的图形显示:

                                        

                                

3、小结

       BP神经网络无论在网络理论还是在性能方面已比较成熟。其突出优点就是具有很强的非线性映射能力和柔性的网络结构。网络的中间层数、各层的神经元个数可根据具体情况任意设定,并且随着结构的差异其性能也有所不同。但是BP神经网络也存在以下的一些主要缺陷。

学习速度慢,即使是一个简单的问题,一般也需要几百次甚至上千次的学习才能收敛。

容易陷入局部极小值

③网络层数、神经元个数的选择没有相应的理论指导,过多训练效率慢,过少又会得到较差的效果。

④网络推广能力有限。

对于上述问题,目前已经有了许多改进措施,研究最多的就是如何加速网络的收敛速度和尽量避免陷入局部极小值的问题。

  • 7
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值