Ensemble
发现集成学习 (Ensemble Learning) 如何提高准确性并减少过拟合。学习结合多种模型(如 Ultralytics YOLO26)以获得卓越的计算机视觉成果。
集成学习是机器学习 (ML)中的一种强大策略,它将多个通常被称为“弱学习器”的独立模型组合起来,产生单一的预测输出。其基本前提是,一组模型通常可以比任何单打独斗的模型实现更高的准确率和更好的泛化能力。通过汇集来自不同算法的预测结果,集成方法有效地减少了训练数据的过拟合风险,平滑了随机误差,并提高了整体系统的稳定性。这种方法类似于咨询专家组,而不是依靠单个人的意见来做出关键决策。
集成学习的机制#
集成方法的有效性在于它们能够操纵偏差-方差权衡。单个模型可能存在高方差(对噪声敏感)或高偏差(过度简化)的问题。集成通过特定技术缓解了这些问题:
- **Bagging (自助法聚合):**该技术涉及在数据集的不同子集上训练同一算法的多个实例。最著名的例子是随机森林算法,它聚合了许多决策树的决策以减少方差。
- **Boosting:**与 bagging 不同,boosting 按顺序训练模型。每个新模型都专注于纠正前几个模型所犯的错误。像 LightGBM 和 CatBoost 这样受欢迎的框架利用这一点来创建高精度的预测系统。
- **Stacking (堆叠泛化):**这涉及训练一个新的“元模型”来组合几个异构基础模型的预测(例如,神经网络和支持向量机)。
计算机视觉中的集成#
在计算机视觉 (CV)领域,集成经常被用来在比赛和关键安全应用中最大化性能。对于目标检测,这通常涉及在同一图像上运行多个模型——例如 YOLO26 的不同版本。然后使用非极大值抑制 (NMS) 或加权框融合 (WBF) 等技术合并生成的边界框,以推导出最可能的目标位置。
实际应用#
集成方法在预测可靠性至关重要的行业中无处不在。
-
**医学诊断与成像:**在医疗保健中,避免假阴性至关重要。集成可能会将训练过 X 光片的卷积神经网络 (CNN)与视觉 Transformer (ViT)结合起来以检测异常。模型之间的共识提供了更高的置信度得分,协助放射科医生检测肿瘤或诊断罕见病。
-
**金融欺诈检测:**金融机构使用集成来分析交易模式。通过将逻辑回归模型与梯度提升机器相结合,系统可以检测单个模型可能会漏掉的微妙欺诈指标,同时保持很低的误报率。
使用 Python 实现模型集成#
你可以通过加载多个训练好的模型并为同一个输入生成预测来模拟一个基本的推理集成。Ultralytics 平台允许你轻松训练这些变体。以下示例演示了加载两个不同的 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")集成与数据增强的对比#
区分集成学习与数据增强非常重要。
- 集成侧重于架构和预测阶段,通过组合多个训练好的不同模型来提高结果。
- 数据增强专注于训练数据阶段,人为增加数据集的多样性(例如,通过旋转或翻转),以训练单个更强大的模型。
虽然数据增强有助于单个模型更好地学习,但集成学习有助于多个模型互相验证输出。这两种策略经常一起使用,以在实例分割和姿态估计等任务中取得先进的结果。






