測試資料集(Test Set)

測試資料集用於評估模型在未見過資料上的泛化能力,是模型效能的最終指標,在模型部署前使用。

完整說明

核心概念

測試資料集是評估機器學習模型效能的最後一道防線。在模型訓練和驗證階段,我們使用訓練資料集讓模型學習資料中的模式,並使用驗證資料集調整模型的超參數,以提高模型的泛化能力。然而,即使模型在驗證資料集上表現良好,也不能保證模型在未見過的資料上也能表現良好。這是因為驗證資料集可能與訓練資料集存在相似性,或者驗證資料集本身存在偏差。

測試資料集的作用是提供一個完全獨立的資料集,用於評估模型在未見過的資料上的表現如何。測試資料集上的效能可以作為模型泛化能力的最終指標。只有在測試資料集上表現良好的模型,才能被認為是可靠的,並可以部署到實際應用中。

測試資料集應該具有與真實世界資料相似的分布。如果測試資料集存在偏差,例如包含與訓練資料集不同的資料類型或特徵,則測試結果可能不準確,導致模型在實際應用中表現不佳。因此,在建立測試資料集時,需要仔細考慮資料的代表性和分布,以確保測試結果的可靠性。

運作原理

測試資料集通常從原始資料集中劃分出來。常見的劃分比例是訓練資料集佔70-80%,驗證資料集佔10-15%,測試資料集佔10-15%。

在模型訓練和驗證完成後,我們使用測試資料集來評估模型的最終效能。我們將測試資料集輸入到模型中,並將模型的輸出與真實標籤進行比較,以計算模型的效能指標,例如準確率、精確率、召回率、F1分數等等。

測試資料集只能使用一次。如果在測試資料集上調整模型的超參數,會導致測試結果不準確,因為模型已經見過測試資料集。因此,在測試資料集上調整超參數是不允許的。

具體步驟如下:

  1. 資料集劃分: 將原始資料集劃分為訓練集、驗證集和測試集。
  2. 模型訓練: 使用訓練集訓練模型。
  3. 模型驗證: 使用驗證集評估模型效能,並調整超參數。
  4. 模型測試: 使用測試集評估模型的最終效能。

實際應用

測試資料集廣泛應用於各種機器學習任務中,例如:

  • 影像分類: 在訓練影像分類模型後,可以使用測試資料集來評估模型在未見過的影像上的分類準確率。
  • 自然語言處理: 在訓練自然語言處理模型後,可以使用測試資料集來評估模型在未見過的文本上的翻譯品質或情感分析準確率。
  • 推薦系統: 在訓練推薦系統模型後,可以使用測試資料集來評估模型在未見過的用戶和商品上的推薦準確率。
  • 時間序列預測: 在訓練時間序列預測模型後,可以使用測試資料集來評估模型在未見過的未來時間點上的預測準確率。

在模型部署之前,必須使用測試資料集來評估模型的效能,以確保模型在實際應用中能夠達到預期的效果。如果模型在測試資料集上表現不佳,則需要重新訓練模型或調整模型的超參數。

常見誤區

  • 將測試資料集用於訓練: 測試資料集只能用於評估模型的最終效能,不能用於訓練模型。如果將測試資料集用於訓練模型,會導致測試結果不準確。
  • 測試資料集過小: 如果測試資料集過小,則測試結果可能不具有代表性。建議測試資料集的大小至少佔原始資料集的10%。
  • 在測試資料集上調整超參數: 測試資料集只能使用一次,不能用於超參數調整。如果在測試資料集上調整超參數,會導致測試結果不準確。
  • 忽略測試集的偏差: 測試資料集應該具有與真實世界資料相似的分布。如果測試資料集存在偏差,則測試結果可能不準確,導致模型在實際應用中表現不佳。因此,在建立測試資料集時,需要仔細考慮資料的代表性和分布,以確保測試結果的可靠性。
  • 過度依賴測試集分數: 雖然測試集分數是評估模型的重要指標,但不應過度依賴。還需要考慮模型的其他方面,例如可解釋性、計算成本和部署難度。一個在測試集上表現略差但更易於理解和部署的模型,可能比一個在測試集上表現更好但難以理解和部署的模型更具價值。

相關術語

常見問題

延伸學習

深入了解 測試資料集 的完整運作原理

延伸學習

想看 測試資料集 的完整影片教學?前往 美第奇 AI 學院