昨天我們把模型變得更複雜,讓訓練的Loss變得更低,但當我們把模型變得越來越複雜的時候,就可能會發生模型雖然在訓練上面得到比較好的結果,但在測試上面卻不一定會得到比較好的結果,甚至是非常差的結果,這種我們就稱之為過度擬合(Overfitting),因此我們需要選擇一個最適合的模型。而除了複雜的模型以外,訓練資料太少也有可能會造成Overfitting的發生。
透過重新定義Loss來避免Overfitting的發生,之前的例子我們只考慮了預測與實際的誤差,而現在我們可以將原本的Loss function後面再加上一個額外的項目 來做正規化(Regularization), 為一個常數,是我們需要調整的。
加入了那個項目使我們最後找到的權重變更小,而當權重變小,其輸入對結果的影響就越小,就能夠使function變得更平滑(smooth),也就可以減少權重的影響,來避免Overfitting的情況發生。
從實際的例子來看,我們可以發現當 的值越大,在訓練資料上得到的誤差越大,這是因為當 越大,我們就越傾向於考慮權重的值而減少考慮誤差。不過在測試資料上面得到的誤差可能會是比較小的,從圖中可以看到隨著 的值越大,測試資料的誤差越小,但在 之後,測試資料的誤差又上升了,因此我們就會選擇 來得到我們的模型。