机器学习进阶文档深度页
过拟合诊断与解决顺序
先排除欠拟合、泄漏和分布变化,再用训练/验证差距、折间波动与学习曲线确认过拟合。
学习前需要掌握
偏差方差内容待补充交叉验证
背景与问题
验证差也可能是标签错、特征不足、时间漂移或划分不代表真实使用,不能立刻加正则。
概念定义
过拟合是学到无法推广的训练细节;泛化差距是信号而非跨任务固定阈值。
直观理解
先排除考试流程作弊和题型变化,再判断是不是背题。
核心原理
通用顺序:审计划分→检查分布/标签→同折比较→清理噪声→降低复杂度/增强正则→增加代表性数据。
数学表达
核心表达
通用顺序:审计划分→检查分布/标签→同折比较→清理噪声→降低复杂度/增强正则→增加代表性数据。
变量含义
变量定义与本页概念定义一致,代码中的同名变量保持相同语义。
计算步骤
- 1同时记录训练验证
- 2检查泄漏
- 3检查时间/来源变化
- 4学习曲线
代码对应位置
示例 1过拟合诊断与解决顺序 示例:对应文档中的可靠评价或训练流程。
计算与实现步骤
- 1
同时记录训练验证
- 2
检查泄漏
- 3
检查时间/来源变化
- 4
学习曲线
- 5
按模型识别复杂度参数
- 6
CV 验证改进
- 7
最终测试
代码实现
示例 1
过拟合诊断与解决顺序 示例
过拟合诊断与解决顺序 示例
scikit-learn
example_01.py用途:对应文档中的可靠评价或训练流程。
r=cross_validate(model,X,y,cv=5,return_train_score=True)
print(r["train_score"].mean()-r["test_score"].mean())代码解析
解析始终位于完整代码下方,并按实际代码段逐项对应。
输入数据与任务
对应文档中的可靠评价或训练流程。
X- 完整特征矩阵,每行一个样本、每列一个特征。
y- 目标标签或连续目标值。
model- 组合预处理和估计器的模型对象。
mean- 训练特征逐列均值。
Step 1 · 1–2 行
只从训练数据逐列计算均值与标准差,对应标准化公式中的 μ 和 σ。
r=cross_validate(model,X,y,cv=5,return_train_score=True)
print(r["train_score"].mean()-r["test_score"].mean())代码与数学原理
减去训练均值并除以训练标准差,对应代码中的 mean/std 或 StandardScaler。
预期输出或运行结果
输出平均训练与验证分数差距。
常见错误 · 4 条
- 不要在测试集上调用 fit 或 fit_transform;测试集只能复用训练参数。
- 训练 100% 即过拟合
- 差距小即好
- 测试集验证每次修正
实际应用
- 所有监督模型
- 复杂度控制
常见错误
训练 100% 即过拟合
差距小即好
测试集验证每次修正
文档来源
12|过拟合:诊断与解决方法原始文档
学习资料/learning_tech/12_overfitting_solutions.md- §1 什么是过拟合
- §2 先排除其他问题
- §3 可靠诊断
- §4 通用解决顺序
- §15 各模型优先调整什么
推荐学习资料
暂未收录相关资料
参考库不会生成虚假资源或无效外部链接。