![](/img/trans.png)
[英]neural network data normalization raises ValueError : Input contains NaN, infinity or value too large for float64
[英]What should be the value of parameters of neural network having large data sample?
我已经完成了使用多层前馈,反向传播结构在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左右进行了迭代。对于学习率和动量率的设置是否有任何好的建议,这样我就可以快速获得结果。 还是应该引入提高学习率的比例,如果我引入学习率,那么值应该是多少?
为了更快地学习神经网络,可能需要反复试验。
如果要更快地获得结果,则可能可以提高学习率(较大的权重调整),删除一些隐藏层的神经元或输入(较少的计算)或减少迭代次数,但这也可能减少测试和验证集性能。
如果您有时间,可以对这些选项进行测试和比较,以确定是否可以针对您的问题更快地学习。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.