train set、dev set和test set的三者联系与区别

转发:https://blog.csdn.net/aron_conli/article/details/97953826

 

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属于同一分布

posted on 2019-12-25 13:56  耀扬  阅读(3276)  评论(0编辑  收藏  举报

导航