Overfitting(過擬合)、bias(偏差)與 variance(變異數) 是 AIF-C01 所有模型品質題目的核心概念。當一個模型在訓練集上表現亮眼,卻在真實客戶資料上徹底崩潰,你正在面對的就是 overfitting。當一個模型在任何資料上都只能交出平庸的預測結果,那你看到的是由 high bias 驅動的 underfitting(欠擬合)。深刻理解 bias variance tradeoff(偏差-變異數取捨),以及 AWS 原生修正各種失效模式的技術,正是讓考生輕鬆通過 AIF-C01 與讓考生在 Task Statement 1.1 情境題上失分的關鍵分野。
本指南以學習曲線上可直接讀取的診斷訊號解說 overfitting vs underfitting,以直觀的圖形框架走過 bias variance tradeoff,完整涵蓋所有考試必考的 regularization(正則化)技術(L1、L2、dropout、early stopping),說明 cross-validation(交叉驗證)與 data augmentation(資料擴增),探討 ensemble 方法(bagging、boosting),並示範如何使用 Amazon SageMaker 訓練指標診斷這些問題。每個概念都對應 AIF-C01 Task 1.1「解釋基本 AI 概念與術語」,讓你在完讀本指南後,能自信應答考試丟出的每一道 overfitting 或 bias variance 題目。
Overfitting、Bias 與 Variance 是什麼?
Overfitting(過擬合)、bias(偏差)與 variance(變異數) 是三個相互關聯的概念,用來描述機器學習模型從訓練資料推廣到未見過的正式環境資料的能力。AIF-C01 Task Statement 1.1 要求考生辨識每一種失效模式、區分 overfitting vs underfitting,並選擇正確的修正策略。若在這裡搞錯詞彙,將連帶在 Domain 3 和 Domain 4 的 SageMaker、fine-tuning 以及 foundation model 評估題目上連鎖丟分。
從最抽象的層次來看,一個訓練好的模型與現實之間存在三種可能的關係:
- Underfitting(高 bias) — 模型過於簡單,無法捕捉底層規律;在訓練資料與驗證資料上的表現都很差。
- Good fit(bias 與 variance 平衡) — 模型捕捉到真實訊號並過濾雜訊;訓練與驗證表現相近,且兩者都在可接受範圍。
- Overfitting(高 variance) — 模型記憶了訓練資料中的雜訊;訓練表現優異,但驗證表現很差。
理解 overfitting(過擬合) 及其對立面 underfitting(欠擬合),讓你擁有診斷詞彙。理解 bias 與 variance,則讓你掌握 AIF-C01 用來解釋「模型為何失效」以及「如何修正」的理論框架。兩者合在一起,構成每位 AWS AI 從業人員都應熟悉的經典 ML 除錯工具包。
Overfitting(過擬合) 發生在機器學習模型過度精確地學習訓練資料時——包括其中的雜訊與特殊情況——導致對新的、未見過的資料的推廣能力變差。典型症狀:訓練準確率非常高,而驗證或測試準確率則明顯偏低。Overfitting 是現代 ML 中最常見的失效模式,也是 AIF-C01 Task 1.1 情境題中反覆出現的主題。 Source ↗
AIF-C01 為什麼如此重視這三個概念
AIF-C01 將 20% 的分數配置在 Domain 1「AI 與 ML 基礎」,而 overfitting、bias 與 variance 都在 Task Statement 1.1「解釋基本 AI 概念與術語」之中。預期這三個詞彙會直接出現在 3 到 6 道題目裡,此外在 fine-tuning 情境(Domain 3.3)、foundation model 評估題(3.4)以及 Responsible AI 公平性題目(Domain 4)中也會間接現身。無法區分 overfitting vs underfitting 的考生,將在四個不同的 Domain 中可靠地失分。
這個主題如何串連到 AIF-C01 的其餘內容
Overfitting、bias 與 variance 的詞彙是以下內容的基礎:
- ML 開發生命週期(第 6 階段評估依賴在部署前發現 overfitting)
- Foundation Model 評估(fine-tuned LLM 與傳統模型一樣會 overfit——catastrophic forgetting)
- Responsible AI 原則(訓練資料中的 bias 在大規模應用下會演變成 AI 倫理問題)
- SageMaker Clarify 與 Model Monitor(AWS 原生工具,用於偵測部署後的 bias 與資料漂移)
白話文解釋 Overfitting、Bias 與 Variance
Overfitting(過擬合)、bias(偏差)與 variance(變異數) 的教科書定義在沒有具體情境時感覺抽象。以下三個源自台灣日常生活的類比,讓 bias variance tradeoff 變得難以忘懷。
類比一:夜市滷味攤的口味訓練
想像一個夜市滷味攤老闆正在訓練三名新學徒,目標是學會「調出客人都說讚的完美滷汁」。
學徒 A 嫌學習太麻煩,只看了一頁食譜摘要就上陣。每一鍋滷汁都差不多,鹹中帶甜,說不上好也說不上壞。在老師傅的測試鍋和客人實際點餐時,表現同樣普普。他的問題是 high bias(偏差大)——underfitting。他腦中的「食譜模型」太簡單,不管再多試幾次,上限就是那樣。
學徒 B 把老師傅過去三年的每一鍋筆記全背下來,包括哪天下雨要多加幾克八角、哪個廠牌醬油只買那一批貨。在老師傅的測試鍋上,他幾乎滿分。但換了一家食材行進貨,或換了個季節,他的滷汁就垮了——因為他記住的是「雜訊」,而不是「技術」。這就是 high variance——overfitting(過擬合)。
學徒 C 花時間理解食材間的平衡原理,練習時從不死背比例,只求理解為什麼。測試鍋 88 分,客人實際吃 86 分,兩個數字接近且都好。這就是 AIF-C01 要你辨識的平衡模型。
Overfitting vs underfitting 就是學徒 A 對上學徒 B。Bias variance tradeoff 就是「過度概括」(學徒 A 走太遠)與「死記硬背」(學徒 B 走太遠)之間的張力。本指南中的每一種技術——regularization(正則化)、cross-validation、early stopping、data augmentation——都是把學徒 B 引導成學徒 C 而不讓他退步成學徒 A 的方法。
類比二:手搖飲料店的調配配方
台灣手搖飲料店的師傅在學習調製「台灣茶飲最佳甜度與冰量」時,同樣面對 bias variance tradeoff。
high bias 師傅 不管客人點什麼,一律 7 分甜、少冰,拒絕調整。珍珠奶茶、烏龍茶、鮮果茶喝起來都差不多——中規中矩但毫無特色。這是 underfitting:他的決策模型太單純,無法反映不同茶飲的本質差異。
high variance 師傅 把上個月每一筆「客人加點備註」都背下來,精確記得「3 月 12 日下午 2 點的那杯正山小種要少 3 顆珍珠」。換一個客人,或換個天氣,他就不知所措。他 overfit(過擬合) 了過去的訂單。
Bias variance tradeoff 的甜蜜點是:學會底層原理——糖度如何影響茶香的表現、冰量如何改變口感層次——讓技術可以隨機應變。Regularization(正則化) 就是資深師傅那句「不要為了上一杯客製化過頭」。Cross-validation(交叉驗證) 是把新配方拿給五桌不同口味的客人測試後再定案。Data augmentation(資料擴增) 是刻意用各種不同的茶葉、糖種練習,讓技術能夠遷移。
類比三:台北捷運的乘客流量預測
一套從不更新路線建議的捷運乘客流量預測 App 是 high bias 的系統。它永遠說「去板南線換車」,因為靜態模型就是那樣算的。有時對,常常錯。這是 underfitting——模型忽略了真實訊號。
一套在每次感測器有風吹草動時就立刻改變預測的 high variance App,把正常的數據波動當成真實的人潮變化,建議你在信義區出口繞三個不同出口才能「避開人潮」。它在對雜訊 overfit(過擬合),而不是在對真實趨勢建模。
校準良好的預測系統會平滑雜訊(就像 L2 regularization(正則化) 抑制極端權重)、整合多個資料來源(就像 ensemble 結合多個預測器),只在證據充分時才更新建議(就像訓練中的 early stopping)。Bias variance tradeoff 就是這個平滑決策:敏感到足以偵測真實的人潮壅塞,穩定到足以無視隨機的感測器抖動。
考場上選哪個類比
三個類比從不同角度描述同一個 overfitting、bias 與 variance 的現象:
- 情境關於學習過程/考試表現/推廣能力 → 夜市滷味攤類比
- 情境關於技術可移植性/一致性 → 手搖飲料店類比
- 情境關於訊號 vs 雜訊/即時靈敏度/平滑化 → 台北捷運類比
Overfitting vs Underfitting:症狀與診斷訊號
AIF-C01 Task 1.1 中測驗頻率最高的區別,就是 overfitting vs underfitting。兩者都是模型推廣能力的失效模式,但症狀、原因與修正方向恰好相反。
Overfitting:模型在記憶而非學習
Overfitting(過擬合) 是指模型把訓練資料擬合得過於緊密,把雜訊、離群值與巧合都當成真實規律來記住。模型通過每一個訓練樣本,卻在驗證資料上失敗,因為驗證資料帶有不同的雜訊。
典型 overfitting 症狀:
- 訓練準確率非常高(通常 > 98%)
- 驗證準確率明顯偏低(差距超過 10 個百分點即為紅燈)
- 訓練 loss 持續下降,而驗證 loss 在某個 epoch 後開始上升
- 在略微不同的資料子集上重新訓練時,預測結果呈現 high variance
- 決策邊界複雜,為了遷就個別訓練資料點而扭曲彎折
Overfitting 的常見原因:
- 模型容量相對於資料集大小過高(參數太多)
- 訓練資料太少,無法代表真實分佈
- 訓練時間過長(過多 epoch)且缺乏 regularization
- 特徵含有雜訊或與目標的相關性很弱
- 缺少 regularization(沒有 L1、L2、dropout 或 early stopping)
Underfitting:模型過於簡單
Underfitting(欠擬合)是鏡像情況。模型過於簡單或訓練不足,無法捕捉真實規律;在訓練資料和驗證資料上的表現都很差。增加更多訓練資料無法修正 underfitting,因為問題在於模型容量,而非資料量。
典型 underfitting 症狀:
- 訓練準確率很低(例如在一個 90% 可達的問題上只有 60%)
- 驗證準確率與訓練準確率大致相同 — 兩個都差
- High bias — 模型持續以相同的方式遺漏同一類型的規律
- Loss 曲線迅速在高值處趨於平穩,不願繼續下降
- 特徵重要性分析顯示模型忽略了相關訊號
常見 underfitting 原因:
- 模型過於簡單(例如對非線性關係使用線性迴歸)
- 訓練 epoch 太少
- 特徵工程遺漏了關鍵預測因子
- 過度激進的 regularization(L1/L2 懲罰過強,壓制了有用的權重)
- 學習率過高,導致發散
訓練準確率 vs 驗證準確率矩陣
把這個 2×2 方格記下來——這是診斷 AIF-C01 情境題最快的方法:
| 訓練準確率 | 驗證準確率 | 診斷 | 修正方向 |
|---|---|---|---|
| 低 | 低 | Underfitting/high bias | 增加容量、新增特徵、延長訓練 |
| 高 | 低 | Overfitting/high variance | Regularize、增加資料、簡化模型 |
| 低 | 高 | 資料洩漏或 bug | 重新檢查資料分割方式 |
| 高 | 高 | 擬合良好的模型 | 可以上線(在 holdout 測試後) |
AIF-C01 最常見的陷阱:情境描述「訓練準確率 99%,驗證準確率 72%」是 overfitting(過擬合),而非 underfitting。訓練與驗證表現之間的落差才是訊號。搭配正確修正方向:regularization(正則化)、更多資料或更簡單的模型。絕對不要選「再訓練更多 epoch」——那只會讓 overfitting 更嚴重。 Source ↗
Bias Variance Tradeoff:圖形直觀理解
Bias variance tradeoff(偏差-變異數取捨) 是所有 overfitting vs underfitting 討論背後的理論框架。它把預測誤差分解為三個加總成總誤差的部分:
總誤差 = Bias² + Variance + 不可消除誤差
Bias 是什麼意思
Bias(偏差) 是模型所做的簡化假設所引入的誤差。一個試圖擬合曲線關係的線性模型有 high bias——它以系統性的方式在同一個方向上出錯。Bias 衡量的是在多次訓練運行中,平均預測值與真實值之間的距離。
Variance 是什麼意思
Variance(變異數) 是模型預測對所使用的特定訓練樣本的敏感度。在略微不同的資料子集上訓練的 high variance 模型會產生截然不同的預測結果。Variance 衡量的是預測值在平均值附近的跳動幅度。
不可消除誤差是什麼意思
不可消除誤差是資料本身固有的雜訊——量測誤差、缺失特徵、本質上無法預測的事件。任何模型都無法將其降為零。Bias variance tradeoff 是關於管理兩個可消除部分的問題。
經典飛鏢靶視覺化
想像四個飛鏢靶,每個投擲十次:
- Low bias, low variance — 所有飛鏢緊密地聚集在靶心周圍。這是目標。
- Low bias, high variance — 飛鏢分散廣泛,但其平均值落在靶心。每個個別預測都不可靠。
- High bias, low variance — 飛鏢緊密聚集,但聚集位置偏離靶心。模型一致但一致地出錯。
- High bias, high variance — 飛鏢分散廣泛且偏離靶心。最糟糕的情況。
Bias variance tradeoff 以 U 型曲線視覺化:隨著模型複雜度增加,bias 下降(模型能表示更複雜的規律),但 variance 上升(模型對訓練資料雜訊變得敏感)。總誤差在兩條曲線交叉的甜蜜點上被最小化。
複雜度如何控制取捨
模型複雜度是控制 bias variance tradeoff 的旋鈕:
- 增加複雜度(更多參數、更深的網路、更高次多項式)→ bias 減少,variance 增加
- 降低複雜度(更少參數、更淺的網路、regularization 懲罰)→ bias 增加,variance 減少
目標不是單獨最小化 bias 或 variance,而是最小化它們的總和。這就是為什麼「越簡單越好」在真實關係確實複雜時是錯的,而「越大的模型越好」在訓練資料很少時也是錯的。
AIF-C01 overfitting、bias 與 variance 速查表:
- High bias = underfitting = 模型太簡單 = 訓練與驗證表現都差
- High variance = overfitting = 模型太複雜或過度訓練 = 訓練優異,驗證差
- Tradeoff 曲線:總誤差 = bias² + variance + 不可消除誤差
- 甜蜜點:總誤差最小化時的模型複雜度
- 訓練準確率 - 驗證準確率落差 > 10%:強烈的 overfitting 訊號
- 兩個準確率都低:underfitting 訊號
- Regularization 方向:從 high variance 移向較高 bias(在 overfitting 時是好事)
- 新增特徵方向:從 high bias 移向較高 variance(在 underfitting 時是好事)
Regularization 技術:L1、L2 與 Dropout
Regularization(正則化) 是透過懲罰模型複雜度來對抗 overfitting(過擬合) 的技術系列。AIF-C01 考驗三種特定形式:L1、L2 和 dropout。Early stopping 有時被歸類為 regularization,在下面的獨立小節中介紹。
L2 Regularization(Ridge)
L2 regularization(正則化) 在 loss 函數中加入一個與權重平方和成比例的懲罰項。傾向造成尖銳、過擬合決策邊界的大權重會被推向零,但不會完全強制歸零。淨效果是更平滑、更具推廣性的模型。
L2 的關鍵特性:
- 在深度學習情境中也稱為 Ridge regression 或 weight decay
- 等比例縮小所有權重
- 很少產生精確的零——所有特徵仍保留在模型中,但影響力降低
- 計算友善(處處可微分)
- 大多數 AWS SageMaker 內建演算法的預設 regularization
L1 Regularization(Lasso)
L1 regularization(正則化) 加入一個與權重絕對值和成比例的懲罰項。與 L2 不同,L1 會產生稀疏模型——許多權重被驅使到精確的零,實際上從模型中移除了那些特徵。
L1 的關鍵特性:
- 也稱為 Lasso regression
- 執行自動特徵選取(零權重 = 未使用的特徵)
- 當你懷疑許多特徵不相關時很有用
- 在零點不可微分,需要特殊的最佳化器
- 經常與 L2 結合為「Elastic Net」regularization
何時選擇 L1 vs L2
- 當你懷疑真實模型只依賴特徵的一小部分,且需要自動特徵選取時,選 L1
- 當所有特徵可能都有貢獻,且你想防止任何單一權重主導時,選 L2
- 不確定時,選 Elastic Net(L1 + L2),兼顧兩者優點
- 始終透過 SageMaker Automatic Model Tuning 將 regularization 強度作為超參數調整
Dropout
Dropout 是一種專用於神經網路的 regularization(正則化) 技術。在訓練期間,每個神經元以某個機率(通常為 0.2 到 0.5)被隨機「丟棄」(設為零)。這迫使網路學習冗餘的表示——因為任何單一神經元在任意訓練步驟中都可能缺席,所以它不能依賴特定神經元。
Dropout 的關鍵特性:
- 僅在訓練期間套用;推論時停用
- 典型 dropout 比率:全連接層 0.2-0.5,卷積層 0.1-0.2
- 功能類似 ensemble 訓練——每次前向傳播都採樣不同的子網路
- 對深度學習中的 overfitting 極其有效
- 許多 Transformer 架構(包括 LLM)的預設配置
當 AIF-C01 情境描述「一個深度神經網路訓練準確率 98%,驗證準確率 74%」時,第一個應考慮的修正是加入 dropout 層,比率設為 0.3-0.5。若情境涉及線性/邏輯斯迴歸或樹狀模型,則 L1 或 L2 regularization(正則化) 才是正確的工具。將 regularization 技術與模型家族對應。 Source ↗
Early Stopping
Early stopping 可以說是最簡單也最有效的 regularization(正則化) 技術:一旦驗證 loss 開始上升,即使訓練 loss 仍在下降,就停止訓練。兩條曲線開始分岔的那個點,就是模型開始 overfit(過擬合) 的點。
Early stopping 的運作方式:
- 將資料分割為訓練集和驗證集
- 訓練模型,在每個 epoch 後監控驗證 loss
- 若驗證 loss 連續 N 個 epoch 沒有改善(「patience」),停止訓練
- 回復到驗證 loss 最低時的 checkpoint
Early stopping 幾乎是免費的——不需要額外的運算資源,除了 patience 之外沒有其他超參數——而且幾乎永遠是個好主意。SageMaker 訓練任務透過 Automatic Model Tuning 中的 EarlyStopping 配置,將 early stopping 作為內建功能支援。
Early stopping 是對抗 overfitting(過擬合) 中投入最低、回報最高的防禦手段。AIF-C01 情境中提到「訓練 loss 下降但驗證 loss 上升」的,直接對應 early stopping 作為修正方案。在深度學習工作負載中,將 early stopping 與 L2 和 dropout 結合,採用雙重保險策略。 Source ↗
Cross-Validation:K-Fold 與 Stratified
Cross-validation(交叉驗證)是透過反覆將訓練資料分割為訓練折和驗證折來評估模型推廣能力的規範做法。它透過確保驗證結果對所選擇的特定驗證分割具有穩健性,來防禦 overfitting(過擬合)。
K-Fold Cross-Validation
K-fold 將訓練資料分割為 K 個大小相等的折(通常 K = 5 或 K = 10)。模型訓練 K 次,每次使用 K-1 折進行訓練,剩餘的一折用於驗證。最終的效能指標是所有 K 次執行的平均值。
K-fold 的優點:
- 每個訓練樣本恰好貢獻一次驗證
- 比單次訓練/驗證分割更穩定的效能估計
- 偵測 high variance 模型——若 K-fold 分數劇烈波動,模型正在 overfitting
- 競爭 ML 與 SageMaker Automatic Model Tuning 中的標準做法
K-fold 的缺點:
- 比單次訓練/驗證分割貴 K 倍
- 不能取代用於最終評估的 holdout 測試集
- 不適合時間序列資料(改用時間序列感知分割)
Stratified K-Fold
Stratified K-fold 確保每個折包含與完整資料集大致相同的類別分佈。這對於不平衡的分類問題(例如 1% 正類的詐欺偵測)至關重要。隨機 K-fold 可能意外地將所有正類放入一個折中,破壞該折的指標。
何時使用 stratified K-fold:
- 分類問題,尤其是類別不平衡超過 70/30 時
- 小型資料集,其中分層顯著降低 variance
- 罕見事件偵測(詐欺、故障、疾病),正類樣本珍貴
Leave-One-Out Cross-Validation(LOOCV)
LOOCV 是將 K-fold 推到極限:K 等於訓練樣本數。每次迭代在 N-1 個樣本上訓練,在剩餘的那一個上驗證。LOOCV 非常昂貴,只有在非常小的資料集上才實際可行。AIF-C01 很少詢問 LOOCV,但要認識這個術語。
時間序列 Cross-Validation
對於時間排序的資料(股票價格、感測器讀數、使用者行為),標準 K-fold 會將未來資訊洩漏到訓練中。時間序列 cross-validation 使用擴展視窗:在 [1..T] 上訓練,在 [T+1..T+k] 上驗證;然後在 [1..T+k] 上訓練,在 [T+k+1..T+2k] 上驗證;依此類推。這保留了時間因果性。
Cross-validation 不等於測試集評估。 AIF-C01 考生有時認為 K-fold cross-validation 取代了 holdout 測試集的需求。它並沒有。Cross-validation 幫助你在開發期間選擇超參數並估計推廣能力。最終的測試集,直到最後才使用,才能提供無偏的生產效能估計。使用 K-fold 分數作為上線標準,會將驗證資訊洩漏到模型選擇中,導致報告的效能虛高。 Source ↗
Data Augmentation:擴展訓練集以降低 Overfitting
Data augmentation(資料擴增)透過產生現有樣本的合成變體來擴展訓練集。更有效的訓練資料幾乎總是能降低 overfitting(過擬合),但收集更多真實資料很昂貴。Augmentation 是低成本的替代方案。
影像 Augmentation
對於電腦視覺問題,augmentation 轉換包括:
- 旋轉(±15°、±30°)
- 水平和垂直翻轉
- 縮放(裁切和調整大小)
- 亮度和對比度調整
- 色彩抖動
- 高斯雜訊加入
- 隨機遮擋(cutout、mixup)
每張原始影像產生數十個變體,有效地倍增訓練集大小。Amazon SageMaker 內建的影像分類演算法原生支援 augmentation 超參數。
文字 Augmentation
對於 NLP 工作負載,augmentation 較為棘手,因為隨機文字擾動常常破壞語義。常見技術:
- 同義詞替換(基於 word2vec 或 embedding)
- 回譯(翻譯成法文,再翻譯回英文)
- 隨機插入、刪除或替換非關鍵詞
- 基於 LLM 的改寫(請 Claude 以五種不同方式改寫一個句子)
文字 augmentation 是透過 Bedrock 或 SageMaker JumpStart 在小型領域資料集上 fine-tuning foundation model 時的標準做法。
音訊 Augmentation
對於語音和音訊:
- 時間位移
- 音高位移
- 加入背景雜訊
- 速度擾動
- SpecAugment(在頻譜圖中遮罩頻率和時間段)
表格資料 Augmentation
對於結構化表格資料,合成少數類別過採樣(SMOTE)是標準技術:透過在現有樣本之間插值來產生合成少數類別樣本。對於不平衡分類很有用,也是快速降低對稀有類別 bias 的方法。
為什麼 Augmentation 能解決 Overfitting
Data augmentation 讓模型接觸到同一底層概念的各種變體,迫使它學習穩健的、不變的特徵,而不是記憶特定的像素圖案或詞序。有效地說,augmentation 告訴模型「當影像輕微旋轉時,標籤不會改變」——模型現在必須在其權重中編碼這個事實。這把模型從 high variance 狀態推離出去。
Ensemble 方法:Bagging 與 Boosting
Ensemble 方法結合多個模型來產生比任何單一模型更準確的預測。Ensemble 是管理 bias variance tradeoff 最可靠的工具之一,在 AIF-C01 提到 XGBoost、random forest 或模型投票的情境中頻繁出現。
Bagging(Bootstrap Aggregating)
Bagging 以平行方式訓練許多模型,每個模型在訓練資料的隨機 bootstrap 樣本(有放回的抽樣)上訓練。預測值取平均(迴歸)或投票(分類)。Bagging 主要是一種 variance 降低技術——它平滑了個別模型的特異性誤差。
經典 bagging 演算法:Random Forest。每棵樹在 bootstrap 樣本上訓練,並在每次分裂時只考慮特徵的隨機子集。森林的投票比任何個別樹都顯著更穩定,而個別樹傾向於 overfit(過擬合)。
何時使用 bagging:
- 基礎學習器有 low bias 但 high variance(深度決策樹是典型案例)
- 訓練資料充足到 bootstrap 樣本具有多樣性
- 可平行化——每棵樹獨立訓練,非常適合分散式 SageMaker 訓練
Boosting
Boosting 以循序方式訓練模型,每個新模型專注於前一個 ensemble 的錯誤。預測是加權組合。Boosting 主要是一種 bias 降低技術——它透過糾正錯誤,從許多弱學習器建立一個強學習器。
經典 boosting 演算法:
- AdaBoost — 對被誤分類的樣本重新加權
- Gradient Boosting — 讓每個新模型擬合殘差
- XGBoost — SageMaker 最受歡迎的內建演算法,最佳化的梯度提升
- LightGBM / CatBoost — 速度最佳化的變體
何時使用 boosting:
- 基礎學習器有 high bias(淺層樹是典型)
- 資料較乾淨——boosting 可能將標籤雜訊放大成 overfitting
- 表格問題是 boosting 的甜蜜點
Stacking
Stacking(元學習)訓練一個最終模型來結合多個基礎模型的預測。與 bagging(相同模型類型,不同資料)和 boosting(相同模型類型,循序)不同,stacking 混合了異質模型類型。
Ensemble 如何與 Bias Variance Tradeoff 互動
- Bagging 降低 variance,bias 大致不變 → 在 overfitting 時使用
- Boosting 降低 bias,可能略微增加 variance → 在 underfitting 時使用
- Stacking 兩者都降低(如果基礎模型多樣化)
在 AIF-C01 上,當情境提到一棵嚴重 overfit 的單一決策樹時,教科書答案是 Random Forest(bagging)。當情境提到一個 underfit 的簡單模型時,梯度提升(SageMaker 上的 XGBoost)是標準答案。將 ensemble 與失效模式對應:bagging 對應 high variance,boosting 對應 high bias。 Source ↗
特徵工程對 Bias 的影響
特徵工程是建立幫助模型學習的輸入特徵的技藝。好的特徵透過讓模型直接存取相關訊號來降低 bias(偏差);壞的特徵引入雜訊,使 variance(變異數) 膨脹。AIF-C01 在多個地方將特徵工程與 bias variance tradeoff 連結起來。
特徵如何降低 Bias
線性模型無法表示非線性關係——這是它內建的 bias。但如果你工程化一個編碼非線性的特徵(例如 age_squared、interaction_term 或領域衍生比率),線性模型現在就能捕捉這個規律。特徵工程將領域知識注入低容量模型,在不增加 variance 的情況下降低 bias。
特徵如何引入 Variance
加入太多特徵——尤其是有雜訊或預測力弱的特徵——給了模型更多 overfit(過擬合) 的表面積。在 500 個樣本上有 1,000 個特徵的模型,基本上會透過隨機特徵相關性記憶訓練資料。這就是為什麼 L1 regularization(正則化) 和降維很重要。
維度詛咒
隨著特徵空間增長,有意義地覆蓋它所需的資料量呈指數增長。高維資料在預設情況下是稀疏的,使得 overfitting(過擬合) 很容易發生。防禦措施包括:
- 特徵選取(L1、互資訊、SHAP 重要性)
- 降維(PCA、自動編碼器)
- Regularization(L1 或 L2 懲罰無用特徵)
- 領域專業知識——捨棄已知不相關的特徵
AWS 特徵工程工具
- Amazon SageMaker Data Wrangler — 視覺化特徵工程與轉換
- Amazon SageMaker Feature Store — 集中式特徵儲存庫,確保訓練與推論之間的一致性
- AWS Glue DataBrew — 無程式碼的資料準備
- Amazon SageMaker Clarify — 特徵重要性與歸因分析
透過 SageMaker 指標與訓練曲線進行診斷
在 AWS 上診斷 overfitting(過擬合)、bias(偏差)與 variance(變異數),意味著在正確的時機從正確的工具讀取正確的指標。
讀取訓練曲線
訓練曲線繪製 loss(或準確率)對訓練 epoch 或步驟的關係。通常疊加兩條曲線:訓練和驗證。
- 健康曲線:兩條曲線一起下降並在相似的值處趨於平穩
- Overfitting 曲線:訓練 loss 持續下降,而驗證 loss 開始上升;差距隨時間擴大
- Underfitting 曲線:兩條曲線都很快在高 loss 值處趨於平穩
- 不穩定曲線:驗證 loss 劇烈振盪——學習率太高,或 batch size 太小
SageMaker 訓練任務日誌
SageMaker 訓練任務將指標發送到 Amazon CloudWatch。對於 XGBoost 等內建演算法,尋找:
train:error和validation:error- 迴歸的
train:rmse和validation:rmse - 二元分類的
train:auc和validation:auc
並排比較這些指標。持續的差距表示 overfitting(過擬合)。兩個指標都在高誤差值表示 underfitting。
SageMaker Debugger
Amazon SageMaker Debugger 自動偵測常見的訓練問題,包括:
overfit— 當驗證 loss 偏離訓練 loss 時觸發的可配置規則overtraining— epoch 過多的相關規則vanishing_gradient和exploding_gradient— 訓練不穩定訊號class_imbalance— 通常導致 biased 模型的資料面訊號
Debugger 規則在訓練期間執行,並可在偵測到 overfitting(過擬合) 時自動停止任務,節省運算成本。
SageMaker Clarify 的 Bias 偵測
SageMaker Clarify 以不同的意義衡量 bias(偏差)——跨敏感人口群體的公平性 bias。Clarify 產生訓練前 bias 報告(類別不平衡、標籤不平衡)和訓練後 bias 報告(差異影響、均等勝算)。這個「bias」的意義關聯到 Domain 4 Responsible AI,而非 bias variance tradeoff 中的統計 bias,而 AIF-C01 有時會混淆這兩者。
AIF-C01 上「bias」的兩種意義。
- 統計 bias(本主題):來自模型簡化的系統性誤差;在 bias variance tradeoff 中與 variance 相對;透過增加模型容量或特徵豐富度來修正。
- 公平性 bias(Domain 4):跨人口群體的差異影響;由 SageMaker Clarify 衡量;透過重新平衡訓練資料、套用公平性約束或移除敏感特徵來修正。
仔細閱讀問題。「訓練集上的 high bias 模型」意指統計 bias(underfitting)。「不同膚色的臉部識別預測中的 bias」意指公平性 bias。混淆這兩者是 AIF-C01 的經典干擾項。 Source ↗
SageMaker Model Monitor 的部署後漂移偵測
即使是訓練良好的模型,在部署後資料分佈改變時也可能退化。SageMaker Model Monitor 監控四個類別:
- Data Quality — 輸入特徵分佈從訓練基線漂移
- Model Quality — 預測準確率漂移(需要 ground truth 回饋)
- Bias Drift — 公平性指標隨時間改變
- Feature Attribution Drift — 驅動預測的特徵發生改變
資料漂移和概念漂移會導致訓練時擬合良好的模型,相對於當前現實變得 underfit(欠擬合)。修正通常是在新資料上重新訓練。
修正策略:修復方案手冊
當 AIF-C01 情境問到「模型 overfit——團隊應該先做什麼?」時,將修復方案與診斷出的失效模式對應。以下的方案手冊是你的心智備忘清單。
Overfitting(High Variance)的修正策略
按順序套用,最便宜的優先:
- 增加更多訓練資料 — 最可靠的單一修正;資料量擴大時 overfitting 通常會消失
- 套用 data augmentation — 合成資料擴展;幾乎免費
- 加入 regularization — 線性/樹狀模型使用 L1、L2 或 Elastic Net;神經網路使用 dropout
- 使用 early stopping — 幾乎免費;始終與以上方法結合
- 降低模型複雜度 — 更少的參數、更淺的樹、更小的網路
- 特徵選取 — 透過 L1 或 SHAP 重要性移除有雜訊的特徵
- 使用 ensemble — 特別是 bagging 或 random forest 來降低 variance
- Cross-validate 超參數 — 避免選擇 overfit 的配置
Underfitting(High Bias)的修正策略
- 加入相關特徵 — 特徵工程注入領域訊號
- 增加模型複雜度 — 更深的樹、更多層、更高次多項式
- 降低 regularization — 若 L1/L2/dropout 太強,放寬它們
- 訓練更長 — 更多 epoch,但注意 overfitting 的轉換點
- 使用 boosting ensemble — 梯度提升、SageMaker 上的 XGBoost
- 使用更複雜的演算法 — 從線性迴歸移到 XGBoost 或神經網路
- 檢查資料品質問題 — 缺失值和有雜訊的標籤會使表觀 bias 膨脹
Fine-Tuning Foundation Model 的修正策略
在小型領域資料上 fine-tuning foundation model 是典型的 overfitting(過擬合) 風險。AIF-C01 Task 3.3 測驗這些修正:
- 使用 Parameter-Efficient Fine-Tuning(PEFT/LoRA) — 更少的可訓練參數,更少的 overfitting
- 使用 RAG 代替 fine-tuning — 檢索不更新權重,因此在檢索端不會 overfit
- 謹慎限制 epoch 數 — 小資料 + 多 epoch = catastrophic forgetting
- 套用 dropout 和 weight decay — 標準 regularization 同樣適用於 foundation model
- 以 holdout 領域資料評估 — 監控是否開始遺忘一般能力
對於 foundation model fine-tuning,AIF-C01 的正確答案模式通常是「使用 RAG 或 PEFT 以避免在小型資料集上 overfitting(過擬合)。」在數百個樣本上進行完整 fine-tuning 幾乎必然會 overfit,並降低模型的一般能力。這稱為 catastrophic forgetting,在 Domain 3.3 中被測驗。 Source ↗
考場當天的情境決策樹
當 AIF-C01 題目描述一個症狀時,走這棵決策樹:
- 訓練指標好但驗證指標差?→ Overfitting → regularize、增加資料、簡化
- 訓練和驗證指標都差?→ Underfitting → 增加特徵、提高容量、訓練更長
- 訓練好但生產指標差?→ 漂移 → 用 SageMaker Model Monitor 監控,重新訓練
- 跨人口群體的預測不公平?→ 公平性 bias → 使用 SageMaker Clarify
- LLM 在自信地產生胡言亂語?→ 幻覺(相關但不同)→ 使用 RAG、grounding、temperature=0
常見考試陷阱:Overfitting vs Underfitting 混淆
陷阱一:訓練指標說明了一切
考生常常在訓練準確率 99% 時選擇「模型很好」。AIF-C01 會懲罰這個做法:始終同時看驗證或測試指標。99%/99% 分割是優秀的;99%/70% 分割是 overfitting(過擬合) 的災難。
陷阱二:「更多資料」修正 Underfitting
更多訓練資料減少 overfitting(過擬合),但不修正 underfitting。若模型在 underfitting,問題是容量,不是資料。對一個無法表示真實關係的線性模型加入 10 倍更多資料,會得到一樣糟糕的預測。AIF-C01 會把「收集更多資料」列為 underfitting 情境中看起來合理的干擾項——不要選它。
陷阱三:Regularization 永遠是好事
Regularization(正則化) 對抗 overfitting,但若套用過於激進,可能導致 underfitting。將 L2 lambda 調到很大的值,會把所有權重壓向零,留下一個本質上是常數的預測。「什麼 regularization 強度正確?」的正確答案是「透過超參數最佳化調整」,而不是「越高越好」。
陷阱四:訓練更多 Epoch 能提升準確率
訓練更長只在 overfitting(過擬合) 轉換點之前有幫助。超過那個點,更多 epoch 會讓模型在驗證和測試資料上更差。Early stopping 的存在正是因為這個轉換點是悄悄發生的。AIF-C01 情境提到「模型訓練了 1000 個 epoch,95% 訓練準確率 68% 驗證準確率」的,要你選 early stopping 或減少 epoch,而不是「訓練 2000 個 epoch」。
陷阱五:Temperature 參數混淆
LLM temperature 控制輸出的隨機性,與 bias variance tradeoff 中的統計 variance 是完全不同的概念。AIF-C01 有時設置混淆這兩者的情境。
Temperature 不等於 bias variance tradeoff 中的 variance。
- Temperature(LLM 推論參數)— 控制下一個 token 採樣的隨機性;temperature 越高,每次推論呼叫的輸出越多樣化。不影響已訓練模型的權重。
- Variance(bias variance tradeoff)— 衡量模型的預測在不同訓練樣本之間變化多少。已訓練模型的屬性。
「降低 LLM 回應之間的不一致性」的問題是 temperature(降低它)。「在不同資料子集上重新訓練時模型預測差異很大」的問題是 variance(透過 bagging 或 regularization 降低)。儘管這兩個概念都使用「variance」這個詞,它們毫無關聯。 Source ↗
陷阱六:模型中的 Bias vs 預測中的 Bias
如上所述,統計 bias(underfitting)和公平性 bias(差異影響)都被稱為「bias」,AIF-C01 會測試你是否能從情境描述中分辨它們。
Overfitting、Bias 與 Variance 常見問題(FAQ)
機器學習中的 overfitting 是什麼?
Overfitting(過擬合) 是指機器學習模型如此精確地學習訓練資料,以至於把雜訊和特殊情況當成真實規律來捕捉。典型症狀是高訓練準確率搭配明顯偏低的驗證或測試準確率。Overfitting 發生在模型相對於訓練資料容量過大時、訓練在沒有 regularization 的情況下運行太長時,或特徵含有太多雜訊時。修正包括 L1/L2 regularization(正則化)、dropout、early stopping、data augmentation、降低模型複雜度和增加更多訓練資料。
Overfitting 和 underfitting 有什麼區別?
Overfitting vs underfitting 的差異在於哪個效能指標出問題。Overfitting 意味著模型在訓練資料上表現良好,但在新資料上表現差——high variance、low bias。Underfitting 意味著模型在訓練和新資料上都表現差——high bias、low variance。修正方向相反:overfitting 透過簡化和 regularize 來治療;underfitting 透過增加容量和特徵來治療。訓練準確率 vs 驗證準確率的落差是診斷依據——大落差表示 overfitting,兩者都差的相似指標表示 underfitting。
Bias variance tradeoff 是什麼?
Bias variance tradeoff(偏差-變異數取捨) 是將模型預測誤差分解為三個部分:bias²(來自簡化的系統性誤差)、variance(對訓練樣本雜訊的敏感度)和不可消除誤差(固有雜訊)。總誤差在 bias 和 variance 平衡的模型複雜度處被最小化。增加複雜度降低 bias 但增加 variance;降低複雜度則相反。良好的 ML 工程是找到甜蜜點,通常透過 cross-validation 和超參數調整。AIF-C01 在 Task 1.1 中測試對這個 tradeoff 的認識。
Regularization 是什麼,何時應該使用它?
Regularization(正則化) 是一系列透過懲罰模型複雜度來對抗 overfitting(過擬合) 的技術。AIF-C01 可考的三種形式是 L1(Lasso,產生稀疏模型)、L2(Ridge,等比例縮小所有權重)和 dropout(在訓練期間隨機停用神經元)。Early stopping 通常與 regularization 一起歸類。當你觀察到 overfitting 症狀——高訓練準確率、低驗證準確率——時使用 regularization。將 regularization 強度作為超參數調整;太弱無效,太強導致 underfitting。
Cross-validation 是什麼,為什麼重要?
Cross-validation(交叉驗證)是透過反覆將訓練資料分割為訓練折和驗證折來評估推廣能力的做法。K-fold 將資料分成 K 個相等的部分,訓練 K 次,對結果取平均。Stratified K-fold 在每個折中保持類別平衡——對不平衡資料至關重要。Cross-validation 產生穩定的效能估計,揭示 high variance 模型(K-fold 分數劇烈波動),是 SageMaker Automatic Model Tuning 內部的標準做法。Cross-validation 不能取代用於最終評估的 holdout 測試集。
如何在 AWS SageMaker 上偵測 overfitting?
在 SageMaker 上偵測 overfitting(過擬合),方法是在訓練任務期間透過 CloudWatch 日誌監控訓練 vs 驗證指標。train:error 和 validation:error(或類似的指標對)之間不斷擴大的差距是主要訊號。SageMaker Debugger 提供內建規則(overfit、overtraining),在偵測到差異時自動觸發並能停止訓練。SageMaker Automatic Model Tuning 支援 early stopping,防止 overfit 的配置運行到完成。部署後,SageMaker Model Monitor 偵測可能導致效能隨時間降低的資料和概念漂移。
Bagging 和 boosting 有什麼區別?
Bagging 以平行方式在 bootstrap 樣本上訓練許多模型,並對其預測取平均——主要是一種 variance 降低技術。Random Forest 是標準的 bagging 演算法。Boosting 以循序方式訓練模型,每個新模型糾正其前輩的錯誤——主要是一種 bias 降低技術。XGBoost(SageMaker 內建演算法)是標準的 boosting 演算法。當你的模型有 high variance(overfitting 的深度樹)時選 bagging;當你的模型有 high bias(簡單的弱學習器)時選 boosting。
Data augmentation 有助於解決 overfitting 嗎?
有——data augmentation(資料擴增)產生現有訓練樣本的合成變體(影像的旋轉和翻轉、文字的回譯、表格資料的 SMOTE),並直接降低 overfitting(過擬合) 風險,讓模型接觸更多樣性。更有效的資料讓模型學習可推廣的規律,而不是記憶特定樣本。Augmentation 通常是最便宜的 overfitting 修復方案,因為收集新的真實資料很昂貴。
Overfitting 如何應用於 foundation model 和 fine-tuning?
在小型領域資料集上 fine-tuning foundation model 是典型的 overfitting(過擬合) 情境。只有幾百個樣本和數百萬個參數,模型可以記憶領域資料並喪失一般能力(catastrophic forgetting)。AIF-C01 Task 3.3 測驗修正方案:使用 Parameter-Efficient Fine-Tuning(PEFT/LoRA)只更新一小部分參數、在可能的情況下使用 RAG 代替 fine-tuning、謹慎限制訓練 epoch、以及在 holdout 領域測試集上評估,以偵測模型何時開始遺忘其預訓練。
Bias variance tradeoff 中的 bias 與公平性 bias 是同一回事嗎?
不是。統計 bias(bias variance tradeoff 那種)是來自模型簡化的系統性誤差——一個試圖擬合曲線的線性模型有高統計 bias。公平性 bias 是跨人口群體的差異影響——一個在某些膚色上比其他膚色表現更好的臉部識別模型有公平性 bias。它們共用一個詞,但是不同的概念。AIF-C01 兩者都考,並利用重疊作為干擾項。仔細閱讀每個情境:訓練/驗證指標指向統計 bias;跨受保護群體的差異結果指向公平性 bias(由 SageMaker Clarify 和 Responsible AI 實務處理)。
延伸閱讀
- AWS AIF-C01 Exam Guide: https://d1.awsstatic.com/training-and-certification/docs-ai-practitioner/AWS-Certified-AI-Practitioner_Exam-Guide.pdf
- AWS Well-Architected Machine Learning Lens: https://docs.aws.amazon.com/wellarchitected/latest/machine-learning-lens/machine-learning-lens.html
- Amazon SageMaker Built-in Algorithms: https://docs.aws.amazon.com/sagemaker/latest/dg/algos.html
- SageMaker Automatic Model Tuning Early Stopping: https://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-early-stopping.html
- SageMaker Debugger Rules: https://docs.aws.amazon.com/sagemaker/latest/dg/debugger-built-in-rules.html
- SageMaker Clarify Bias Metrics: https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-bias-metrics.html
- SageMaker Model Monitor: https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor.html
- Amazon Bedrock Custom Models (Fine-Tuning): https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models.html
- AWS Machine Learning Blog — Overfitting: https://aws.amazon.com/blogs/machine-learning/
相關 ExamLab 主題:監督式、非監督式與強化學習、ML 開發生命週期、Foundation Model 評估、Responsible AI 原則。