深圳Yolo 视觉
深圳
立即加入
词汇表

过拟合

了解如何识别、预防和解决机器学习中的过拟合问题。 探索提高模型泛化能力和实际性能的技术。

过拟合发生在 在机器学习 (ML)中,当模型学习其训练数据的特定细节和噪声时,就会出现过拟合。 训练数据的具体细节和噪音,以至于对新数据的性能产生负面影响。 以至于对新数据的性能产生负面影响时,就会出现机器学习(ML)中的过拟合现象。从本质上讲,模型记住的是训练 而不是学习泛化所需的基本模式。 泛化。 这就导致系统在开发过程中达到很高的 准确性,但在实际部署时却无法提供可靠的 预测。

了解现象

有监督学习中,目标 目标是创建一个模型,该模型在未见过的输入(即测试数据)上表现良好。 测试数据。过拟合通常发生在模型相对于可用数据量过于复杂的情况下。 相对于可用数据量而言过于复杂,这种情况通常被称为高方差。这种 这种模型会将数据集中的随机波动或 "噪音 "当作重要特征。这 是深度学习(DL)的核心挑战、 开发人员需要在复杂性和灵活性之间取得平衡,也就是通常所说的 偏差-方差权衡

真实世界的例子

根据不同的应用,过度拟合会产生严重的后果:

  • 自动驾驶汽车:考虑为 自动驾驶汽车的视觉系统 的自动驾驶汽车视觉系统。模型可能会过度适应这些特定的光照条件和路面纹理。 道路纹理。因此,当遇到雨天、晴天和雨雾天气时,它可能无法进行准确的 物体检测、 阴影或城市环境,从而带来安全风险。
  • 医疗诊断:人工智能在医疗保健领域的应用 识别 X 光片中的病变。如果数据集来自一家医院,模型可能会过度拟合该医院成像设备的特定 该医院成像设备的伪影。当应用于 医疗图像分析时 时,模型的性能可能会大幅下降,因为它学到的是设备的噪音,而不是疾病的生物特征。 疾病的生物特征。

识别和防止过度拟合

开发人员通常通过监控 损失函数。一个明显的指标是 当训练损失持续减少,而 验证数据损失开始增加。为了解决这个问题 这种情况,我们采用了几种技术:

  • 数据扩充:这包括人为增加训练集的多样性。通过 随机变换,如旋转或翻转、 数据增强可防止模型 记住精确的像素排列。
  • 正则化:L1/L2正则化或添加剔除层等方法 层(dropout layer)等方法,在训练过程中有效地忽略一部分神经元,从而对过于复杂的模型进行惩罚。 在训练过程中有效地忽略一定比例的神经元,迫使神经网络学习冗余、稳健的模型。 神经网络学习冗余、稳健的 特征。
  • 提前停止:一旦验证指标停止改善,该技术就会停止训练过程 停止训练过程,防止模型在后面的 噪声。

过拟合 vs. 欠拟合

必须将这一概念与 欠拟合。过拟合是指模型过于复杂 过于复杂,并且 "过于努力 "地去拟合训练数据(高方差),而不完全拟合则是指模型过于简单,无法捕捉数据的潜在趋势(高偏差)。 模型过于简单,无法捕捉数据的基本趋势(偏差大)。两者都会导致预测 但原因却截然相反。要获得最佳模型,就必须在这两个极端之间游刃有余。

具体实施

现代图书馆,如 ultralytics 简化预防战略的实施。例如 用户可以轻松应用 提前停车 和辍学时 培训 YOLO11 模型

from ultralytics import YOLO

# Load the YOLO11 model (recommended for latest SOTA performance)
model = YOLO("yolo11n.pt")

# Train with 'patience' for early stopping and 'dropout' for regularization
# This helps the model generalize better to new images
results = model.train(
    data="coco8.yaml",
    epochs=100,
    patience=10,  # Stop if validation loss doesn't improve for 10 epochs
    dropout=0.1,  # Randomly drop 10% of units to prevent co-adaptation
)

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入