iT邦幫忙

2025 iThome 鐵人賽

0
AI & Data

從入門村到最終 BOSS:30 天打通深度學習主線系列 第 23

Day 23:混淆矩陣診斷與模型訓練狀態分析

  • 分享至 

  • xImage
  •  

我們在測試集上確認了 ResNet34 是我們的冠軍模型。今天,我們將使用兩大評估工具——混淆矩陣 (Confusion Matrix) 和 ROC 曲線 (Receiver Operating Characteristic),對模型進行最深入的診斷,找出模型的優勢與盲點。最後,我們將把冠軍模型部署到 Hugging Face Spaces 平台。

一、混淆矩陣分析:找出模型的盲點
單純的「準確度」無法告訴我們模型錯在哪裡。混淆矩陣詳盡地展示了每個類別被誤判到其他類別的具體數量,是診斷模型盲點的利器。我使用 Fast.ai 的 ClassificationInterpretation 類來生成冠軍模型 ResNet34 的混淆矩陣。

# 對訓練好的 ResNet34 進行解釋並計算矩陣
interp_resnet = ClassificationInterpretation.from_learner(learn_resnet)

# 繪製混淆矩陣
interp_resnet.plot_confusion_matrix(figsize=(8, 8))

https://ithelp.ithome.com.tw/upload/images/20251106/20153667czepvEJXGr.jpg

我順便做另外兩個的混淆矩陣,可以拿來參考~

https://ithelp.ithome.com.tw/upload/images/20251106/20153667uf39a677RB.jpg

https://ithelp.ithome.com.tw/upload/images/20251106/20153667I4SS2d5PXK.jpg

  1. 誤判案例診斷與分析
    分析混淆矩陣的結果,我們發現模型的主要誤判集中在視覺特徵相似的類別:
    最容易被錯誤分類的類別是:「沙塵暴 Sandstorm」。
    VGG16 的主要問題: 多達 23 張 Tsunami 圖像被錯判為 Sandstorm,表明 VGG16 對於海嘯特徵(如海霧)與沙塵暴的沙塵區分不夠精細。
    ResNet34/EffNet 的問題: 誤分類多集中於 Tornado → Sandstorm,可能是因為兩類影像在輪廓與色調上過於接近(如灰黃塵霧、模糊遠景)。

二、訓練狀態診斷:過度擬合分析

什麼是過度擬合 (Overfitting)?
過度擬合 (Overfitting) 是機器學習中一種常見的現象,指的是模型在訓練集上表現得非常好,甚至能達到幾乎完美的準確率,但對**未見過的數據(例如驗證集或測試集)的表現卻很差。你可以將過度擬合想像成學生「死記硬背」教科書上的每一個細節和錯誤,而非「理解」**核心概念。

在深度學習中,當模型過度擬合時,它開始學習訓練數據中的噪聲 (Noise) 或不相關的細節。這導致模型的泛化能力 (Generalization ability) 下降,無法將所學知識成功應用到現實世界的新數據上。

我們的目標是訓練出一個泛化能力強的模型,因此必須透過觀察訓練和驗證損失曲線(如 Day 23 所見),在模型開始過度擬合時,立即實施早期停止 (Early Stopping),以鎖定具有最佳泛化性能的權重。
https://ithelp.ithome.com.tw/upload/images/20251106/20153667BND3SuJPci.jpg
舉Resnet 為例子:

https://ithelp.ithome.com.tw/upload/images/20251106/2015366709dH8pIbDb.jpg
這種 「訓練損失持續下降,但驗證損失停止改善(甚至微弱上升)」 的趨勢,正是過度擬合 (Overfitting) 的典型訊號。模型已經學得太過細節化,開始記住訓練集的雜訊,犧牲了對一般數據的適應性。

最終決策 (早期停止):

為了獲得最穩定的泛化能力,我們必須實施 早期停止 (Early Stopping) 原則。我們選用 驗證損失達到最低點時 的權重(大約在第 4 Epoch),而非訓練結束時的權重。這確保了我們選出的 ResNet34 冠軍模型是最穩定、泛化能力最強的版本。


上一篇
Day 22:最終測試
下一篇
Day 24:ROC 曲線分析
系列文
從入門村到最終 BOSS:30 天打通深度學習主線30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言