BP神经网络收敛速度
阈值、学习率、隐层层数、隐层节点个数等对神经网络的学习速度(收敛速度)都有较大的影响。本文在BP网络的基础上,研究讨论了各个参数对收敛速度的影响,以减小选取网络结构和决定各参数值的盲目性,达到提高收敛速度的目的。
1 初始权值和阈值对收敛速度的影响
初始权值和阈值要选得小一些。选择隐层节点数的原则是尽量使网络结构简单,运算量小。从实验数据分析可知:当节点数太少时,每个节点负担过重,迭代而有的选择却要迭代几千次,或者更多,甚至不收敛。
2 学习率对收敛速度的影响
学习率的设置对BP算法的收敛性有很大的影响。学习率过小,误差波动小,但学习速度慢,往往由于训练时间的限制而得不到满意解;学习率过大,学习速度加快,会引起网络出现摆动现象,导致不收敛的危险。因此,选择一个合适的学习率是B
P算法的一个较关键的问题。学习率的主要作用是调整权值、阈值的修正量.
3 隐层层数的选择对收敛速度的影响
通过实验发现,用两个隐层比用一个隐层的收敛速度还要慢。
4 隐层节点数对收敛速度的影响
目前,对隐层节点数的设定缺乏理论指导,但是实验研究表明,隐含节点数增加会影响收敛速度。
BP神经网络设计步骤
B P网络的设计主要包括输入层,隐层,输出层及各层之间的传输函数几个方面。
1 网络层数
大多数通用的神经网络都预先预定了网络的层数,而BP网络可以包含不同的隐层。对多层BP神经网络,隐层层数至少为1层或1层以上,每个隐层的神经元个数至少为1个或1个以上,否则与多层网络的命题矛盾而不成立。
2 输入层的节点数
网络的输入个数应等于应用问题的输入数,MATLAB的BP网络的建立是通过函数newff或newcf实现的.
3 网络数据的预处理
预处理方法有归一化处理、标准化处理和主成分分析。常采用的是归一化处理,即将输入、输出数据映射到[-1,1]范围