這章與其他章不同,開頭就給出了我們乙個問題,並且稱為「檢查您的直覺」。與其說,谷歌在檢查我們的直覺,不如說,谷歌在檢查我們學習後有沒有經過思考。如果只是一味的接收新的東西(機器學習概念以及一些**的用法)。而不去思考這些結構問題的話,可能對我們並沒有什麼好處。
原文在這裡提出了乙個尖銳的問題,如果我們針對訓練集修改超引數,如果迭代多次的話,我們會不會不經意見擬合了訓練集。
雖然我們這裡並沒有直接用驗證集去進行梯度計算,但是我們的修改方向卻是降低驗證集的loss。在不知不覺中,我們很可能擬合了訓練集(因為訓練集並沒有參與訓練,這裡說擬合了訓練集中的資料個人感覺不恰當,不如說我們的模型更適合訓練集,因此對於未出現在訓練集的資料可能表現並不好。不過原文說是擬合了訓練集的特性,個人感覺這裡是非常恰當的)。
既然過擬合可能不僅僅是過擬合了資料,還有可能對整個集合的特徵過擬合,這樣我們有沒有辦法排除這種過擬合呢?
原文這裡給了我們乙個思路:
將資料集劃分為兩個子集是個不錯的想法,但不是萬能良方。通過將資料集劃分為三個子集(如下圖所示),您可以大幅降低過擬合的發生機率」(降低機率並不代表不會發生)。
與之前的方法類似,經過測試集的反饋多次迭代後,用驗證集驗證模型。(文中用 驗證集反饋,用測試集驗證,這個順序就是名字罷了)。
在這一經過改進的工作流程中:
選擇在驗證集上獲得最佳效果的模型。
使用驗證集再次檢查該模型。
該工作流程之所以更好,原因在於它暴露給驗證集的資訊更少(因為我們只有將模型訓練好後才會用到驗證集的資料)。
機器學習 訓練集 驗證集 測試集
為什麼要將資料集分為訓練集 驗證集 測試集三部分?對於很多機器學習的初學者來說,這個問題常常令人很迷惑,特別是對於驗證集和測試集的區別更讓人摸不到頭腦。下面,我談一下這三個資料集的作用,及必要性 訓練集 顯然,每個模型都需要訓練集,訓練集的作用很明顯,就是直接參與模型的訓練過程。測試集 測試集完全不...
深度學習 驗證集 測試集 區別
類別 驗證集測試集 是否被訓練到否否 作用純粹用於調超引數 純粹為了加試以驗證泛化效能 使用次數 多次使用,以不斷調參 僅僅一次使用 缺陷模型在一次次重新手動調參並繼續訓練後所逼近的驗證集,可能只代表一部分非訓練集,導致最終訓練好的模型泛化效能不夠 測試集為了具有泛化代表性,往往資料量比較大,測試一...
機器學習 驗證資料集與交叉驗證
1 方案 一 將所有資料集都作為訓練資料集 2 方案 二 將資料集分割為訓練資料集和測試資料集 此方案得到的最佳模型,有可能會過擬合了測試資料集 模型過擬合測試資料集後,在測試資料集上表現的準確率會公升高 得到的模型的準確率不能反應模型真正的效能 如果最佳模型過擬合了測試資料集,並且測試資料集上存在...