Machine learning 使用dev set或train set

Machine learning 使用dev set或train set,machine-learning,deep-learning,Machine Learning,Deep Learning,有人能澄清我的疑问吗 在评估模型时,我们应该尝试一个较小的集合。dev集合是一个小集合。因此,我们在dev集合上尝试了一些东西,得出了一个结论,然后转到train集合对其进行正确的训练并进行检查 或 我们训练训练集,并在开发集上评估模型。使用dev set作为基准。通常,您将拥有三套: 培训-用于进行实际培训、优化的培训 验证-用于评估/验证培训、决定超参数、提前停止等 测试-用作最终基准的测试 由于各种原因,设置中可能缺少上述部分内容,但这是标准方法,每次修改都需要很好的理由 通常,数据集

有人能澄清我的疑问吗

在评估模型时,我们应该尝试一个较小的集合。dev集合是一个小集合。因此,我们在dev集合上尝试了一些东西,得出了一个结论,然后转到train集合对其进行正确的训练并进行检查


我们训练训练集,并在开发集上评估模型。使用dev set作为基准。

通常,您将拥有三套:

  • 培训-用于进行实际培训、优化的培训
  • 验证-用于评估/验证培训、决定超参数、提前停止等
  • 测试-用作最终基准的测试
由于各种原因,设置中可能缺少上述部分内容,但这是标准方法,每次修改都需要很好的理由


通常,数据集不指定“验证”,因为hyperprameters等的拟合被视为训练的一部分,因此用于此的每个数据点实际上都用于训练模型(因此是“训练”数据集的一部分)。在实践中,这意味着您必须自己将训练集拆分为“正确训练”和“验证”(如果使用的方法需要拟合一些额外的超参数)

通常情况下,您将拥有三套:

  • 培训-用于进行实际培训、优化的培训
  • 验证-用于评估/验证培训、决定超参数、提前停止等
  • 测试-用作最终基准的测试
由于各种原因,设置中可能缺少上述部分内容,但这是标准方法,每次修改都需要很好的理由


通常,数据集不指定“验证”,因为hyperprameters等的拟合被视为训练的一部分,因此用于此的每个数据点实际上都用于训练模型(因此是“训练”数据集的一部分)。在实践中,这意味着您必须自己将训练集拆分为“正确训练”和“验证”(如果使用的方法需要拟合一些额外的超参数)

您的第一个场景是正确的

由于训练深度神经网络可能需要花费大量时间,因此首先创建最终模型,然后(最后)努力评估它是否工作良好,这不是一个好方法!!!但解决办法是什么?!这里是
开发集
(也称为验证集)出现的位置。在培训模型的同时对其进行评估要好得多


为此,我们将数据集分为
train data
dev set
。现在,我们可以从每个时代的“准确性”和“损失”中计算出关于我们模型的两个附加特性:
dev_-accurity
dev_-loss
,这有助于解决我们的模型问题。例如,如果
精度
表明我们的训练数据的百分比很高(比如0.92),但
开发精度
等于0.3,这显然意味着我们的模型问题过于拟合!(为什么?)

由于训练深度神经网络可能需要花费大量时间,因此首先创建最终模型,然后(最后)努力评估它是否工作良好,这不是一个好方法!!!但解决办法是什么?!这里是
开发集
(也称为验证集)出现的位置。在培训模型的同时对其进行评估要好得多

为此,我们将数据集分为
train data
dev set
。现在,我们可以从每个时代的“准确性”和“损失”中计算出关于我们模型的两个附加特性:
dev_-accurity
dev_-loss
,这有助于解决我们的模型问题。例如,如果
精度
表明我们的训练数据的百分比很高(比如0.92),但
开发精度
等于0.3,这显然意味着我们的模型问题过于拟合!(为什么?)