有趣的问题。我个人没有看到产品投入生产,但是了解逻辑。
从理论上讲,您的已部署模型看到的数据越多,一般化的效果就越好。因此,如果您在可用的全部数据集上训练模型,则其泛化性要比仅从整个数据集中看到例如训练/验证集(例如,约90%)的模型更好。
这样做的问题(以及我们首先将数据划分为训练/验证/测试集的原因!)是我们希望能够就看不见的数据的准确性提出统计主张。一旦我们再次对所有数据重新训练模型,就不再可能提出此类声明。
[编辑]
这是Cross-Validated上的一个相关问题,在该问题上,被接受的答案与我有相似的观点,并提到了其他处理方式。
我们循环:
- 训练模型
- 评估验证集上的性能如果满意,请转到步骤5→
- 改变模式
- 转到步骤1
- 评估测试集的性能
- 在步骤5中找到具有测试精度的当前模型
最终,如果您在测试集上获得了不错的成绩,则可以说它具有很好的概括性。因此,关于完整数据集的重新训练是否会提高未来未见数据的性能的问题并不是严格可以测试的。在其他相关问题集中表现更好的经验证据将是您必须做出决定时的唯一来源或指南。
健全性检查将是在原始测试集上再次测试最终的重新训练模型;期望它的得分比模型仅看到火车/ val设置时的得分高,因为它实际上在训练过程中看到了测试设置。这并不能使我100%相信最终模型在以后的所有情况下都比较好,但是至少与给定数据一样好。
也许有更严格的论据反对您说的话(可能是在学术上是行之有效的),但是对于实际应用而言,它似乎确实很有吸引力!