過擬合比欠擬合“更好”嗎?
我已經理解了過度擬合和欠擬合背後的主要概念,儘管它們發生的一些原因對我來說可能並不那麼清楚。
但我想知道的是:過度擬合不是比欠擬合“更好”嗎?
如果我們比較模型在每個數據集上的表現,我們會得到如下結果:
過擬合:訓練:好與測試:壞
欠擬合:訓練:差與測試:差
如果我們看看每個場景在訓練和測試數據上的表現如何,似乎對於過擬合場景,模型至少在訓練數據上表現良好。
粗體字是我的直覺,當模型在訓練數據上表現不佳時,它也會在測試數據上表現不佳,這在我看來總體上更糟。
過擬合可能比欠擬合更糟糕。原因是過度擬合導致的泛化性能下降沒有真正的上限,而欠擬合則存在上限。
考慮非線性回歸模型,例如神經網絡或多項式模型。假設我們已經標準化了響應變量。一個最大欠擬合的解決方案可能會完全忽略訓練集並且無論輸入變量如何都具有恆定的輸出。在這種情況下,測試數據的預期均方誤差將近似為訓練集中響應變量的方差。
現在考慮一個對訓練數據進行精確插值的過擬合模型。為此,這可能需要在訓練集中的點之間從數據生成過程的真實條件均值大幅偏移,例如大約 x = -5 處的虛假峰值。如果前三個訓練點在 x 軸上更靠近,則峰值可能會更高。結果,這些點的測試誤差可以任意大,因此測試數據上的預期 MSE 同樣可以任意大。
來源:https ://en.wikipedia.org/wiki/Overfitting (在這種情況下它實際上是一個多項式模型,但請參閱下面的 MLP 示例)
編輯:正如@Accumulation 建議的那樣,這是一個過度擬合程度更大的示例(從具有高斯噪聲的線性模型中隨機選擇的10個數據點,由擬合到最大程度的10階多項式擬合)。令人高興的是,隨機數生成器第一次給出了一些間隔不是很好的點!
值得區分“過度擬合”和“過度參數化”。過度參數化意味著您使用的模型類比表示數據的底層結構所需的更靈活,這通常意味著更多的參數。“過擬合”意味著您已經優化了模型的參數,以使訓練樣本更好地“擬合”(即訓練標準的更好值),但不利於泛化性能。您可以擁有一個不會過度擬合數據的過度參數化模型。不幸的是,這兩個術語經常互換使用,可能是因為在早期,對過度擬合的唯一真正控制是通過限制模型中的參數數量來實現的(例如 線性回歸模型的特徵選擇)。然而,正則化(參見嶺回歸)將過度參數化與過度擬合解耦,但我們對術語的使用並沒有可靠地適應這種變化(儘管嶺回歸幾乎和我一樣古老!)。
這是一個使用(過度參數化的)MLP 實際生成的示例