探索机器学习中过拟合的原因和症状。了解如何使用 Ultralytics YOLO26 预防高方差并提高泛化能力。
机器学习中的过拟合是指模型对训练数据学习得过于透彻,捕获了噪声和随机波动,而非底层数据分布。过拟合模型没有学习适用于新的、未见数据的通用模式,而是有效地记忆了训练集中的特定样本。这导致模型在训练数据上表现出色,但在实际场景中泛化能力差。它通常被描述为“高方差”,意味着模型的预测会因用于训练的特定数据集而显著变化。
过拟合的主要原因是模型复杂度相对于可用数据量过高。如果神经网络过大——意味着它有太多层或参数——它很容易记住训练样本。其他影响因素包括:
区分过拟合与欠拟合至关重要。过拟合涉及学习过多细节(包括噪声),而欠拟合则发生在模型过于简单,完全无法捕捉数据底层结构时。欠拟合模型在训练数据和新数据上都表现不佳,通常会导致高偏差。平衡这两个极端被称为偏差-方差权衡。
工程师们采用多种技术来缓解过拟合并提高模型鲁棒性:
在生产环境中部署人工智能时,过拟合可能导致严重后果:
使用 Ultralytics Platform 或本地训练脚本,您可以通过设置提前停止耐心(early stopping patience)来防止过拟合。如果在设定的 epoch 数量内验证适应度没有改善,训练就会停止。
from ultralytics import YOLO
# Load the YOLO26 model (latest generation)
model = YOLO("yolo26n.pt")
# Train with early stopping enabled (patience=50 epochs)
# If validation metrics don't improve for 50 epochs, training stops.
results = model.train(data="coco8.yaml", epochs=100, patience=50)
开启您的机器学习未来之旅