模型與訓練

Regularization 正則化是什麼?讓模型別把雜訊也背下來

Regularization(正則化)是一組防止過擬合的技術。當模型在訓練資料上表現很好、換到沒看過的資料就大幅退步,代表它把雜訊也一起背下來了。正則化的做法是在訓練時對模型施加限制或懲罰,例如在損失函數裡加一項跟參數大小有關的成本,或是訓練時隨機關閉部分神經元,逼模型學到更簡單、更通用的模式。目標是在複雜度與擬合能力之間取得平衡,換到新資料上也能有好表現。
Regularization 正則化是什麼?讓模型別把雜訊也背下來:文章重點卡

Regularization 正則化是什麼?讓模型別把雜訊也背下來

有一種學生,考古題全對,換一份新卷子就崩盤。模型也會這樣,這個病叫過擬合。

正則化就是治這個病的藥。你不需要會推公式,但知道它在做什麼,看訓練報告時就不會被漂亮的訓練分數騙了。

你將學到什麼

定義

訓練時對模型加上限制或懲罰,避免它把訓練資料的雜訊也學起來。

白話比喻

不讓學生死背考古題,逼他去理解題型背後的通則。

常見手法

L1、L2 懲罰項、Dropout、提早停止、資料增強。

怎麼判斷有效

看驗證資料的表現,不是看訓練資料的表現。

定義

正則化是在訓練時對模型增加限制或懲罰,讓它學到更簡單、更通用的模式。目的只有一個:提升在沒看過的資料上的表現。

最典型的做法是改寫損失函數。原本只算資料誤差,加了正則化之後變成資料誤差再加上一項跟參數大小成正比的成本。參數想變大就要付代價。

白話比喻

把訓練資料想成考古題。死背整本考古題的學生,模擬考很漂亮,正式考換題型就完了。

正則化像老師刻意抽掉部分題目、限制筆記頁數,逼學生去抓題型背後的通則。學得比較辛苦,但換一份卷子還是會寫。

常見手法怎麼選

方法做什麼適合什麼情況
L1(Lasso)懲罰參數絕對值,部分參數會變成零特徵很多但只有少數重要,需要可解釋性
L2(Ridge)懲罰參數平方,所有參數一起縮小特徵高度相關,希望模型平滑穩定
Dropout訓練時隨機關閉部分神經元深度學習模型,資料量不足容易過擬合
Early Stopping驗證集不再進步就提前停止訓練幾乎都適用,成本最低的一招
資料增強產生更多樣的訓練資料資料量少,且輸入可以合理變形

實際用例

判斷有沒有過擬合,看的是訓練誤差與驗證誤差的落差。訓練誤差一直降、驗證誤差卻開始往上翹,就是該加正則化的訊號。

對只用現成模型的人來說,這個詞的價值在於看懂別人的訓練報告。有人只秀訓練分數不秀驗證分數,那份數字基本上沒有參考價值。相關概念可以接著看 OverfittingLoss Function

常見誤解

最常見的誤解是以為正則化越強越好。強度過頭會變成欠擬合,模型連基本規律都抓不到,兩種失敗方向剛好相反。

另一個誤解是把 Dropout 留到推論階段。它只在訓練時開啟,實際使用時全部神經元都要參與,否則輸出會不穩定。

本文源起本文內容出自酒Ann 的「AI 實戰陪跑班」課程教材,由酒Ann 編寫成彙編條目。想系統性搞懂 AI 名詞,歡迎追蹤 酒Ann 的 Facebook

延伸學習

把這篇文章分享給需要的人FacebookLINEThreadsX

常見問答

正則化會讓模型變笨嗎?
在訓練資料上確實會變差一點,那是刻意的。它換來的是在沒看過的資料上表現變好。如果加太重,模型會連該學的規律都學不起來,變成另一個極端的欠擬合,所以強度要調。
L1 跟 L2 差在哪?
L1 的懲罰是參數絕對值的總和,會把一部分參數直接壓成零,等於順便做了特徵選擇,模型變得稀疏又好解釋。L2 的懲罰是參數平方的總和,會把所有參數一起縮小但不歸零,模型更平滑穩定,適合特徵彼此高度相關的情況。
Dropout 是怎麼運作的?
訓練時隨機關閉一部分神經元,讓模型沒辦法過度依賴任何單一條路徑。效果類似同時訓練很多個結構略有不同的小模型再取平均,是深度學習裡最常用的正則化手段。推論時不會關,全部神經元都參與。