Zubnet AI學習Wiki › Cross-Validation
訓練

交叉驗證

別名:K-Fold CV、留一法
一種在沒有足夠資料建立獨立測試集時評估模型效能的技術。K 折交叉驗證將資料分成 K 等份,用 K−1 份進行訓練並在剩餘一份上評估,輪轉 K 次使每個資料點都被用於訓練和評估。所有 K 折的平均分數比單次訓練/測試分割提供更可靠的效能估計。

為什麼重要

當資料稀少時,交叉驗證至關重要——如果你只有 500 個樣本,留出 100 個用於測試意味著訓練資料減少 20%。交叉驗證讓所有資料同時用於訓練和評估。它還能給你一個信賴區間(各折之間的變異數),而非單一數字,告訴你模型效能的穩定性。

深度解析

5 折 CV:將資料分成 5 份。用第 1-4 份訓練,在第 5 份上評估。然後用第 1-3+5 份訓練,在第 4 份上評估。對所有 5 折重複。平均 5 個評估分數。結果比單次 80/20 分割更可靠,因為它對特定分割具有穩健性——一個「幸運」或「不幸」的測試集不會扭曲結果。各折之間的標準差表示可靠性。

分層 K 折

對於類別不平衡的分類問題(罕見疾病:5% 陽性,95% 陰性),隨機分割可能將所有陽性樣本放在同一折中。分層 K 折確保每一折的類別分佈與整體資料集相同。這防止了沒有陽性樣本的折(對評估無用),並為少數類別提供更可靠的效能估計。分類問題務必使用分層 K 折。

何時不使用

交叉驗證的計算成本高昂(K 倍的訓練成本),且很少用於大型模型。對 7B 模型進行 5 次微調以實現 5 折 CV 是不切實際的。對於 LLM,標準做法是使用單一保留驗證集,因為:資料集大到足以進行可靠的單次分割評估、訓練成本高昂、且模型的預訓練表示使其對特定訓練分割不太敏感。交叉驗證對使用傳統機器學習模型的小型資料集最有價值。

← 所有術語
ESC