首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >神经网络交叉验证:如何处理历元数?

神经网络交叉验证:如何处理历元数?
EN

Stack Overflow用户
提问于 2020-04-29 14:33:26
回答 1查看 805关注 0票数 1

我正在实现一个pytorch神经网络(回归),并希望确定最佳的网络拓扑结构、优化器等。我使用交叉验证,因为我有x个测量数据库,我想评估我是否能够用x数据库的子集来训练一个神经网络,并将神经网络应用到看不见的数据库中。因此,我还介绍了一个测试数据库,它不用于超参数识别阶段。对于如何处理交叉验证中的历元数,我感到困惑,例如,我有许多历元= 100。有两种选择:

  1. 划时代数是一个需要调整的超参数。在每个时代,跨越所有交叉验证迭代的平均误差被确定。在使用所有网络拓扑、优化器等对模型进行培训之后,将确定具有最小平均误差的模型,并具有如下参数:

-network拓扑:1

-optimizer: SGD

年代-number : 54

为了计算测试集上的性能,在训练和验证数据上使用这些参数(历元数= 54)训练一个模型。然后将其应用于测试集,并对其进行评估。,

  • ,历元数不是一个需要调优的超参数。模型使用所有的网络拓扑、优化器等进行训练。对于每个模型,使用的是误差最小的历元数。对这些模型进行了比较,并可以通过以下参数确定最佳模型:

-network拓扑:1

-optimizer: SGD

为了计算测试数据的性能,使用了“简单”的培训和验证分割(例如80-20)。该模型利用上述参数和100个历元对训练和验证数据进行训练。最后,对测试数据进行了验证误差最小的多个历元模型的评估。

哪个选项是正确的还是更好的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-23 01:33:02

年代的数目最好不要微调。备选案文2是更好的选择。实际上,如果“时代”的#是固定的,则不需要设置验证集。验证集为您提供了保存模型的最佳时代。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61504356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档