回覆列表
  • 1 # 北航秦曾昌

    機器學習中所使用到的資料集通常可以分成訓練集,驗證集和測試集三類。其中訓練集(train set)是為了用來訓練模型和明確模型引數的;驗證集(valid set)則是用做模型超引數的選擇,如學習率、批大小、損失函式等等;測試集(test set)則是在確定好模型之後,用來檢測模型在實際資料中的效果。

    用準備高考來打個比方,訓練集就是平時做的習題,透過做習題來掌握知識點;驗證集就好比每次月考,來檢驗自己一段時間的學習方法的效果,如果考的不好,就需要及時總結和調整學習方法;那麼最後的高考題就是測試集了,這裡面都是全新的題,能夠真正檢驗你這三年的學習成果。

    此外透過分析模型在不同資料集的結果,我們就可以很快的分析出存在的問題。比如判斷模型是否存在過擬合。這裡拿訓練分類任務舉例,最佳化的目標是準確率。如果在訓練集上的準確率很差,驗證集上的效果也很差,那麼說明當前模型欠擬合,需要透過增加訓練次數,擴大模型複雜度的方法來改進模型。如果訓練集上準確率很高,而驗證集效果很差,這種情況下模型就出現了過擬合,泛化效能差,需要進一步調節模型超引數。如果訓練集、驗證集的準確率都很高,但是在測試集上效果差,就需要檢查測試集的資料分佈是否和訓練集的差異過大,或者需要進一步增加資料量,來提升模型在測試集上的效果。

  • 2 # 老陳持重

    謝謝你的邀請:在有監督的機器學習中,經常會說到訓練集(train)驗證集(valdation)和測試集(test)。因為這三個集的區分可能讓人湖塗。我們將資料劃分為訓練集、驗證集、測試集,這三個集合不能有分集常見比例是8:1:1。比例是人為分的,三個集合都是共同分佈!事實上,對於一個模型來說。其引數分為普通引數和超引數,在不引入強化學習前提下!那麼普通引數就是可以被梯度下降所更新,是訓練集所更新的引數。超引數的概念如網路層數、網路節點、迭代次數學習率等等,這些引數不在梯度下降的更新範圍內。多數情況下還是自己人工根據驗證集來調!我們需要一個完全沒有經過訓練集合,只是在模型最終訓練完成後。用來測試一下最後的準確率。不知道我回答是否準確!謝謝。

  • 中秋節和大豐收的關聯?
  • 做完輸卵管造影肚子不舒服是正常嗎?