過擬合乐导、欠擬合及其解決方案
過擬合嵌巷、欠擬合的概念
權重衰減
丟棄法
模型選擇抵蚊、過擬合和欠擬合
訓練誤差和泛化誤差
在解釋上述現象之前躏升,我們需要區(qū)分訓練誤差(training error)和泛化誤差(generalization error)。通俗來講节榜,前者指模型在訓練數據集上表現出的誤差羡玛,后者指模型在任意一個測試數據樣本上表現出的誤差的期望,并常常通過測試數據集上的誤差來近似宗苍。計算訓練誤差和泛化誤差可以使用之前介紹過的損失函數稼稿,例如線性回歸用到的平方損失函數和softmax回歸用到的交叉熵損失函數。
機器學習模型應關注降低泛化誤差讳窟。
模型選擇
驗證數據集
從嚴格意義上講让歼,測試集只能在所有超參數和模型參數選定后使用一次。不可以使用測試數據選擇模型丽啡,如調參谋右。由于無法從訓練誤差估計泛化誤差,因此也不應只依賴訓練數據選擇模型补箍。鑒于此改执,我們可以預留一部分在訓練數據集和測試數據集以外的數據來進行模型選擇。這部分數據被稱為驗證數據集坑雅,簡稱驗證集(validation set)瞧省。例如宜咒,我們可以從給定的訓練集中隨機選取一小部分作為驗證集燃少,而將剩余部分作為真正的訓練集恬吕。
K折交叉驗證
由于驗證數據集不參與模型訓練,當訓練數據不夠用時蛹尝,預留大量的驗證數據顯得太奢侈后豫。一種改善的方法是K折交叉驗證(K-fold cross-validation)。在K折交叉驗證中突那,我們把原始訓練數據集分割成K個不重合的子數據集挫酿,然后我們做K次模型訓練和驗證。每一次愕难,我們使用一個子數據集驗證模型早龟,并使用其他K-1個子數據集來訓練模型惫霸。在這K次訓練和驗證中,每次用來驗證模型的子數據集都不同葱弟。最后壹店,我們對這K次訓練誤差和驗證誤差分別求平均。
過擬合和欠擬合
接下來芝加,我們將探究模型訓練中經常出現的兩類典型問題:
一類是模型無法得到較低的訓練誤差硅卢,我們將這一現象稱作欠擬合(underfitting);
另一類是模型的訓練誤差遠小于它在測試數據集上的誤差藏杖,我們稱該現象為過擬合(overfitting)将塑。 在實踐中,我們要盡可能同時應對欠擬合和過擬合蝌麸。雖然有很多因素可能導致這兩種擬合問題点寥,在這里我們重點討論兩個因素:模型復雜度和訓練數據集大小。