Ultralytics YOLO27:
获取 YOLO 许可
返回 Ultralytics 术语表

Overfitting

过拟合是指模型连同噪声一起记住训练数据,导致无法处理新数据。了解如何识别过拟合,以及防止过拟合的方法。

当机器学习模型对训练数据拟合得过于紧密,以至于除了真实模式之外,还学到了特定样本中的噪声和偶然特征时,就会发生过拟合。过拟合模型在训练数据上得分很高,在新数据上的表现却明显更差,这种差距的大小反映了过拟合的严重程度。从偏差-方差的角度来看,过拟合属于高方差:模型的预测过度依赖它碰巧见过的具体样本。

识别过拟合#

典型迹象是训练集与验证集表现之间的差距不断扩大。按训练轮次绘制的学习曲线中,训练损失会持续下降,而验证损失先趋于平稳、随后上升;平均精度均值(mAP)等验证指标则会停滞或下降。一个经典的小规模演示是:对从正弦波中采样的 12 个含噪点拟合两个不同次数的多项式:

import numpy as np
from numpy.polynomial import Polynomial

rng = np.random.default_rng(0)

# 12 noisy training points from a sine wave, plus clean test points
x_train = rng.uniform(0, 1, 12)
y_train = np.sin(2 * np.pi * x_train) + rng.normal(0, 0.2, 12)
x_test = np.linspace(0, 1, 200)
y_test = np.sin(2 * np.pi * x_test)

for degree in (3, 9):
    fit = Polynomial.fit(x_train, y_train, degree)
    train_mse = np.mean((fit(x_train) - y_train) ** 2)
    test_mse = np.mean((fit(x_test) - y_test) ** 2)
    print(f"Degree {degree:2d}: train MSE {train_mse:.4f}, test MSE {test_mse:.4f}")

9 次多项式有足够的灵活性来贴合噪声,使训练误差从 0.0356 降至 0.0148,但测试误差却增加了十倍,从 0.0182 升至 0.1859。

过拟合与欠拟合#

欠拟合则是相反的问题:模型过于简单或训练时间过短,无法捕捉数据中的模式,因此在训练数据和验证数据上的表现都很差。比较两种误差可以区分这两种情况,并指出不同的解决方法。

常见原因#

  • 模型容量相对于数据量过大:一个拥有数百万参数的神经网络可以直接记住几百张图像。
  • 噪声数据或错误标注的数据:缺失的框、错误的类别和离群值会让模型去拟合现实世界中并不存在的错误。
  • 训练时间过长:学到有用模式后,继续训练的轮次大多只会拟合剩余噪声。
  • 训练数据范围狭窄:仅使用单个摄像头的白天图像训练的检测器,可能会依赖该摄像头的背景和光照特征,从而漏掉新地点的目标。

防止过拟合#

  • 增加更多样的数据:增加真实样本是最直接的解决方法,而数据增强则通过翻转、缩放、重新着色和混合现有图像来增加多样性。
  • 正则化:权重衰减会惩罚较大的权重,而丢弃法会在训练过程中随机停用单元,避免任何单一特征变得不可或缺。
  • 使用更小的模型或预训练模型:较小的模型不容易记住数据,而使用冻结早期层的迁移学习可以减少需要从小型数据集中学习的权重数量。
  • 提前停止:每个训练轮次后都在验证数据上评估,一旦分数不再提升就停止训练,可以避免模型继续拟合噪声。
  • 诚实评估:在小型数据集上,交叉验证能更可靠地估计泛化误差,而独立的测试集则能发现模型在超参数调优过程中对验证数据的过拟合。

Ultralytics YOLO 训练通过 patience 参数实现提前停止:如果验证集适应度(检测任务中的 mAP50-95)连续指定轮数没有提升,训练就会结束;即使训练运行到最后,它也会将最佳轮次的权重保存为 best.pt。

from ultralytics import YOLO

# 加载预训练的 YOLO26n 模型
model = YOLO("yolo26n.pt")

# 最多训练 100 个轮次,但验证指标连续 20 个轮次没有提升时就停止
results = model.train(data="coco8.yaml", epochs=100, patience=20)

默认值为 patience=100;对于少于 1,000 张图像的数据集,YOLO26 的微调指南建议使用 epochs=50 和 patience=20。

  • 数据泄漏:训练数据与评估数据重叠,从而掩盖了过拟合。如果同一视频中的近似重复帧同时进入训练集和验证集,即使模型记住了训练集,在验证集上仍然能取得不错的分数,而问题只有在部署后才会显现。按视频或场景划分数据可以避免这种情况。
  • 捷径学习:模型依赖水印或背景等虚假线索,而这些线索同时存在于训练数据和验证数据中。验证分数看起来正常,但在缺少该线索的新数据上,模型就会失效。

Explore solutions

体育领域的计算机视觉

体育领域的计算机视觉

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

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

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

机器人领域的计算机视觉

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

物流中的计算机视觉

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

零售中的计算机视觉

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

医疗领域的计算机视觉

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

制造业中的计算机视觉

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

汽车领域的计算机视觉

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

农业中的计算机视觉

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

体育领域的计算机视觉

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

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

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

机器人领域的计算机视觉

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

物流中的计算机视觉

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

零售中的计算机视觉

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

医疗领域的计算机视觉

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

制造业中的计算机视觉

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

汽车领域的计算机视觉

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

农业中的计算机视觉

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

体育领域的计算机视觉

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

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 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 的未来!

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