返回 经典机器学习 思维导图
中文·English
📊 经典机器学习ID: cross-validation

K-Fold 交叉验证

K-Fold Cross-Validation
🎯核心定义
K-Fold 交叉验证把数据集平均分成 K 份,轮流用 K-1 份训练、1 份验证,误差估计为各折验证误差的平均 E^=1Kk=1KEk\hat{E} = \frac{1}{K}\sum_{k=1}^{K} E_k,其中 EkE_k 是第 k 折的验证误差。三个关键变体: 分层 K-Fold (Stratified, 每折类别比例与总体一致, 分类必用)、Group K-Fold (同一组样本如同一用户/同一次实验不跨折, 防组内相关性泄漏)、留一法 (LOOCV, K=N)。偏差-方差权衡: K 越大训练数据越多、估计偏差越低,但各折训练集重叠越大、估计方差越高,K=5 或 10 是常用折中。
💡使用场景
数据量有限时评估模型泛化能力; 超参数调优、模型选择、特征选择时横向对比不同配置 (CV 分数选最优); 面试常问 K 怎么选、分层与 Group 的区别、CV 误差与训练误差对比如何判断过拟合。
解决的核心痛点
单一 holdout 切分依赖运气、结果方差大(同一模型不同切分分数可差数个点); K-Fold 让每个样本恰好被验证一次,误差估计更稳定可信; 相比 LOOCV(O(N)O(N) 次训练, 计算成本高且方差大), K-Fold 在偏差与方差之间取得折中, 是机器学习评测与选型的默认标准。
🎯5 个高频面试考点 (Exam Points)
1
写出 K-Fold 误差估计公式 E^=1Kk=1KEk\hat{E} = \frac{1}{K}\sum_{k=1}^{K} E_k 并说明: 为什么 K=5/10 比 LOOCV 更常用(偏差-方差角度)?
2
分层 K-Fold 与普通 K-Fold 的区别? 分类数据为什么不分层会出问题? 什么场景必须用 Group K-Fold?
3
为什么 K 越大偏差越低、方差越高? 各折训练集重叠度如何影响方差?
4
交叉验证与数据泄漏的关系: 为什么标准化、缺失值填充、特征选择都必须在每一折内部完成?
5
训练误差远低于交叉验证误差能说明什么? 交叉验证误差与测试误差的关系是什么?
📖 关联深度指南:📄 ml-math-and-eval-metrics
更新于 2026-08-12
🎯
检验攻克程度:针对「K-Fold 交叉验证」专属刷题排雷
做单选排雷题、推导选项机制,答错自动收录进专属错题本。
🚀 开始本考点专项刷题
上一个知识点概率校准下一个知识点时序交叉验证

🔗 更多 经典机器学习 知识点卡片

AdaBoost 算法手推Bagging 与随机森林HMM 参数学习 Baum-WelchGBDT 负梯度拟合