1. 程式人生 > >訓練集,測試集和驗證集劃分的意義

訓練集,測試集和驗證集劃分的意義

訓練集、驗證集和測試集的意義

有了模型後,訓練集就是用來訓練引數的,說準確點,一般是用來梯度下降的。而驗證集基本是在每個epoch完成後,用來測試一下當前模型的準確率。因為驗證集跟訓練集沒有交集,因此這個準確率是可靠的。那麼為啥還需要一個測試集呢?

這就需要區分一下模型的各種引數了。事實上,對於一個模型來說,其引數可以分為普通引數超引數。在不引入強化學習的前提下,那麼普通引數就是可以被梯度下降所更新的,也就是訓練集所更新的引數。

另外,還有超引數的概念,比如網路層數、網路節點數、迭代次數、學習率等等,這些引數不在梯度下降的更新範圍內。儘管現在已經有一些演算法可以用來搜尋模型的超引數,但多數情況下我們還是自己人工根據驗證集來調。