模型與訓練
Regularization 正則化是什麼?讓模型別把雜訊也背下來
Regularization(正則化)是一組防止過擬合的技術。當模型在訓練資料上表現很好、換到沒看過的資料就大幅退步,代表它把雜訊也一起背下來了。正則化的做法是在訓練時對模型施加限制或懲罰,例如在損失函數裡加一項跟參數大小有關的成本,或是訓練時隨機關閉部分神經元,逼模型學到更簡單、更通用的模式。目標是在複雜度與擬合能力之間取得平衡,換到新資料上也能有好表現。
Regularization 正則化是什麼?讓模型別把雜訊也背下來
有一種學生,考古題全對,換一份新卷子就崩盤。模型也會這樣,這個病叫過擬合。
正則化就是治這個病的藥。你不需要會推公式,但知道它在做什麼,看訓練報告時就不會被漂亮的訓練分數騙了。
你將學到什麼
定義
訓練時對模型加上限制或懲罰,避免它把訓練資料的雜訊也學起來。
白話比喻
不讓學生死背考古題,逼他去理解題型背後的通則。
常見手法
L1、L2 懲罰項、Dropout、提早停止、資料增強。
怎麼判斷有效
看驗證資料的表現,不是看訓練資料的表現。
定義
正則化是在訓練時對模型增加限制或懲罰,讓它學到更簡單、更通用的模式。目的只有一個:提升在沒看過的資料上的表現。
最典型的做法是改寫損失函數。原本只算資料誤差,加了正則化之後變成資料誤差再加上一項跟參數大小成正比的成本。參數想變大就要付代價。
白話比喻
把訓練資料想成考古題。死背整本考古題的學生,模擬考很漂亮,正式考換題型就完了。
正則化像老師刻意抽掉部分題目、限制筆記頁數,逼學生去抓題型背後的通則。學得比較辛苦,但換一份卷子還是會寫。
常見手法怎麼選
| 方法 | 做什麼 | 適合什麼情況 |
|---|---|---|
| L1(Lasso) | 懲罰參數絕對值,部分參數會變成零 | 特徵很多但只有少數重要,需要可解釋性 |
| L2(Ridge) | 懲罰參數平方,所有參數一起縮小 | 特徵高度相關,希望模型平滑穩定 |
| Dropout | 訓練時隨機關閉部分神經元 | 深度學習模型,資料量不足容易過擬合 |
| Early Stopping | 驗證集不再進步就提前停止訓練 | 幾乎都適用,成本最低的一招 |
| 資料增強 | 產生更多樣的訓練資料 | 資料量少,且輸入可以合理變形 |
實際用例
判斷有沒有過擬合,看的是訓練誤差與驗證誤差的落差。訓練誤差一直降、驗證誤差卻開始往上翹,就是該加正則化的訊號。
對只用現成模型的人來說,這個詞的價值在於看懂別人的訓練報告。有人只秀訓練分數不秀驗證分數,那份數字基本上沒有參考價值。相關概念可以接著看 Overfitting 與 Loss Function。
常見誤解
最常見的誤解是以為正則化越強越好。強度過頭會變成欠擬合,模型連基本規律都抓不到,兩種失敗方向剛好相反。
另一個誤解是把 Dropout 留到推論階段。它只在訓練時開啟,實際使用時全部神經元都要參與,否則輸出會不穩定。
本文源起本文內容出自酒Ann 的「AI 實戰陪跑班」課程教材,由酒Ann 編寫成彙編條目。想系統性搞懂 AI 名詞,歡迎追蹤 酒Ann 的 Facebook。
延伸學習
常見問答
正則化會讓模型變笨嗎?
在訓練資料上確實會變差一點,那是刻意的。它換來的是在沒看過的資料上表現變好。如果加太重,模型會連該學的規律都學不起來,變成另一個極端的欠擬合,所以強度要調。
L1 跟 L2 差在哪?
L1 的懲罰是參數絕對值的總和,會把一部分參數直接壓成零,等於順便做了特徵選擇,模型變得稀疏又好解釋。L2 的懲罰是參數平方的總和,會把所有參數一起縮小但不歸零,模型更平滑穩定,適合特徵彼此高度相關的情況。
Dropout 是怎麼運作的?
訓練時隨機關閉一部分神經元,讓模型沒辦法過度依賴任何單一條路徑。效果類似同時訓練很多個結構略有不同的小模型再取平均,是深度學習裡最常用的正則化手段。推論時不會關,全部神經元都參與。

