1. 网络的层数。一般三层网络结构就可以逼近任何有理函数。增加网络层数虽然可以提高计算精度,减少误差,但也使得网络复杂化,增加网络训练时间。如果实在想增加层数,应优先增加隐含层的神经数。
2. 隐含层的神经单元数。网络训练精度的提高,可以通过采用一个隐含层而增加神经元数的方法获得。具体设计上可以使隐含层是输入层的2倍,然后再适当增加一点余量。
3. 初始权值选择。一般区随机权值是(-1, 1)的随机数。
4. 学习速率。学习速率决定每一次循环训练所产生的权值变化量。高的学习速率可能导致系统的不稳定性,但低的学习速率导致较长的训练时间,可能收敛变慢。一般取0.01~08。可以通过比较不同速率所得到误差选择合适的值。
5. 误差选取。在网络的训练过程中,误差的选取也应当通过对比训练后确定一个合适的值,也即相对于所需要的隐含层的节点数确定。