原文见:
http://blog.donews.com/elite/archive/2007/11/23/1230721.aspx
多层前向BP网络是目前应用最多的一种神经网络形式, 但它也不是非常完美的, 为了更好的理解应用神经网络进行问题求解,这里对它的优缺点展开讨论:
多层前向BP网络的优点:
①网络实质上实现了一个从输入到输出的映射功能,而数学理论已证明它具有实现任 何复杂非线性映射的功能。这使得它特别适合于求解内部机制复杂的问题;
②网络能通过学习带正确答案的实例集自动提取“合理的”求解规则,即具有自学习能力;
③网络具有一定的推广、概括能力。
多层前向BP网络的缺点:
①BP算法的学习速度很慢,其原因主要有:
a 由于BP算法本质上为梯度下降法,而它所要优化的目标函数又非常复杂,因此,必然会出现“锯齿形现象”,这使得BP算法低效;
b存在麻痹现象,由于优化的目标函数很复杂,它必然会在神经元输出接近0或1的情况下,出现一些平坦区,在这些区域内,权值误差改变很小,使训练过程几乎停顿;
c为了使网络执行BP算法,不能用传统的一维搜索法求每次迭代的步长,而必须把步长的更新规则预先赋予网络,这种方法将引起算法低效。
②网络训练失败的可能性较大,其原因有:
a从数学角度看,BP算法为一种局部搜索的优化方法,但它要解决的问题为求解复杂非线性函数的全局极值,因此,算法很有可能陷入局部极值,使训练失败;
b 网络的逼近、推广能力同学习样本的典型性密切相关,而从问题中选取典型样本实例组成训练集是一个很困难的问题。
③难以解决应用问题的实例规模和网络规模间的矛盾。这涉及到网络容量的可能性与可行性的关系问题,即学习复杂性问题;
④网络结构的选择尚无一种统一而完整的理论指导,一般只能由经验选定。为此,有人称神经网络的结构选择为一种艺术。而网络的结构直接影响网络的逼近能力及推广性质。因此,应用中如何选择合适的网络结构是一个重要的问题;
⑤新加入的样本影响已学习成功的网络,而且刻画每个输入样本的特征的数目也必须相同;
⑥网络的预测能力(也称泛化能力、推广能力)与训练能力(也称逼近能力、学习能力)的矛盾。一般情况下,训练能力差时,预测能力也差,并且一定程度上,随训练能力地提高,预测能力也提高。但这种趋势有一个极限,当达到此极限时,随训练能力的提高,预测能力反而下降,即出现所谓“过拟合”现象。此时,网络学习了过多的样本细节,而不能反映样本内含的规律。