基礎知識指南

交叉驗證

交叉驗證是一種重採樣技術,用於估計模型對未見過的資料的泛化能力。

概述

交叉驗證是一種重採樣技術,用於估計模型對未見過的資料的泛化能力。它可以更好地利用有限的數據,並提供比單一訓練/測試分割更可靠的效能估計。

交叉驗證位於核心人工智慧工具包。當你理解它時,其他人工智慧主題就變得更容易評估和比較。

深入探討

單一訓練/測試分割是脆弱的:您獲得的分數在很大程度上取決於哪些行恰好落在測試集中。交叉驗證透過輪換測試集的角色來解決這個問題。在 k 折交叉驗證中,您將資料分成 k 個相等的折疊,對其中的 k-1 個進行訓練,對保留的折疊進行評估,然後重複 k 次,以便每一行都被精確測試一次。對 k 分數進行平均可以得到更穩定的估計值以及變異性的測量。常見的選擇是 5 折或 10 折。變體包括分層 k 折(保留不平衡資料的類別比例)、留一法(k 等於樣本數)以及從不訓練未來來預測過去的時間序列分割。

技術洞察

交叉驗證對於模型選擇和超參數調整來說是最強大的:您可以透過平均驗證分數來比較配置,而不是過度擬合一個分割。一個關鍵的陷阱是資料外洩——任何「看到」整個資料集的預處理(縮放、特徵選擇、插補)都必須適合每個折疊,而不是在分割之前,否則你的估計將出現樂觀偏差。嵌套交叉驗證將調整與最終評估分開,以避免這種洩漏。

掌握交叉驗證

交叉驗證是一種重採樣技術,用於估計模型對未見過的資料的泛化能力。它可以更好地利用有限的數據,並提供比單一訓練/測試分割更可靠的效能估計。交叉驗證位於核心人工智慧工具包。當你理解它時,其他人工智慧主題就變得更容易評估和比較。為了建立深入的理解,請將交叉驗證視為一種操作模型,而不是單一功能:定義期望的結果,澄清假設,並將系統可以可靠地執行的操作與仍需要專家判斷的操作分開。

在實踐中,使用交叉驗證的強大團隊首先建立強大的概念模型,然後將這些模型對應到實際的生產限制。他們記錄明確的成功標準,根據實際數據和工作流程進行測試,並根據觀察到的失敗模式而不是一次性基準測試勝利進行迭代。這就是理論理解轉變為跨產品、政策和營運的持久能力的地方。

它可以幫助您將清晰的技術聲明與行銷語言分開。同時,不同的團隊可能會以不同的方式使用相同術語,因此請儘早定義範圍。最具彈性的方法是將實驗速度與治理規則結合:運行試點、捕獲證據、發布決策日誌,並隨著模型行為、使用者期望和監管要求的發展不斷更新保障措施。

戰略影響

它可以幫助您將清晰的技術聲明與行銷語言分開。

它可以幫助您將清晰的技術聲明與行銷語言分開。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。

在花費金錢或時間之前,您可以提出更好的實施問題。

在花費金錢或時間之前,您可以提出更好的實施問題。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。

具有共同理解的團隊可以做出更好的產品、政策和學習決策。

具有共同理解的團隊可以做出更好的產品、政策和學習決策。在高品質部署中,這會轉化為可衡量的操作規則、所有權邊界和定期審查儀式,以便團隊可以增強信心,而不是擴大模糊性。

交叉驗證的未來

隨著資料集和模型的成長,運行 k 個完整的訓練週期變得昂貴,因此從業者越來越傾向於使用單一大型保留驗證集進行深度學習,同時為小型或表格資料集保留交叉驗證。預設情況下,自動化 ML 和 scikit-learn 的 GridSearchCV 和 Optuna 等工具會將交叉驗證融入超參數搜尋。對更便宜的近似、防洩漏管道以及分組、分層和時間相關數據的正確驗證的研究仍在繼續。

現實世界的實施

在採用一種模型之前,使用 5 倍交叉驗證來比較邏輯迴歸、隨機森林和梯度提升。

在不平衡的詐欺偵測資料集上套用分層 k 折疊,使每個折疊保持大致相同的稀有類別比例。

執行 GridSearchCV 或 RandomizedSearchCV,交叉驗證每個超參數組合以選擇最佳設定。

使用時間序列(滾動/前向連結)交叉驗證來評估庫存或需求預測器,而無需對未來數據進行培訓。

實施模式

實踐中的交叉驗證

在採用一種模型之前,使用 5 倍交叉驗證來比較邏輯迴歸、隨機森林和梯度提升。

在採用一種模型之前,使用 5 倍交叉驗證來比較邏輯迴歸、隨機森林和梯度提升。當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移追蹤生產力增益和錯誤成本時,通常會獲得更好的結果。

實踐中的交叉驗證

在不平衡的詐欺偵測資料集上套用分層 k 折疊,使每個折疊保持大致相同的稀有類別比例。

在不平衡的詐欺偵測資料集上套用分層 k 折疊,使每個折疊保持大致相同的稀有類別比例。當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移追蹤生產力增益和錯誤成本時,通常會獲得更好的結果。

實踐中的交叉驗證

執行 GridSearchCV 或 RandomizedSearchCV,交叉驗證每個超參數組合以選擇最佳設定。

運行 GridSearchCV 或 RandomizedSearchCV,交叉驗證每個超參數組合以選擇最佳設定當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移跟踪生產力增益和錯誤成本時,通常會獲得更好的結果。

實踐中的交叉驗證

使用時間序列(滾動/前向連結)交叉驗證來評估庫存或需求預測器,而無需對未來數據進行培訓。

使用時間序列(滾動/前向連結)交叉驗證來評估庫存或需求預測器,而無需對未來數據進行培訓。當團隊預先定義品質閾值、為邊緣情況保留人工升級路徑並隨著時間的推移追蹤生產力增益和錯誤成本時,通常會獲得更好的結果。

風險與防護欄

!

不同的團隊可能會以不同的方式使用相同術語,因此請儘早定義範圍。

!

基準測試可能看起來很強大,但實際效能卻參差不齊。

!

忽視數據品質和評估計劃通常會產生脆弱的結果。

實施路線圖

1

從您需要的結果的簡單語言定義開始。

從您需要的結果的簡單語言定義開始。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

2

在測試之前選擇一種成功指標和一種失敗條件。

在測試之前選擇一種成功指標和一種失敗條件。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

3

使用代表性資料運行小型試點,而不是完善的演示集。

使用代表性資料運行小型試點,而不是完善的演示集。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

4

記錄交叉驗證在哪些方面有幫助以及在哪些方面更簡單的方法更好。

記錄交叉驗證在哪些方面有幫助以及在哪些方面更簡單的方法更好。將每個步驟視為證據門:如果不符合標準,則暫停推出,縮小差距,然後再擴大使用。

不斷探索