一句話解釋
過擬合(Overfitting)是指模型在訓練資料上表現很好,但在新的、沒看過的資料上表現很差——它「背答案」而不是「學規則」。
用生活比喻理解
想像一個學生準備考試:
- 正常學習:理解公式的推導原理,遇到新題目也能解
- 過擬合:把考古題的答案全部背下來,一模一樣的題目能答對,但稍微改個數字就不會了
模型也是一樣。過擬合的模型把訓練資料中的「雜訊」和「巧合」都當成規則學了起來,導致碰到新資料就失靈。
怎麼判斷是否過擬合?
最明顯的特徵:
| 指標 | 正常 | 過擬合 |
|---|---|---|
| 訓練準確率 | 高 | **非常高**(接近 100%) |
| 測試準確率 | 高 | **明顯偏低** |
| 兩者差距 | 小 | **很大** |
如果訓練準確率 98% 但測試準確率只有 65%,幾乎可以確定是過擬合。
過擬合的原因
1. 模型太複雜
模型的參數遠多於資料量,它有足夠的「容量」去記住每一筆訓練資料,而不是學通用規則。
2. 訓練資料太少
資料量不足以代表真實世界的多樣性,模型只學到了訓練集中的特殊模式。
3. 訓練時間太長
模型反覆看同一批資料太多次,開始記住個別樣本的特徵。
4. 特徵中有雜訊
資料本身不乾淨,模型把雜訊也當成有意義的模式學了進去。
解決方法
1. 增加訓練資料
最直接的方法。資料越多,模型越不容易死記。如果無法取得更多真實資料,可以用資料增強(Data Augmentation)——對圖片做旋轉、翻轉、裁切等變換來「製造」更多訓練樣本。
2. 正則化(Regularization)
在損失函數中加入懲罰項,限制模型的複雜度:
- L1 正則化:讓部分權重歸零,產生稀疏模型
- L2 正則化:讓權重保持較小的值,防止某些特徵被過度放大
3. Dropout
訓練時隨機「關掉」一部分神經元(通常 20%~50%)。這迫使模型不能依賴某些特定神經元,而是要學到更通用的特徵。
4. Early Stopping
在訓練過程中持續監控驗證集的表現。當驗證集的損失不再下降(甚至開始上升)時,就停止訓練——即使訓練集的表現還在進步。
5. 交叉驗證(Cross-Validation)
把資料分成多份,輪流當訓練集和驗證集,更可靠地評估模型的泛化能力。常用的是 K-Fold 交叉驗證(通常 K=5 或 10)。
6. 簡化模型
如果模型太複雜,直接用更簡單的模型。不一定要用深度學習,有時候決策樹或邏輯迴歸就夠了。
順便認識:欠擬合(Underfitting)
跟過擬合相反,欠擬合是模型太簡單,連訓練資料都學不好。
| 指標 | 過擬合 | 欠擬合 |
|---|---|---|
| 訓練準確率 | 很高 | 很低 |
| 測試準確率 | 很低 | 很低 |
| 解法 | 簡化模型、正則化 | 增加模型複雜度、增加特徵 |
iPAS 考試怎麼考?
必記重點
- 過擬合 = 訓練好、測試差
- 欠擬合 = 訓練差、測試也差
- Dropout 和正則化是最常考的解決方法
- Early Stopping 是透過監控驗證集來決定何時停止訓練
典型考題
- 「模型在訓練集上準確率 95%,測試集上準確率 60%,最可能的問題是?」→ 過擬合
- 「下列何者不是解決過擬合的方法?」→ 注意排除法,例如「增加模型層數」反而會加劇過擬合
- 「Dropout 的主要作用是?」→ 防止過擬合 / 增加模型泛化能力