首頁 / 學習筆記 / 中級科目三 / 模型訓練評估與驗證

iPAS AI中級中級科目三⚙️ 機器學習核心
📖 學習筆記・中級科目三

CH5.3 模型訓練評估與驗證

模型訓練評估與驗證

🧭 本節架構

資料分割(訓練/驗證/測試集)與批次訓練策略 → 學習率調整與早停策略 → 訓練監控與紀錄 → 分類評估指標(混淆矩陣、Accuracy/Precision/Recall/F1/ROC-AUC)與迴歸評估指標(MSE/MAE/RMSE/決定係數)→ 模型比較與綜合評估策略 → 交叉驗證家族(K折交叉驗證/Stratified K-fold/LOOCV/Repeated K-fold)。

1. 資料分割與批次訓練設計

資料集用途
訓練集(Training Set)模型參數的學習與內部結構調整
驗證集(Validation Set)調整超參數、監控訓練過程與過擬合
測試集(Test Set)模型訓練完成後的最終效能評估,模擬實際部署表現
批次策略說明特點
全量訓練(Batch GD)每輪用全部資料計算梯度方向穩定、收斂平滑,但記憶體需求高,不易應用於大規模資料
隨機梯度下降(SGD)每次用一筆樣本更新適合線上學習,惟更新震盪較大
小批次訓練(Mini-batch SGD)每次用固定筆數樣本更新兼具穩定與效率,是深度學習最常用方法

學習率調整策略:固定學習率(簡單任務)、遞減學習率(Step Decay/Exponential Decay)、動態調整(如 PyTorch 的 ReduceLROnPlateau,驗證效能停滯時自動調降)、預熱策略(訓練初期用低學習率逐漸升高,避免初期梯度爆炸,常見於 Transformer)。

早停策略(Early Stopping):設定容忍次數(Patience,驗證指標連續 N 次無明顯改善則終止)與最小改善幅度(Minimum Delta),並常搭配學習率調整共同使用。

📌 補充

有效的訓練流程需全程監控與可追蹤性(Reproducibility):訓練指標視覺化(TensorBoard、WandB、MLflow)、超參數與模型版本管理、資源使用狀況追蹤(GPU/CPU/記憶體)。

2. 分類任務的評估指標

(1) 混淆矩陣

實際為 Positive實際為 Negative
預測為正類真正 TP(True Positive)假正 FP(False Positive)
預測為負類假負 FN(False Negative)真負 TN(True Negative)

(2) 常見分類指標公式

\[\text{Accuracy} = \frac{TP+TN}{TP+TN+FP+FN}\]
\[\text{Precision} = \frac{TP}{TP+FP} \qquad \text{Recall} = \frac{TP}{TP+FN}\]
\[F_1 = 2\cdot\frac{\text{Precision}\cdot\text{Recall}}{\text{Precision}+\text{Recall}}\]
指標定義適用場景
Accuracy正確預測樣本數佔總樣本數比例類別分佈相對均衡時;嚴重類別不平衡時容易誤導(如 95% 樣本為負類,全預測負類準確率仍達 95%)
Precision預測為正類中,實際為正類的比例誤報代價高時(垃圾郵件分類、醫療誤診)
Recall實際正類中,被正確預測為正類的比例漏報代價高時(癌症偵測、詐騙偵測)
F1-scorePrecision 與 Recall 的調和平均需在兩者間取得平衡,且類別不平衡嚴重時
ROC-AUCROC 曲線(橫軸假正率、縱軸真正率)下的面積需綜觀整體預測能力、需調整分類閾值時;越接近 1 表示模型越好
⚠️ 易錯點

在嚴重類別不平衡的資料中,Accuracy 容易誤導判斷——即使模型什麼都不學、一律預測多數類別,Accuracy 仍可能高達 95% 以上。此時應改用 Precision、Recall、F1-score 或 ROC-AUC 等更能反映少數類別表現的指標。

3. 迴歸任務的評估指標

\[\text{MSE} = \frac{1}{n}\sum_{i=1}^n(y_i-\hat{y}_i)^2 \qquad \text{MAE} = \frac{1}{n}\sum_{i=1}^n|y_i-\hat{y}_i|\]
\[\text{RMSE} = \sqrt{\frac{1}{n}\sum_{i=1}^n(y_i-\hat{y}_i)^2}\]
\[R^2 = 1-\frac{\sum_{i=1}^n(y_i-\hat{y}_i)^2}{\sum_{i=1}^n(y_i-\bar{y})^2} = 1-\frac{RSS}{TSS}\]
指標特點適用情境
MSE對大誤差高度敏感,放大極端偏差影響需強調大誤差懲罰的任務(金融風險預測)
MAE對異常值較不敏感資料具偏態分佈或含少量極端值
RMSEMSE 的平方根,回到與目標變數相同單位模型精度整體衡量,廣泛用於報告與比較
R²(決定係數)衡量模型解釋目標變數變異的比例線性迴歸模型的快速評估;不適用於非線性或未標準化資料的比較
🎯 核心觀念

R² 的判讀:R²=1 表示模型能完全解釋資料變異;R²=0 表示模型僅與常數模型(直接預測平均值)同等表現;R²<0 表示模型比常數模型還差,可能發生在模型嚴重偏離資料趨勢或過度擬合時。

4. 模型比較與綜合評估策略

  • 指標組合與多角度觀察:分類任務結合 Accuracy、F1、ROC-AUC、混淆矩陣;迴歸任務綜合 MAE、RMSE、R²,避免單一指標掩蓋類別偏誤。
  • 類別不平衡處理:類別重加權(Class Weights)、過採樣(SMOTE)、異常值建模(Isolation Forest、One-Class SVM,將不平衡問題視為異常偵測任務)。
  • 業務導向自定義指標:風險導向任務(自定義誤判成本矩陣,強化高代價錯誤如漏診的懲罰)、商業任務(NDCG、Profit Score)。
  • 多輪驗證與穩定性觀察:K-fold 交叉驗證、重複交叉驗證(Repeated K-fold CV)、穩定性視覺化(箱型圖、平均排名圖)。

5. 交叉驗證家族

交叉驗證(Cross-Validation)透過多次切分資料反覆訓練與測試,更真實地衡量模型泛化能力,避免單次資料切分產生偏誤。

方法過程特點適用場景
K折交叉驗證(K-fold)資料平均分為 K 折,每次 1 折驗證、其餘 K-1 折訓練,重複 K 次取平均減少切分偏差,常見設定 K=5 或 10;計算成本為 K 倍中大型資料集,模型選擇與效能比較的標準方法
Stratified K-fold分層抽樣,確保每折類別比例與整體一致解決類別不均導致的評估失真類別分佈不均的分類問題(詐欺偵測、疾病分類)
LOOCV(Leave-One-Out CV)K=n(樣本數),每次僅留 1 筆驗證,其餘 n-1 筆訓練評估偏差最小,但計算成本極高,訓練 n 次樣本數極小但珍貴的情境(臨床研究)
Repeated K-fold標準 K-fold 基礎上多次隨機重劃並計算平均與變異評估結果更穩定,但計算成本更高調參流程、學術研究需報告標準差與置信範圍
🧠 記憶技巧

交叉驗證選擇口訣:「一般用 K-fold,類別不均用 Stratified,樣本超少用 LOOCV,追求穩定用 Repeated」。

📝 章節考題自測(先作答,再點開解答)

Q1. 在嚴重類別不平衡的資料集中(如 95% 為負類),下列哪一種評估指標最容易產生誤導?

(A) F1-score (B) Accuracy (C) ROC-AUC (D) Recall

解答與解析

參考 Ans: (B) 在嚴重類別不平衡的資料中,即使模型全部預測為多數類別,Accuracy 仍可能高達 95%,無法反映模型對少數類別的辨識能力,容易產生誤導。

Q2. 某分類模型的混淆矩陣為 TP=80, FP=20, FN=10, TN=90,請計算此模型的 Precision。

(A) 0.80 (B) 0.89 (C) 0.8 (D) 0.5

解答與解析

參考 Ans: (A) \(\text{Precision} = \dfrac{TP}{TP+FP} = \dfrac{80}{80+20} = \dfrac{80}{100} = 0.8\)。Precision 衡量被預測為正類中,實際為正的比例。

Q3. 承上題,請計算此模型的 Recall 與 F1-score(四捨五入至小數點後兩位)。

(A) Recall=0.89, F1=0.84 (B) Recall=0.80, F1=0.80 (C) Recall=0.89, F1=0.94 (D) Recall=0.5, F1=0.6

解答與解析

參考 Ans: (A) \(\text{Recall} = \dfrac{TP}{TP+FN} = \dfrac{80}{80+10} = \dfrac{80}{90} \approx 0.89\) \(F_1 = 2\times\dfrac{0.8\times0.89}{0.8+0.89} = 2\times\dfrac{0.712}{1.69} \approx 2\times0.4213 \approx 0.84\) F1-score 是 Precision 與 Recall 的調和平均,能同時反映兩者的平衡表現。

Q4. 某迴歸模型對 3 筆資料的實際值與預測值分別為:(10,12)、(20,18)、(30,33),請計算此模型的 MAE。

(A) 2.33 (B) 3.0 (C) 7.0 (D) 4.5

解答與解析

參考 Ans: (A) \(\text{MAE} = \dfrac{1}{3}(|10-12|+|20-18|+|30-33|) = \dfrac{1}{3}(2+2+3) = \dfrac{7}{3} \approx 2.33\) MAE 是所有預測誤差絕對值的平均,對每筆誤差一視同仁,不會像 MSE 那樣放大較大的誤差。

Q5. 承上題資料,請計算此模型的 MSE。

(A) 5.67 (B) 17 (C) 4.12 (D) 2.33

解答與解析

參考 Ans: (A) \(\text{MSE} = \dfrac{1}{3}\left[(10-12)^2+(20-18)^2+(30-33)^2\right] = \dfrac{1}{3}(4+4+9) = \dfrac{17}{3} \approx 5.67\) MSE 對較大誤差(此例中誤差 3 的平方為 9)的懲罰比 MAE 更重,這正是 MSE 與 MAE 選型時的關鍵差異。

Q6. 若一迴歸模型的 R² 值為 0,代表下列何種意義?

(A) 模型能完全解釋資料變異 (B) 模型表現等同於直接預測平均值的常數模型 (C) 模型比常數模型還差 (D) 模型完全沒有誤差

解答與解析

參考 Ans: (B) R²=0 表示模型僅與常數模型(直接預測平均值)同等表現;R²=1 表示完全解釋變異;R²<0 則代表模型比常數模型還差。

Q7. 交叉驗證中,哪一種方法在每次驗證中只留下一筆樣本作為驗證集,其餘皆用於訓練?

(A) K-fold (B) Stratified K-fold (C) LOOCV (D) Repeated K-fold

解答與解析

參考 Ans: (C) LOOCV(Leave-One-Out Cross-Validation)是 K-fold 的極端形式,當 K 等於樣本數 n 時,每次只留一筆做驗證,能最大化資料利用,但計算成本極高,不適用於大樣本情境。

Q8. 若資料集存在明顯的類別不平衡(如詐欺偵測中詐欺樣本僅佔 2%),進行交叉驗證時最適合採用下列哪一種方法?

(A) 標準 K-fold (B) Stratified K-fold (C) LOOCV (D) 全量訓練無需交叉驗證

解答與解析

參考 Ans: (B) Stratified K-fold 於劃分時確保每一折中各類別比例與整體資料集相符,特別適用於類別分佈不均的資料,能有效解決類別不均導致的模型評估失真問題。

Q9. 下列哪一項屬於「驗證集」在模型訓練流程中的正確用途?

(A) 訓練模型的主要參數 (B) 調整超參數並監控過擬合 (C) 作為最終上線效能評估依據 (D) 儲存原始資料備份

解答與解析

參考 Ans: (B) 驗證集用於調整超參數(如學習率、正則化係數)與監控訓練過程中的過擬合現象;測試集才是保留給模型訓練完成後、最終效能評估使用的資料集。