Cross-Validation

訓練與測試誤差差距及其與過度擬合的關係:協調相互衝突的建議

  • July 27, 2017

關於如何處理比較訓練與測試錯誤似乎存在相互矛盾的建議,特別是當兩者之間存在差距時。對我來說,似乎有兩種思想流派似乎相互衝突。我希望了解如何調和兩者(或了解我在這裡缺少什麼)。

想法 #1:僅訓練集和測試集性能之間的差距並不表示過度擬合

首先,(也在這裡討論:訓練和測試誤差比較如何指示過度擬合?),僅訓練集和測試集之間的差異不能指示過度擬合的想法。這與我在集成樹方法等方面的實踐經驗一致,即使在基於交叉驗證的超參數調整之後,訓練誤差和測試誤差之間的差距仍可能會很大。但是(無論模型類型如何)只要您的驗證錯誤不會再次出現,您就很好。至少,是這樣的想法。

想法#2:當你看到訓練和測試性能之間的差距時:做一些可以對抗過度擬合的事情

但是,您確實看到了一些建議,這些建議來自非常好的來源,表明訓練和測試錯誤之間的差距表明過度擬合。這是一個例子:Andrew Ng 的“深度學習的基本要素”演講(精彩的演講)https://www.youtube.com/watch?v=F1ka6a13S9I在時間戳 48:00 左右,他繪製了一個流程圖這就是說“如果你的訓練集誤差很低,而你的訓練集誤差很高,你應該添加正則化,獲取更多數據,或者改變模型架構”……這些都是你可以採取的對抗過度擬合的行動。

這讓我想到…… :我在這裡錯過了什麼嗎?這是一個特定於模型的經驗法則(通常更簡單的模型似乎在訓練和測試之間的差距較小)?或者僅僅是兩種不同的思想流派?

我不認為這是相互矛盾的建議。我們真正感興趣的是良好的樣本外性能,而不是縮小訓練和測試集性能之間的差距。如果測試集性能代表樣本外性能(即測試集足夠大、未受污染並且是我們的模型將應用於的數據的代表性樣本),那麼只要我們在無論差距如何,我們都不會過度擬合測試集。

但是,通常,如果存在較大的差距,則可能表明我們可以通過更多的正則化/向模型引入更多的偏差來獲得更好的測試集性能。但這並不意味著更小的差距意味著更好的模型;只是如果我們在訓練和測試集性能之間有很小的差距或沒有差距,我們知道我們絕對沒有過度擬合,因此向模型添加正則化/引入更多偏差將無濟於事。

引用自:https://stats.stackexchange.com/questions/294661

comments powered by Disqus