Overfitting

對訓練集進行插值實際上意味著什麼?

  • June 24, 2021

我剛剛讀了這篇文章:理解深度學習(仍然)需要重新思考泛化

在第 6.1 節中,我偶然發現了以下句子

具體來說,在模型容量大大超過訓練集大小的過度參數化機制中,擬合所有訓練示例(即,對訓練集進行插值),包括噪聲樣本,不一定與泛化不一致。

在擬合訓練數據的情況下,我不完全理解“插值”一詞。為什麼我們在這種情況下說“插值”?這個詞在這裡到底是什麼意思?有沒有其他術語可以代替?

在我的理解中,插值意味著在訓練域內對一些不屬於訓練集的新輸入進行預測。

你的問題已經得到了兩個很好的答案,但我覺得需要更多的上下文。

首先,我們在這裡討論的是過度參數化的模型雙下降現象。通過過度參數化模型,我們的意思是具有比數據點更多的參數。例如,Neal (2019) 和 Neal 等人 (2018) 為 100 個 MNIST 圖像的樣本訓練了具有數十萬個參數的網絡。討論的模型太大了,以至於它們對於任何實際應用都是不合理的。因為它們太大了,它們能夠完全記住訓練數據。雙重下降現像在機器學習界引起更多關注之前,人們普遍認為記憶訓練數據會導致過度擬合和泛化能力差。

正如@jcken 已經提到的,如果一個模型有大量的參數,它可以很容易地將一個函數擬合到數據中,這樣它就可以“連接所有的點”,並且在預測時只是在點之間進行插值。我再重複一遍,但直到最近我們還認為這會導致過度擬合和性能下降。對於極其龐大的模型,情況並非如此。模型仍然會進行插值,但函數會非常靈活,不會損害測試集的性能。

為了更好地理解它,請考慮彩票假設。粗略地說,如果你隨機初始化和訓練一個大型機器學習模型(深度網絡),這個網絡將包含一個較小的子網絡,即“彩票”,這樣你就可以在保持性能的同時修剪大型網絡保證。下面的圖片(取自鏈接的帖子)說明了這種修剪。擁有大量的參數就像買了一堆彩票,你擁有的越多,你中獎的機會就越高。在這種情況下,您可以找到一個彩票模型,它在數據點之間進行插值,但也可以泛化。

將神經網絡修剪為較小子網絡的算法的動畫插圖。

另一種思考方式是將神經網絡視為一種集成模型。每個神經網絡都有一個 pre-ultimate 層(下圖,改編自此,您可以將其視為問題的中間表示的集合。然後聚合該層的輸出(通常使用密集層)以進行最終預測。這就像集成許多較小的模型。同樣,如果較小的模型記住了數據,即使每個模型都會過擬合,通過聚合它們,效果也有望抵消。

全連接神經網絡圖。 最後一個隱藏層用紅色圈起來。

所有機器學習算法都在數據點之間進行插值,但如果參數多於數據,則實際上會記住數據並在它們之間進行插值。

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

comments powered by Disqus