Ensemble
了解集成学习如何提高准确率并减少过拟合。学习如何组合多个模型(如 Ultralytics YOLO26),以获得更出色的计算机视觉结果。
集成学习是机器学习 (ML)中的一种稳健策略,它将多个独立模型(通常称为“弱学习器”)组合起来,以生成单一的预测输出。其基本前提是,一组模型通常能够比单个模型独立运行时实现更高的准确率和更好的泛化能力。通过聚合多种算法的预测结果,集成方法可以有效降低对训练数据发生过拟合的风险,平滑随机误差,并提升系统整体稳定性。这种方法类似于在做出关键决策时咨询专家小组,而不是依赖单个人的意见。
集成学习的机制#
集成方法的有效性在于其操纵偏差-方差权衡的能力。单个模型可能存在高方差(对噪声敏感)或高偏差(过度简化)问题。集成通过以下特定技术缓解这些问题:
- 装袋(自助聚合): 该技术会在数据集的不同子集上训练同一算法的多个实例。最著名的例子是随机森林算法,它聚合多个决策树的决策结果,以降低方差。
- 提升: 与装袋不同,提升会按顺序训练模型。每个新模型都专注于纠正前一个模型产生的错误。诸如 LightGBM 和 CatBoost 等流行框架利用这种方法创建高精度预测系统。
- 堆叠(堆叠泛化): 该方法会训练一个新的“元模型”,用于组合多个异构基础模型的预测结果(例如,神经网络和支持向量机)。
计算机视觉中的集成#
在计算机视觉 (CV)领域,集成经常用于在竞赛和关键安全应用中最大化性能。对于目标检测,这通常包括在同一图像上运行多个模型,例如不同版本的 YOLO26。随后使用非极大值抑制 (NMS)或加权框融合 (WBF)等技术合并生成的边界框,从而得出最可能的目标位置。
实际应用#
集成方法广泛应用于预测可靠性至关重要的行业。
-
医学诊断与成像: 在医疗保健领域,避免假阴性至关重要。集成模型可以将基于 X 射线训练的卷积神经网络 (CNN)与视觉 Transformer (ViT)结合起来检测异常。模型之间的共识能够提供更高的置信度分数,帮助放射科医生检测肿瘤或诊断罕见疾病。
-
金融欺诈检测: 金融机构使用集成模型分析交易模式。通过将逻辑回归模型与梯度提升模型相结合,系统能够检测出单个模型可能遗漏的细微欺诈迹象,同时保持较低的误报率。
使用 Python 实现模型集成#
你可以通过加载多个训练好的模型,并针对相同输入生成预测结果,来模拟基本的推理集成。Ultralytics Platform让你能够轻松训练这些变体。下面的示例演示了如何加载两个不同的 Ultralytics YOLO 模型(YOLO26n 和 YOLO26s),以验证图像中的检测结果。
from ultralytics import YOLO
# Load two distinct YOLO26 model variants
# 'n' (nano) is faster, 's' (small) is more accurate
model_nano = YOLO("yolo26n.pt")
model_small = YOLO("yolo26s.pt")
# Define the image source
source = "https://ultralytics.com/images/bus.jpg"
# Run inference with both models
results_n = model_nano(source)
results_s = model_small(source)
# Compare the number of objects detected by each model
print(f"Nano Model Found: {len(results_n[0].boxes)} objects")
print(f"Small Model Found: {len(results_s[0].boxes)} objects")集成与数据增强#
务必区分集成学习与数据增强。
- 集成侧重于架构和预测阶段,通过组合多个经过训练的不同模型来改进结果。
- 数据增强侧重于训练数据阶段,通过人为增加数据集的多样性(例如通过旋转或翻转)来训练单个更稳健的模型。
数据增强有助于单个模型更好地学习,而集成学习则帮助多个模型相互验证输出结果。这两种策略通常结合使用,以在实例分割和姿态估计等任务中实现最先进的结果。









