讀書筆記 (2):Deep Learning 模型訓練攻略 - 從資料切割到評估

|11 min read|Updated: |
AIDeep LearningModel TrainingNotes

接續上一篇 Deep Learning 的起點,在了解了基本概念與數學基礎後,這篇文章將進入實戰環節:如何訓練一個好的模型?

訓練模型不僅僅是 model.fit() 這麼簡單,更重要的是如何處理資料、如何診斷模型的健康狀況,以及如何解決 Overfitting 等常見問題。

1. The Deep Learning Workflow

一個完整的深度學習專案通常包含以下步驟:

Figure 1: The Deep Learning Workflow. 從資料收集、模型設計、訓練優化到最終評估的標準作業流程。

Note: 這是一個反覆迭代 (Iterative) 的過程,我們經常需要回到上一步重新調整。

  1. Data Collection & Preprocessing: 收集並清理資料,這是最耗時但也最重要的一步。
  2. Dataset Splitting: 將資料劃分為 Training, Validation 與 Test sets,確保評估的公正性。
  3. Model Design: 設計神經網路架構 (下一篇的主題)。
  4. Model Training: 使用訓練資料優化參數 (之後的主題)。
  5. Model Evaluation: 使用測試資料評估效能 (Accuracy, F1-score 等),確認模型是否能泛化到未知資料。
  6. Optimization & Tuning: 根據評估結果調整超參數 (Hyperparameters) 或策略,解決 Overfitting/Underfitting 問題。

2. Data Splitting

在訓練之前,最重要的一步就是把資料切分成三份。為什麼不全部拿來訓練?因為我們需要模擬「未知」的資料來測試模型的泛化能力 (Generalization)。

Figure 2: Data Splitting Strategy. 將資料劃分為 Training (學習)、Validation (調參) 與 Test (最終考驗) 三個獨立集合的重要性。

  • Training Set (訓練集): 讓模型看著學,調整權重 (Weights)。
  • Validation Set (驗證集): 像是模擬考。用來調整超參數 (Hyperparameters),例如 Learning Rate 或層數。
  • Test Set (測試集): 像是期末考。訓練過程中完全不能看,只能在最後用來評估真實效能。

3. Evaluation Metrics

模型訓練完後,我們需要量化它的表現。對於分類問題 (Classification),我們通常會先看 Accuracy (準確率),但在許多情況下(例如資料不平衡),單看準確率可能會誤導我們。

為了更全面地評估模型,我們不能只看「對了幾題」,還要看「是怎麼錯的」。這就需要引入 Confusion Matrix 的概念。

3.1 Confusion Matrix

Confusion Matrix (混淆矩陣) 是評估分類模型最基礎的工具,它將預測結果分為四類:

  • True Positive (TP): 預測是正例,實際上也是正例 (抓對了)。
  • True Negative (TN): 預測是負例,實際上也是負例 (沒亂抓)。
  • False Positive (FP): 預測是正例,但實際上是負例 (誤報/錯殺)。
  • False Negative (FN): 預測是負例,但實際上是正例 (漏報/漏抓)。

所有的進階指標 (Precision, Recall) 都是從這四個數字衍生出來的。

Figure 3: Confusion Matrix. 視覺化 TP, TN, FP, FN 的分佈,是計算 Precision 與 Recall 的基礎。

Goal: 我們的目標是最大化對角線上的數值 (TP, TN),並最小化非對角線的錯誤 (FP, FN)。

Table 1: Common Classification Metrics

MetricFormulaFocusUse Case
Accuracy(TP+TN)/Total(TP+TN) / Total整體預測對了多少?類別分佈平均時。
PrecisionTP/(TP+FP)TP / (TP+FP)預測為正的樣本中,有多少是真的正?寧可漏抓,不可錯殺 (例如:垃圾郵件過濾)。
RecallTP/(TP+FN)TP / (TP+FN)真正的正樣本中,有多少被抓出來了?寧可錯殺,不可漏抓 (例如:癌症篩檢)。
F1-Score2PrecisionRecallPrecision+Recall2 \cdot \frac{Precision \cdot Recall}{Precision + Recall}Precision 與 Recall 的調和平均。類別不平衡,或需要兼顧兩者時。

3.2 Choosing the Right Metric

不同的任務類型需要關注不同的指標,選錯指標可能會導致模型優化方向錯誤。

Table 2: Metrics by Task Type

Task TypeCommon MetricsWhen to use?
Regression
(回歸問題)
MSE (Mean Squared Error)最常用,對大誤差懲罰較重。
MAE (Mean Absolute Error)對 Outliers 較不敏感時使用。
R-squared (R2R^2)評估模型解釋了多少變異 (Goodness of Fit)。
Classification
(分類問題)
Accuracy資料分佈平均 (Balanced) 時。
F1-Score / ROC-AUC資料分佈不均 (Imbalanced) 時。
Precision / Recall對「誤判」或「漏判」有特殊偏好時。
Unsupervised
(非監督式學習)
Silhouette Score評估分群的凝聚度與分離度 (越接近 1 越好)。
Davies-Bouldin Index評估分群的緊密度 (越小越好)。

4. Overfitting and Underfitting

訓練過程中,我們最常遇到的兩個極端狀況:

Table 3: Diagnosing Model Performance

ConditionDescriptionSymptom (症狀)Solution (解法)
Underfitting
(欠擬合)
模型太簡單,連訓練資料的規律都抓不到。Training Loss 高
Validation Loss 高
1. 增加模型複雜度 (更多層/神經元)
2. 訓練久一點 (More Epochs)
Overfitting
(過擬合)
模型太強大,把訓練資料的雜訊都背下來了,導致無法泛化。Training Loss 低
Validation Loss 高
1. Data Augmentation
2. Regularization (L1/L2, Dropout)
3. Early Stopping

Figure 4: Model Fit Scenarios. 左圖 Underfitting (太簡單抓不到規律),右圖 Overfitting (太複雜連雜訊都學),中圖 Good Fit (適當的泛化能力)。

Goal: 我們的目標是找到中間的 Good Fit,即在 Training Loss 和 Validation Loss 之間取得平衡,既有足夠的學習能力,又能泛化到未知資料。

4.1 Learning Curves Diagnosis

透過繪製 Loss Curve,我們可以一眼看出模型的健康狀況:

Figure 5: Learning Curves Diagnosis. 透過 Training Loss 與 Validation Loss 的變化曲線,判斷模型是否發生 Overfitting (兩線分離) 或 Underfitting (兩線皆高)。

Ideal Curve: 理想的曲線應該是 Training 和 Validation Loss 都很低,且兩者之間的差距 (Gap) 很小。

5. Bias and Variance

這兩個概念其實對應著上面的 Underfitting 和 Overfitting,是從統計學的角度來看誤差。

Figure 6: Bias vs Variance Tradeoff. 靶心圖解:High Bias 代表預測偏離目標 (準確度低),High Variance 代表預測結果分散 (穩定性低)。

Ultimate Goal: 我們的終極目標是 Low Bias, Low Variance:既能準確命中紅心,表現又穩定一致。

  • High Bias (高偏差) \rightarrow Underfitting: 模型對資料有錯誤的假設(例如用直線去擬合曲線),導致準確度一直上不去。
  • High Variance (高變異) \rightarrow Overfitting: 模型對訓練資料太敏感,換一組資料預測結果就差很多。

6. Conclusion

這篇文章帶領大家走過了模型訓練的核心流程,從資料處理一路到成效評估。

  • Workflow: 建立標準化的訓練流程 (Data -> Design -> Train -> Evaluate)。
  • Data Splitting: 堅持 Train/Val/Test 的切割原則,確保評估的公正性。
  • Evaluation: 透過 Confusion Matrix 與各種 Metrics (Accuracy, F1, etc.) 全面檢視模型表現。
  • Diagnosis: 利用 Loss Curve 診斷 Overfitting/Underfitting,並找到 Bias 與 Variance 的平衡點。

掌握了這些內容後,下一篇我們將進入 Neural Networks 的內部世界,打開這個黑盒子,了解 PerceptronMLP 以及賦予網路靈魂的 Activation Function


Note: 本文內容整理自「深度學習介紹」課程講義,由 AI 輔助撰寫,並經人工審核確保正確性。

Checkpoint重點複習