validation - 当我们根据训练步骤进行训练时,何时进行验证?
问题描述
对不起,如果这个问题看起来有点奇怪,也许是基本的,但由于我很不幸地找到了答案,我决定在这里问它。
我知道,在深度神经网络的背景下,我们在每个训练时期完成后的验证(即开发)集上验证训练模型,这意味着只需遍历所有训练数据点一次。我也知道这些概念之间的区别:epoch、training step和batch size,以及人们经常混淆的它们之间的关系。
我现在的问题是,当我们根据训练步骤训练神经网络时(假设我们想要考虑训练步骤进行训练循环,这是模型的预定义超参数——而不是时期),我们什么时候应该在验证集上验证模型?我们是否仍然(只是)需要考虑/计算时期来找出执行验证的正确时间(步骤)?
还有一个问题;如果我们在完成固定数量的训练步骤后在验证集上验证模型,这是一种合理的做法吗?比如说,我们要训练的总训练步数是 50,000 步,我们在每 5000 步间隔后验证模型。
解决方案
推荐阅读
- javascript - 如何查找对象中存在的键的总数以及分配给javascript中变量的内部嵌套对象
- r - 在R中整理格式的数据框
- python - 使用元组列出解析器
- javascript - 设置比赛结束
- spring-data-elasticsearch - Spring数据弹性搜索长到本地日期时间转换错误
- javascript - 在 sweetalert JavaScript 中格式化字符串
- amazon-web-services - AWS Lambda 预置并发的成本效率
- c++ - 为什么这个三元会导致打印指针?
- r - R ggplot(): geom_point() with color-palette "Greens" ,如何获得黑点边框?
- amazon-web-services - AWS 发型停止工作。CI/CD gitlab.com