轉發: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屬於同一分布