优点:
(1)能够自适应、自主学习。这是BP算法的根本以及其优势所在,BP算法根据预设的参数更新规则,不断地调整神经网络中的参数,以达到最符合期望的输出。
(2)拥有较强的非线性映射能力。
(3)严谨的推导过程。误差的反向传播过程,采用的是已经非常成熟的链式法测,其推导过程严谨且科学。
(4)较强的泛化能力,即在BP算法训练结束之后,BP算法可以利用从原来知识中学到的知识解决新的问题。
缺点:
(1)由于BP神经网络中的参数众多,每次都需要更新数量较多的阈值和权值,故会导致收敛速度过慢。
(2)网络中隐含层节点个数尚无明确的公式,传统方法需要不断地设置隐含层节点数进行试凑,根据网络误差结果确定最终隐含层节点个数。
(3)从数学角度看,BP算法是一种速度较快的梯度下降算法,很容易陷入局部最小值的问题。当出现局部极小时,从表面上看,误差符合要求,但这时所得到的解并不一定是问题的真正解。所以BP算法是不完备的。