[AI 教學] 正則化 (Regularization) – 過度擬合 (Overfitting) 的解決方法

L1正則化和L2正則化

想像你在訓練一個模型,模型裡有很多參數(權重)。

沒有正則化時

  • 模型可以自由調整這些參數到任何數值
  • 可能會出現一些參數變得非常大,導致模型過度依賴某些特徵

L2正則化

  • 就像給模型加了一個「懲罰機制」
  • 如果參數變得太大,就要付出「代價」
  • 比如原本損失函數是 100,但因為參數太大,額外加上懲罰 20,變成 120
  • 這樣模型就會傾向於使用較小的參數值
  • 效果:讓模型變得更「謙虛」,不會過度依賴任何單一特徵

L1正則化

  • 類似L2,但懲罰方式不同
  • 會讓一些不重要的參數直接變成0
  • 效果:自動幫你選出最重要的特徵

Dropout

比喻:就像考試時隨機蒙住學生的眼睛

具體做法

  • 訓練時,隨機選擇一些神經元「休息」(輸出設為0)
  • 比如有100個神經元,隨機讓30個休息,只用70個來學習
  • 每次訓練都隨機選不同的神經元休息

為什麼有效

  • 防止模型過度依賴某幾個「明星神經元」
  • 強迫每個神經元都要學會獨立工作
  • 就像團隊合作,不能只靠一兩個人

早停法 (Early Stopping)

比喻:就像學習時要適時停止,避免「用功過頭」

具體做法

訓練過程中:
第1輪:訓練誤差=10%,驗證誤差=12%
第2輪:訓練誤差=8%,驗證誤差=10%
第3輪:訓練誤差=6%,驗證誤差=9%
第4輪:訓練誤差=4%,驗證誤差=11% ← 驗證誤差開始上升!
第5輪:訓練誤差=2%,驗證誤差=13% ← 確認上升趨勢

在第4輪就停止訓練!

為什麼有效

  • 訓練誤差一直下降 = 模型在訓練數據上越來越好
  • 驗證誤差開始上升 = 模型開始「背答案」,在新數據上變差
  • 及時停止 = 避免過擬合

現實例子: 就像準備考試,練習題做得越來越好,但模擬考成績開始下降,這時就該停止死記硬背,避免只會做練習題而不會應用。

返回頂端