我用一小部分数据训练了一个深度神经网络,使我能够在短时间内经历多个时代,使模型能够合理地运行,然后给出整个数据集(10倍以上的数据),并进一步改进。当我只给出整个数据集时,模型似乎表现得很糟糕,但由于训练所需的额外时间,很难达到许多时代。
我的问题是:用较小的数据子集“热身”训练一个大的深层神经网络是有意义的,还是应该总是提供完整的数据?
再补充一点细节:我有一个严重的阶级失衡。当我给出完整的数据集时,模型总是预测0,但当我过度适应较小的训练集时,它至少不会总是预测0。我在步骤5中注意到了本指南,它提出了一些类似于我所做的事情,但我不确定它在理论上是否合理,或者仅仅是一种检查模型的好方法,“在足够的时间内可以工作”。
发布于 2020-10-03 19:33:52
在整个数据集上训练一个深度学习模型是最有意义的。如果您在某一子集的培训中进行培训,您更有可能最终得到一个局部最小值。
一种选择是调整随机梯度下降(SGD)批的大小。批处理大小是在执行学习更新之前给模型的数据点数。
https://datascience.stackexchange.com/questions/37066
复制相似问题