我正在实现一个pytorch神经网络(回归),并希望确定最佳的网络拓扑结构、优化器等。我使用交叉验证,因为我有x个测量数据库,我想评估我是否能够用x数据库的子集来训练一个神经网络,并将神经网络应用到看不见的数据库中。因此,我还介绍了一个测试数据库,它不用于超参数识别阶段。对于如何处理交叉验证中的历元数,我感到困惑,例如,我有许多历元= 100。有两种选择:
-network拓扑:1
-optimizer: SGD
年代-number : 54
为了计算测试集上的性能,在训练和验证数据上使用这些参数(历元数= 54)训练一个模型。然后将其应用于测试集,并对其进行评估。,
-network拓扑:1
-optimizer: SGD
为了计算测试数据的性能,使用了“简单”的培训和验证分割(例如80-20)。该模型利用上述参数和100个历元对训练和验证数据进行训练。最后,对测试数据进行了验证误差最小的多个历元模型的评估。
哪个选项是正确的还是更好的?
发布于 2020-10-23 01:33:02
年代的数目最好不要微调。备选案文2是更好的选择。实际上,如果“时代”的#是固定的,则不需要设置验证集。验证集为您提供了保存模型的最佳时代。
https://stackoverflow.com/questions/61504356
复制相似问题