0

我已经在 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 次的迭代。对于设置学习率和动量率有什么好的建议,这样我就可以快速得到我的结果。或者我应该引入增加学习率比率,如果我引入学习率,那么值应该是多少?

4

1 回答 1

0

为了更快地学习神经网络,这可能是一个反复试验的过程。

如果您想更快地获得结果,那么您可以提高学习率(更大的权重调整),丢弃一些隐藏层神经元或输入(更少的计算)或减少迭代次数,但这也可能会减少测试和验证集性能。

如果您有时间,可以对这些选项进行测试和比较,以确定是否可以针对您的问题完成更快的学习。

于 2014-10-19T22:48:36.757 回答