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