train set:该集合是用于训练模型的。
dev set:该集合是用于在训练模型中评估模型,以促进模型优化的。
test set:该集合是用于测试训练好的模型是否有效的。
简而言之就是:
你使用了train set训练一个模型,这个模型有一个优化目标,利用dev set来评估你的模型,确定你模型离你的目标差距。在不断迭代中不断用train set训练模型,dev set评估模型,不断靠近你的目标直至最优。之后用test set来验证模型效果。
注意:dev set 和 test set需要在同一分布下。
这里是因为如果你dev set 和 test set属于不同分布,你在dev set训练出的模型是不会符合test set的。
如下图所示(源于吴恩达深度学习课程):

你的dev set+优化目标就是图中靶子+靶心,你训练的模型就是这这个靶子里评估,不断优化靠近靶心,但是如果你dev set 和 test set属于不同分布,你就会发现你最终验证的是图上红色线画的靶子,这显而易见你训练的模型完全不能很好符合test set。
所以要让你的模型符合test set,必须要dev set 和 test set属于同一分布
博客介绍了训练集(train set)用于训练模型,验证集(dev set)用于在训练中评估模型以促进优化,测试集(test set)用于测试训练好的模型有效性。强调不断用训练集训练、验证集评估,靠近目标后用测试集验证。还指出验证集和测试集需在同一分布,否则模型难以符合测试集。
460

被折叠的 条评论
为什么被折叠?



