模型在驗證集(開發集)上的效果比在測試集上好,或者說,測試集上的效果不如驗證集,這個時候該怎么辦?
這可以理解為模型對驗證集過擬合了。模型在驗證集上的效果並不能代表模型的實際泛化能力。
這個時候,可以做的:
1)檢查驗證集和測試集是不是同一分布,驗證集應該更像測試集而不是訓練集。
2)換個驗證集,或者增大驗證集。
3)檢查代碼是不是有問題,驗證集是不是被拿去訓練參數了。
如下情況,可能是正常的:
1)測試集比驗證集更難進行預測,盡管算法做得足夠好了,卻很難有進一步的提升空間。
2)當驗證集和測試集差的不多時,如 1% 左右,可能是正常的。
References
《Machine Learning Yearning》機器學習訓練秘籍 -- Andrew Ng
Validation and Testing accuracy widely different -- stackoverflow
test accuracy is so much lower than validation accuracy by 6~10%. What could be the reason? -- StackExchange
