我已经用Python为多层、前馈、反向传播结构的神经网络进行了编码。在这个网络结构中,输入层有24个节点,隐藏层有18个节点,输出层有1个节点。对于小数据集,我得到了很好的训练结果,但对于大数据输入,我无法设置学习率、动量率等恒定参数的值。我有输入值的输入样本为:
[[1,0,1,0,1,0,1,0,1,1,1,1,0,0,0,0,0,1,1,1,0,1,0,1]
[1,0,1,0,1,0,1,0,1,1,1,1,0,0,0,0,0,1,1,1,0,1,0,1]
[1,0,1,0,1,0,1,0,1,1,1,1,0,0,0,0,0,1,1,1,0,1,0,1]
.
. ......................... ]
并将目标值的样本输入为:
[[-20.0]
[-10.0]
[30.0]
.
.....]
样本总数约为5000个。我已经使用训练了这个网络
learning_rate = 0.01
momentum_rate = 0.07
它给出了很好的结果,但花费了大量的时间和大约500000次的迭代。对于学习率和动量率的设置,有什么好的建议吗?这样我可以很快得到结果。或者我应该引入提高学习率的比率,如果我引入学习率,那么值应该是多少?
为了更快地学习神经网络,这可能是一个反复试验的过程。
如果你想更快地获得结果,那么你可以提高学习率(更大的权重调整),减少一些隐藏层神经元或输入(更少的计算)或减少迭代次数,但这也可能降低测试和验证集的性能。
如果你有时间,可以对这些选项进行测试和比较,以确定是否可以更快地解决你的问题。