有人可以澄清我的怀疑。
在评估模型时,我们应该尝试一个较小的集合。开发集是一个小集。所以我们在开发设备上尝试一些事情并得出结论,然后去火车站训练它并检查。
OR
我们训练训练集并在开发集上评估模型。将dev设为基准。
答案 0 :(得分:1)
通常你会有三个集:
由于各种原因,设置中可能缺少上述某些内容,但这是标准方法,每次修改都需要有充分的理由。
数据集通常不指定“验证”,因为超参数等的拟合被认为是训练的一部分,因此用于此的每个数据点事实上都用于训练您的模型(因此“火车”数据集的一部分)。在实践中,这意味着您必须将火车组自行拆分为“正确的列车”和“验证”(如果使用的方法需要安装一些额外的超参数)。
答案 1 :(得分:0)
您的第一种情况是正确的。
由于训练深度神经网络可能要花费大量时间,因此并不是一个好方法,首先创建最终模型,然后(最后)进行努力,以评估它是否运行良好!!!但是有什么解决方案? dev set
(也称为验证集)在此处显示。最好在训练模型的同时评估我们的模型。
为此,我们将数据集分为train data
和dev set
。现在,我们可以根据每个时期的“准确性”和“损失”来计算关于模型辅助的两个额外特征:dev_accuracy
和dev_loss
,这有助于找出模型问题。例如,如果accuracy
表示相对于我们的训练数据而言较高的百分比(例如0.92),但是dev_accuracy
等于0.3,则显然意味着我们的模型问题过度拟合! (为什么?)因为它在我们的火车数据上运行得很好,但是无法对我们模型中的一些新数据(尚未传递到模型中)进行良好的预测。