机器学习入门文档深度页
偏差、方差与学习曲线
高偏差表现为训练验证都差,高方差表现为训练好而验证落后;学习曲线观察数据量增加时二者变化。
学习前需要掌握
训练验证内容待补充过拟合内容待补充
背景与问题
一次训练无法精确拆分偏差方差,但训练/验证差距、多折波动和学习曲线提供诊断信号。
概念定义
偏差是模型系统性不足,方差是对训练样本变化过于敏感,不可消除噪声构成误差下限。
直观理解
偏差是总用过于简单的答案,方差是换一套练习题就完全改变解法。
核心原理
两曲线都低且靠近提示高偏差;训练高验证低且差距随数据缩小,更多代表性数据可能有效。
数学表达
核心表达
两曲线都低且靠近提示高偏差;训练高验证低且差距随数据缩小,更多代表性数据可能有效。
变量含义
变量定义与本页概念定义一致,代码中的同名变量保持相同语义。
计算步骤
- 1计算训练/验证分数
- 2观察差距
- 3多折检查波动
- 4绘制不同训练量曲线
代码对应位置
示例 1偏差、方差与学习曲线:最小可验证示例:把正文原理映射为可检查的代码行为。
计算与实现步骤
- 1
计算训练/验证分数
- 2
观察差距
- 3
多折检查波动
- 4
绘制不同训练量曲线
- 5
结合基线诊断
- 6
选择模型/数据策略
代码实现
示例 1
偏差、方差与学习曲线:最小可验证示例
偏差、方差与学习曲线:最小可验证示例
Python
example_01.py用途:把正文原理映射为可检查的代码行为。
from sklearn.model_selection import learning_curve
sizes, train, valid = learning_curve(model, X, y, cv=5)
print(train.mean(1), valid.mean(1))代码解析
解析始终位于完整代码下方,并按实际代码段逐项对应。
输入数据与任务
把正文原理映射为可检查的代码行为。
X- 完整特征矩阵,每行一个样本、每列一个特征。
y- 目标标签或连续目标值。
model- 组合预处理和估计器的模型对象。
mean- 训练特征逐列均值。
Step 1 · 1–3 行
导入当前步骤需要的数值计算、预处理、模型或评价工具。依赖集中写在代码开头,便于复现。
from sklearn.model_selection import learning_curve
sizes, train, valid = learning_curve(model, X, y, cv=5)
print(train.mean(1), valid.mean(1))代码与数学原理
减去训练均值并除以训练标准差,对应代码中的 mean/std 或 StandardScaler。
预期输出或运行结果
输出不同训练样本量对应的平均训练和验证分数。
常见错误 · 4 条
- 不要在测试集上调用 fit 或 fit_transform;测试集只能复用训练参数。
- 差距小就说模型好
- 只看一折
- 数据分布变化被误判为方差
实际应用
- 复杂度诊断
- 判断增加数据是否有益
常见错误
差距小就说模型好
只看一折
数据分布变化被误判为方差
文档来源
01|数学与数据基础原始文档
学习资料/learning_tech/01_math_data_foundations.md- §8 偏差与方差
- 用学习曲线进一步判断
推荐学习资料
暂未收录相关资料
参考库不会生成虚假资源或无效外部链接。