1. 程式人生 > >機器學習基礎--過擬合和欠擬合

機器學習基礎--過擬合和欠擬合

過擬合和欠擬合

  1)欠擬合:機器學習模型無法得到較低訓練誤差。   2)過擬合:機器學習模型的訓練誤差遠小於其在測試資料集上的誤差。

  我們要儘可能同時避免欠擬合和過擬合的出現。雖然有很多因素可能導致這兩種擬合問題,在這裡我們重點討論兩個因素:模型的選擇和訓練資料集的大小。

1)模型選擇

  拿多項式函式舉例,一般來說,高階多項式函式(擬合能力較強)比低階多項式函式(擬合能力較弱)更容易在相同的訓練資料集上得到較低的訓練誤差。需要指出的是,給定資料集,過低擬合能力的模型更容易欠擬合,而過高擬合能力的模型更容易過擬合。   模型擬合能力和誤差之間的關係如下圖: 在這裡插入圖片描述

2)訓練資料集的大小

  一般來說,如果訓練資料集過小,特別是比模型引數數量更小時,過擬合更容易發生。除此之外,泛化誤差不會隨訓練資料集裡樣本數量增加而增大。 在這裡插入圖片描述

通俗解釋

  1)學渣:模型複雜度低(笨人),訓練量小(不努力),訓練誤差大,泛化誤差大,(訓練集表現不好,測試集表現也不好,嚴重欠擬合)   2)學痞:模型複雜度高(聰明人),訓練量小(不努力),訓練誤差小,泛化誤差大,(訓練集表現好,測試集表現不好,有些過擬合)   3)學痴:模型複雜度較低(笨人),訓練量大(努力),訓練誤差大,泛化誤差大,(訓練集表現一般,測試集表現也一般,這種應該屬於欠擬合,太笨)   4)學霸:模型複雜度較高(聰明人),訓練量大(努力),訓練誤差小,泛化誤差小,(模型複雜度和訓練量結合的很好,既不欠擬合,也不過擬合)

結論

  訓練誤差的降低並不一定意味著泛化誤差的降低。欠擬合和過擬合都是需要儘量避免的。我們要注意模型的選擇和訓練量的大小。