Machine learning 在机器学习中,可以在开发后将开发集添加到训练集吗?

Machine learning 在机器学习中,可以在开发后将开发集添加到训练集吗?,machine-learning,training-data,Machine Learning,Training Data,通常我们在训练集上训练我们的模型,在开发集上评估它们,进行一些更改,再次训练和评估,等等(开发阶段),最后在测试集上评估一次 假设我们几乎没有训练数据。然后,在开发阶段之后使用培训和开发集是有意义的。人们可以像往常一样估计超参数,最后(最终训练)将dev集添加到训练集中,使用先前估计的超参数训练模型,并在测试集中对其进行一次评估 这在任何方面都是“作弊”吗?人们是这样做的,还是他们通常会在任何培训中忽略开发集?我不认为这是作弊。如果它根据真实世界的数据和看不见的测试数据改进了您的模型,那么它应该

通常我们在训练集上训练我们的模型,在开发集上评估它们,进行一些更改,再次训练和评估,等等(开发阶段),最后在测试集上评估一次

假设我们几乎没有训练数据。然后,在开发阶段之后使用培训和开发集是有意义的。人们可以像往常一样估计超参数,最后(最终训练)将dev集添加到训练集中,使用先前估计的超参数训练模型,并在测试集中对其进行一次评估


这在任何方面都是“作弊”吗?人们是这样做的,还是他们通常会在任何培训中忽略开发集?

我不认为这是作弊。如果它根据真实世界的数据和看不见的测试数据改进了您的模型,那么它应该是正常的。推荐使用training/dev/test集是有原因的,但是如果您有这么小的培训数据集,我相信这是一种有效的策略。在任何情况下,如果不知道更多的细节,例如数据的性质和您想要完成的任务,就很难得到明确的答案。您可能希望了解的另一种方法是数据扩充。 我推荐以下课程,其中包括培训/开发/测试集分发:
我不认为这是作弊。如果它根据真实世界的数据和看不见的测试数据改进了您的模型,那么它应该是正常的。推荐使用training/dev/test集是有原因的,但是如果您有这么小的培训数据集,我相信这是一种有效的策略。在任何情况下,如果不知道更多的细节,例如数据的性质和您想要完成的任务,就很难得到明确的答案。您可能希望了解的另一种方法是数据扩充。 我推荐以下课程,其中包括培训/开发/测试集分发:

一旦您决定使用dev集合的超参数,就可以使用train+dev再次执行培训。这是一种经常使用的方法。
例如,在sklearn中使用GridSearchCV方法时,如果使用refit=True,则会在超参数搜索完成后执行训练。i、 e.如果cv=4且refit=True,模型将执行5次训练,(4次用于搜索最佳超参数)+(1次用于使用完整训练集的最终训练)

一旦您使用开发集确定超参数,您可以使用训练+开发再次执行训练。这是一种经常使用的方法。
例如,在sklearn中使用GridSearchCV方法时,如果使用refit=True,则会在超参数搜索完成后执行训练。i、 e.如果cv=4且refit=True,模型将执行5次训练,(4次用于搜索最佳超参数)+(1次用于使用完整训练集的最终训练)

只是为了理解。。。你想要实现什么?“发展”之后是什么意思?看看我的变化;希望现在能更清楚地理解。。。你想要实现什么?“发展”之后是什么意思?看看我的变化;希望现在更清楚