過擬合 vs 欠擬合:模型「背太死」還是「學太少」?
訓練模型最怕兩件事:學太少(欠擬合,連基本都不會)和背太死(過擬合,把訓練資料的雜訊都記下來、換題就崩)。學會用「訓練 vs 測試誤差的差距」一眼診斷,是每個 AI 學習者的基本功。
📚 一、先用白話講:像在準備考試
📌 一句話診斷
看到「訓練準確率很高、但測試準確率很低」→ 過擬合;「兩邊都低」→ 欠擬合。核心永遠是看訓練與測試(驗證)的表現差距。
🎮 二、動手玩:拖滑桿看模型從「直線」變「亂扭」
藍點是訓練資料、紅三角是測試資料、黃虛線是真實函數、綠線是模型。拖動「多項式次數」:次數低→直線(欠擬合)、剛好→貼合趨勢、次數高→穿過每個藍點卻亂扭(過擬合)。盯著下方 Train / Test MSE 的差距。
可使用方向鍵逐級調整;下方會即時更新誤差與判定。
🗺️ 怎麼看
1 次:綠線是直線,穿不過趨勢 → 訓練、測試 MSE 都高(欠擬合)。3 次左右:綠線貼合黃虛線 → 兩者都低、差距小(剛好)。次數拉到 10~18:綠線硬穿過每個藍點、瘋狂上下擺動 → 訓練 MSE 極低,但測試 MSE 飆高、差距爆大(過擬合)。多按「重新產生資料」,過擬合的綠線每次都長不一樣——因為它在背雜訊。
🩺 三、三態診斷表(考試必背)
| 欠擬合 | 剛剛好 | 過擬合 | |
|---|---|---|---|
| 訓練誤差 | 高 | 低 | 很低 |
| 測試誤差 | 高 | 低 | 高 |
| 兩者差距 | 小(都爛) | 小(都好) | 大 |
| 病因 | 模型太簡單 (高偏差) | — | 模型太複雜 (高變異) |
📐 四、為什麼會發生?就是「複雜度」在作怪
把模型複雜度想成一條軸:太左邊(太簡單)→ 欠擬合,太右邊(太複雜)→ 過擬合,中間有個甜蜜點。demo 的「多項式次數」就是這條軸。
複雜度太高會發生什麼
模型的「自由度」多到可以穿過每一個訓練點,於是它連資料裡的隨機雜訊都當成規律去學。結果:訓練資料背得滾瓜爛熟,但一遇到沒見過的新資料就原形畢露。
💊 五、過擬合的對策
🔧 六、欠擬合的對策
⚖️ 七、背後的理論:偏差–變異權衡
📈 八、怎麼「及早」發現過擬合?
📌 畫學習曲線
把訓練誤差與驗證誤差對「訓練回合(epoch)或資料量」畫成曲線。當驗證誤差開始往上、訓練誤差還在往下,兩條線分岔的那一刻,就是過擬合的徵兆——這時就該 early stopping 或加正則化。
🧪 九、觀念自我檢測
先想再點開。
Q1. 訓練準確率 99%、測試準確率 60%,是什麼問題?
過擬合——訓練超好、測試差、差距大,模型背了雜訊。
Q2. 訓練和測試準確率都只有 60%,是什麼問題?
欠擬合——兩邊都差,模型太簡單學不好。
Q3. 過擬合對應偏差還是變異?
高變異(過擬合);欠擬合對應高偏差。
Q4. 遇到過擬合,可以怎麼辦?
正則化(L1/L2/Dropout)、增資料/資料增強、簡化模型、early stopping、交叉驗證。
Q5. 只看訓練誤差能判斷模型好壞嗎?
不能。訓練誤差超低可能正是過擬合,一定要看測試/驗證與兩者差距。
✅ 十、30 秒重點整理
📝 iPAS 考點提醒
過擬合與欠擬合是 iPAS 模型評估最高頻的觀念(初級科目一、中級科目三)。重點:過擬合是死記訓練資料、測試差(高變異);欠擬合是學不夠、訓練與測試都差(高偏差)。易混點:過擬合的訊號是訓練準、測試差(差距大);對策——過擬合用正則化、增資料、簡化,欠擬合用更複雜模型、加特徵。情境:看訓練與測試表現差距、診斷並開對藥方。
想練情境題與詳解 → AI 學習與考證地圖
❓ 常見問題
過擬合和欠擬合怎麼分辨?
過擬合是訓練表現好但測試/驗證差(記住了雜訊);欠擬合是訓練和測試都差(模型太簡單)。看「訓練 vs 驗證」誤差差距即可判斷。
怎麼處理過擬合?
增加資料或資料增強、正則化(L1/L2、Dropout)、簡化模型、提早停止(early stopping)、交叉驗證選參;核心是降低對訓練雜訊的依賴。
怎麼處理欠擬合?
增加模型複雜度(更多特徵或更深網路)、減少正則化強度、訓練更久、做更好的特徵工程。
和偏差-變異有什麼關係?
欠擬合對應高偏差(模型太簡單)、過擬合對應高變異(太複雜記住雜訊);目標是兩者平衡使總泛化誤差最小。
怎麼及早發現過擬合?
畫學習曲線(訓練/驗證誤差對 epoch 或資料量);當驗證誤差開始上升、訓練誤差還在下降,就是過擬合徵兆,可用 early stopping。