Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Bias-Variance Tradeoff

偏差-方差权衡将期望预测误差分解为偏差、方差和噪声,解释了为什么过于简单和过于复杂的模型都会失效。

偏差—方差权衡描述了模型在新数据上的预期误差如何分为两部分,而这两部分会随着模型复杂度的变化朝相反方向变化。偏差是由过于简单、无法捕捉真实规律的假设造成的误差,会导致欠拟合。方差是模型对特定训练数据过于敏感而产生的误差,会导致过拟合。提高模型灵活性通常会降低偏差、提高方差,因此总误差最低点位于中等复杂度。Stuart Geman、Elie Bienenstock 和 René Doursat 在 1992 年的论文《神经网络与偏差—方差困境》中,将这一概念引入机器学习。

误差分解#

该分解考察同一类模型多次训练的情况,每次都使用从同一来源抽取的新训练集。对于平方误差,某个输入的预期误差恰好可以分解为三项。偏差平方是所有这些训练集上的平均预测值与真实值之间的平方差;拟合弯曲关系的线性回归无论看到多少数据,偏差都很高。方差衡量不同训练集产生的预测值围绕其平均值的离散程度;深层决策树和大型、未正则化的神经网络方差都很高。第三项是不可约噪声,也就是标签本身的随机性,任何模型都无法消除。

重复拟合可以直接测量这两项。下面的 NumPy 示例从正弦波中抽取 1,000 个训练集,每个训练集包含 20 个带噪点,并分别拟合 1、3 和 12 次多项式:

import numpy as np

rng = np.random.default_rng(0)
x = np.linspace(0, 1, 20)  # 20 training inputs, evenly spaced
x_test = np.linspace(0, 1, 200)
true_curve = np.sin(2 * np.pi * x_test)

for degree in [1, 3, 12]:
    # Fit the same polynomial degree to 1,000 training sets that differ only in their label noise
    predictions = []
    for _ in range(1000):
        y = np.sin(2 * np.pi * x) + rng.normal(0, 0.3, x.size)
        predictions.append(np.polyval(np.polyfit(x, y, degree), x_test))
    predictions = np.array(predictions)

    # Bias^2: squared gap between the average fit and the truth; variance: spread of fits around their average
    bias_sq = np.mean((predictions.mean(axis=0) - true_curve) ** 2)
    variance = np.mean(predictions.var(axis=0))
    print(f"Degree {degree:2d}: bias^2 = {bias_sq:.3f}, variance = {variance:.3f}")

直线的偏差平方为 0.205,方差仅为 0.008。三次多项式的平均预测几乎与正弦曲线完全吻合,偏差平方降至 0.005,方差则翻倍至 0.016。12 次多项式没有可测量的偏差,但方差为 0.074,因为它会弯曲以拟合每个样本中的噪声。三次多项式的总误差最低,而每个模型还都受到 0.09 的不可约噪声方差影响。

诊断偏差与方差#

训练误差和验证误差可以揭示哪一项占主导地位。两者都很高,说明偏差较高;训练误差低而验证误差高得多,则说明方差较高。绘制训练和验证误差随训练数据量变化的学习曲线,可以区分这两种情况:随着数据增加,高方差模型的误差差距会缩小;而高偏差模型的两条曲线会较早在高误差处汇合,并保持不变。在 Ultralytics YOLO 训练中,fraction 参数会让模型使用训练划分的一部分进行训练,例如 fraction=0.25 表示使用前四分之一的图像,而验证仍使用完整的验证划分。因此,可以通过以递增比例运行几次 YOLO26 训练,为自定义数据集绘制学习曲线。

控制权衡#

增加数据、进行数据增强、采用权重衰减和丢弃法等正则化、提前停止,以及对多个模型求平均,都能降低方差;集成学习中的装袋法和随机森林就是这样做的。增大模型、丰富特征工程、减弱正则化、延长训练时间和使用提升法都能降低偏差;提升法会添加模型来纠正当前集成的错误。超参数调优和交叉验证则用于选择能让这两项在留出数据上达到平衡的设置。

测试误差随复杂度变化的经典 U 形曲线适用于固定模型系列,例如次数逐渐增加的多项式。参数过多的神经网络可能超出这种情况:随着模型接近能够完美拟合每个训练点的规模,测试误差会先上升;模型继续增大后,测试误差又会下降,这种现象称为双重下降。此时偏差和方差仍然相加构成误差,但方差不再随着参数量持续增长。

统计偏差与其他类型的偏见#

此处权衡中的偏差,是学习算法在特定任务上的属性。AI 偏见指对特定人群的系统性不公平;数据集偏差则指训练数据无法准确反映实际部署环境,例如夜间交通影像不足。模型的统计偏差可以很低,但仍然不公平,因为它可能精准拟合有偏的数据集,包括其中的偏差。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来