Machine learning 不使用';我无法访问测试数据

Machine learning 不使用';我无法访问测试数据,machine-learning,hyperparameters,Machine Learning,Hyperparameters,我正在为团队(斯坦福问答)数据集()构建模型。斯坦福大学没有发布它的测试集。它只为我们提供培训和开发数据集 我的问题是: 当我调整不同模型的超参数时,我根据斯坦福大学提供的“dev”数据进行了调整。但是,我们将“dev”集视为“test”集,因为我们无法访问真正的“testing”数据。根据“dev”数据集的性能,我们在不同的模型中只选择了一个模型提交 所以我想知道我是否应该将培训集进一步分离为train和dev,并在新分离的dev集上调优hyperparams,而不是斯坦福给出的dev集,因为

我正在为团队(斯坦福问答)数据集()构建模型。斯坦福大学没有发布它的测试集。它只为我们提供培训和开发数据集

我的问题是:

当我调整不同模型的超参数时,我根据斯坦福大学提供的“dev”数据进行了调整。但是,我们将“dev”集视为“test”集,因为我们无法访问真正的“testing”数据。根据“dev”数据集的性能,我们在不同的模型中只选择了一个模型提交

所以我想知道我是否应该将培训集进一步分离为train和dev,并在新分离的dev集上调优hyperparams,而不是斯坦福给出的dev集,因为我们使用“dev”集作为“test”集。 ​
我不知怎么作弊了吗?我是否需要从现有列车数据中创建另一个“dev”数据,将其进一步拆分,并在那里调整超参数,并检查给定“dev”集上的性能编号

我认为完全可以(假设您有足够的数据)将训练集进一步拆分为新的(较小的)训练和测试,使用开发集调整超参数并评估测试集的性能。

我认为完全可以(假设您有足够的数据)将训练集进一步拆分为新的(较小的)训练和测试,使用开发集来优化超参数并评估测试集的性能。

通过交叉验证,您可以轻松做到这一点。它会为你做这一切。这里的优点是假设您希望将训练集拆分为10组。培训9套,验证1套。这样,它将运行10次,然后取最佳3的平均值(如果您给出最佳3设置参数)。

您可以通过交叉验证轻松完成此操作。它会为你做这一切。这里的优点是假设您希望将训练集拆分为10组。培训9套,验证1套。这样它将运行10次,然后取最佳3的平均值(如果你给出最佳3参数集)