赞
踩
1986年由Rumelhart和McClelland为首的科学家提出的概念,是一种按照误差逆向传播算法训练的多层前馈神经网络。BP神经网络可以说是整个人工神经网络体系的精华所在,广泛应用于分类识别、逼近、回归、压缩等领域。实际应用中,近八成的BP网络或BP网络的变化形式。
图1、3层神经网络结构
每一个单独节点,可以看成一个单层感知器,图1中输入节点:(x1,x2,x3,x4,x5);输出节点:(y1,y2);权向量:(w11,w12,w13,w21,...,w51,w52,w53);偏置因子:(b1,b2,...,b8,b9);
利用下面的神经网络进行推导BP算法:
图2、两层层神经网络
模型参数声明:
BP算法的思想就是:通过梯度下降来搜索可能的值的假设空间,以找到最佳的拟合样本的权值。具体而言,即利用损失函数,每次向损失函数负梯度方向移动,直到损失函数取得最小值。也可以这么理解,反向传播算法,是根据损失函数,求出损失函数关于每一层的权值及偏置项的偏导数,也称为梯度,用该值更新初始的权值和偏置项,一直更新到损失函数取得最小值或是设置的迭代次数完成为止。以此来计算神经网络中的最佳的参数。
BP神经网络无论在网络理论还是在性能方面已比较成熟。其突出优点就是具有很强的非线性映射能力和柔性的网络结构。网络的中间层数、各层的神经元个数可根据具体情况任意设定,并且随着结构的差异其性能也有所不同。但是BP神经网络也存在以下的一些主要缺陷。
①学习速度慢,即使是一个简单的问题,一般也需要几百次甚至上千次的学习才能收敛。
②容易陷入局部极小值。
③网络层数、神经元个数的选择没有相应的理论指导,过多训练效率慢,过少又会得到较差的效果。
④网络推广能力有限。
对于上述问题,目前已经有了许多改进措施,研究最多的就是如何加速网络的收敛速度和尽量避免陷入局部极小值的问题。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。