BP学习算法是什么类型的学习算法?它主要有哪些不足?
BP算法是由学习过程由信号的正向传播与误差的反向传播两个过程组成。由于多层前馈网络的训练经常采用误差反向传播算法,人们也常把将多层前馈网络直接称为BP网络。
虽然BP算法得到广泛的应用,但它也存在不足,其主要表现在训练过程不确定上,具体如下。
1,训练时间较长。对于某些特殊的问题,运行时间可能需要几个小时甚至更长,这主要是因为学习率太小所致,可以采用自适应的学习率加以改进。
2,完全不能训练。训练时由于权值调整过大使激活函数达到饱和,从而使网络权值的调节几乎停滞。为避免这种情况,一是选取较小的初始权值,二是采用较小的学习率。
3,易陷入局部极小值。BP算法可以使网络权值收敛到一个最终解,但它并不能保证所求为误差超平面的全局最优解,也可能是一个局部极小值。
这主要是因为BP算法所采用的是梯度下降法,训练是从某一起始点开始沿误差函数的斜面逐渐达到误差的最小值,故不同的起始点可能导致不同的极小值产生,即得到不同的最优解。如果训练结果未达到预定精度,常常采用多层网络和较多的神经元,以使训练结果的精度进一步提高,但与此同时也增加了网络的复杂性与训练时间。
4,“喜新厌旧”。训练过程中,学习新样本时有遗忘旧样本的趋势。
扩展资料:
BP算法最早由Werbos于1974年提出,1985年Rumelhart等人发展了该理论。BP网络采用有指导的学习方式,其学习包括以下4个过程。
1,组成输入模式由输入层经过隐含层向输出层的“模式顺传播”过程。
2,网络的期望输出与实际输出之差的误差信号由输出层经过隐含层逐层休整连接权的“误差逆传播”过程。
3,由“模式顺传播”与“误差逆传播”的反复进行的网络“记忆训练”过程。
4,网络趋向收敛即网络的总体误差趋向极小值的“学习收敛”过程。
参考资料来源:百度百科-BP算法
速度太慢,在某些地方数值变化缓慢
隐层节点数量选取没有理论依据,要靠经验
有遗忘旧学习结果的趋势