了解如何识别、预防和解决机器学习中的过拟合问题。 探索提高模型泛化能力和实际性能的技术。
过拟合发生在 在机器学习 (ML)中,当模型学习其训练数据的特定细节和噪声时,就会出现过拟合。 训练数据的具体细节和噪音,以至于对新数据的性能产生负面影响。 以至于对新数据的性能产生负面影响时,就会出现机器学习(ML)中的过拟合现象。从本质上讲,模型记住的是训练 而不是学习泛化所需的基本模式。 泛化。 这就导致系统在开发过程中达到很高的 准确性,但在实际部署时却无法提供可靠的 预测。
在有监督学习中,目标 目标是创建一个模型,该模型在未见过的输入(即测试数据)上表现良好。 测试数据。过拟合通常发生在模型相对于可用数据量过于复杂的情况下。 相对于可用数据量而言过于复杂,这种情况通常被称为高方差。这种 这种模型会将数据集中的随机波动或 "噪音 "当作重要特征。这 是深度学习(DL)的核心挑战、 开发人员需要在复杂性和灵活性之间取得平衡,也就是通常所说的 偏差-方差权衡。
根据不同的应用,过度拟合会产生严重的后果:
开发人员通常通过监控 损失函数。一个明显的指标是 当训练损失持续减少,而 验证数据损失开始增加。为了解决这个问题 这种情况,我们采用了几种技术:
必须将这一概念与 欠拟合。过拟合是指模型过于复杂 过于复杂,并且 "过于努力 "地去拟合训练数据(高方差),而不完全拟合则是指模型过于简单,无法捕捉数据的潜在趋势(高偏差)。 模型过于简单,无法捕捉数据的基本趋势(偏差大)。两者都会导致预测 但原因却截然相反。要获得最佳模型,就必须在这两个极端之间游刃有余。
现代图书馆,如 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
)

