Underfitting (欠擬合)
當模型在訓練資料與測試資料上都表現不佳時,代表模型學不到足夠的資料結構或模式
⇒ 欠擬合 (Underfitting)
欠擬合表示模型「太簡單」,無法捕捉資料的關鍵特徵或非線性關係
模型太簡單 → 學不到規律 → 訓練與測試都表現差
原因
- 模型複雜度太低:參數量不足、表達力不夠。
- 特徵不足:資料未能提供足夠資訊。
- 訓練不足:疊代次數太少、尚未收斂。
- 過度正規化:正規化強度過高,限制了學習能力。
- 學習率太高:模型不斷震盪、無法收斂到良好解。
| 指標 | 現象 |
|---|---|
| 訓練 Loss | 高且下降緩慢 |
| 測試 Loss | 同樣高 |
| Train/Test 曲線 | 兩者接近,皆無明顯改善 |
| Accuracy | 訓練與測試皆低 |
解決方案
(A) 模型層面
-
提高模型複雜度
- 增加層數(深度)或神經元數(寬度)
- 更換更強的模型(例如 Linear → CNN / Transformer)
- 使用非線性激活函數(如 ReLU、GELU)
-
調整超參數
- 降低正規化強度 (
λ ↓) - 增加學習次數或 Epoch
- 適度調整 learning rate
- 降低正規化強度 (
-
移除過度限制
- 若使用 Regularization(如 L1/L2、Dropout),可暫時降低或移除
- 若使用 Early Stopping,可延後停止點
(B) 資料與特徵層面
-
增加特徵維度
- 新增有意義的特徵或衍生變數(Feature Engineering)
- 例:
x,x²,x³、交互項、統計特徵等
-
資料擴充
- 若資料過少導致無法學習,可蒐集更多樣本
-
資料品質提升
- 修正標註錯誤或過於簡化的資料
(C) 訓練層面
- 增加訓練疊代次數
- 確保模型有足夠時間收斂
- 降低學習率震盪
- 若 learning rate 太大導致震盪,可適度降低
- 檢查初始化
- 權重初始化過差也可能導致欠擬合
小結
| 方法類別 | 範例 | 效果 |
|---|---|---|
| 模型 | 增加層數、移除 Regularization | 提升學習能力 |
| 訓練 | 增加 Epoch、降低學習率 | 幫助收斂 |
| 特徵 | 增加或設計更多特徵 | 改善表達能力 |
與 Overfitting (過擬合) 的差異:
| 項目 | Overfitting | Underfitting |
|---|---|---|
| 模型 | 太複雜 | 太簡單 |
| 原因 | 記住訓練樣本 | 學不到資料結構 |
| 現象 | 訓練好、測試差 | 訓練差、測試差 |
| 解法 | 簡化模型、加正規化 | 複雜化模型、移除正規化 |
| Data | 增加資料避免過擬合 | 增加特徵提高表達力 |