网络参数确定原则:
① 网络节点:网络输入层神经元节点数就是系统的特征因子(自变量)个数,输出层神经元节点数就是系统目标个数。隐层节点选按经验选取,一般设为输入层节点数的75%。如果输入层有7个节点,输出层1个节点,那么隐含层可暂设为5个节点,即构成一个7-5-1 BP神经网络模型。在系统训练时,实际还要对不同的隐层节点数4、5、6个分别进行比较,最后确定出最合理的网络结构。
② 初始权值的确定:初始权值是不应完全相等的一组值。已经证明,即便确定 存在一组互不相等的使系统误差更小的权值,如果所设Wji的的初始值彼此相等,它们将在学习过程中始终保持相等。故而,在程序中,我们设计了一个随机发生器程序,作为网络的初始权值。
③ 最小训练速率:在经典的BP算法中,训练速率是由经验确定,训练速率越大,权重变化越大,收敛越快;但训练速率过大,会引起系统的振荡,因此,训练速率在不导致振荡前提下,越大越好。学习率的传统默认值为0.1或0.01。默认值0.01通常适用于标准多层神经网络
④ 动态参数:动态系数的选择也是经验性的,一般取0.6 ~0.8。
1.对于图片大小比例不同训练参数大小比例的情况:对将要预测值进行按照训练参数大小比例插入0值进行补充,以达到原训练参数比例大小
2.对于图片大小小于训练参数大小的情况:对将要预测值行列中进行插入均值进行补充,以达到原训练参数大小(类似于PS中的羽化)
3.对于图片大小大于训练参数大小的情况:先获取和原训练参数大小的求余值,对将要预测值进行隔预测值大小除于刚刚的求余值的最后得到值的位置去掉该值,以达到原训练参数大小(类似于PS中的去噪点)
那么根据这个原则写出来的神经网络,输入参数是可变的。
⑤ 允许误差:一般取0.001~0.00001,当2次迭代结果的误差小于该值时,系统结束迭代计算,给出结果。
⑥ 迭代次数:一般取1000次。由于神经网络计算并不能保证在各种参数配置下迭代结果收敛,当迭代结果不收敛时,允许最大的迭代次数。
⑦ Sigmoid参数:该参数调整神经元激励函数形式,一般取0.9~1.0之间。