合奏
利用集合方法提高预测准确性!了解如何结合多个模型来提高物体检测、NLP 等方面的性能。
集合方法是机器学习(ML)中一种强大的技术,它将多个单独的模型结合起来,生成一个单一的、卓越的预测模型。其核心思想是,通过汇聚多个模型的 "智慧",最终预测结果将比任何单一组成模型的预测结果更加准确、稳定和稳健。这种方法类似于向不同的专家小组寻求建议;集体的决定往往比任何专家个人的意见更好。这些技术在减少过拟合和提高模型对未见数据的泛化方面非常有效。
乐团如何工作
集合学习包括两个主要步骤:训练一组不同的基础模型,然后将它们的预测结果组合起来。基础模型之间的多样性至关重要;如果所有模型都犯同样的错误,集合学习就不会有任何改进。这种多样性可以通过使用不同的算法、在训练数据的不同子集上进行训练或使用不同的超参数来实现。
模型训练完成后,将对其预测结果进行汇总。对于分类任务,这通常是通过投票机制完成的(例如,得票最多的类别获胜)。对于回归任务,通常会对预测结果进行平均。由此产生的组合模型通常会表现出更好的性能,这也是Condorcet Jury Theorem 所探讨的概念。
常见的合奏技巧
有几种流行的方法可用于创建有效的合奏:
- 套袋(Bootstrap Aggregating):这种技术是在训练数据的不同随机子集上训练多个模型(如决策树)。随机森林算法就是一种著名的袋集算法。
- 提升:模型按顺序进行训练,每个新模型都侧重于纠正前一个模型所犯的错误。著名的提升算法包括 AdaBoost、梯度提升、XGBoost 和LightGBM。
- 堆叠(堆叠泛化):这种方法包括训练几个不同的模型(基础学习器),并使用另一个机器学习模型(元学习器)来学习如何将它们的预测结果进行最佳组合。
- 投票法和平均法:这是最简单的方法,最终预测结果是多数票(硬投票)或所有模型预测概率的平均值(软投票)。Ultralytics YOLO 模型的模型集合功能支持一种平均法。
实际应用
集合方法被广泛应用于精度要求极高的关键应用领域:
- 医学图像分析:在肿瘤检测等任务中,可以使用一组卷积神经网络(CNN)。每个卷积神经网络可能是根据不同的医学扫描子集或采用不同的架构进行训练的。通过组合它们的输出,系统可以实现更可靠、更准确的诊断,从而降低医疗成像等应用中出现假阴性或阳性的风险。
- 自主系统:对于自动驾驶车辆来说,可靠的物体检测关系到安全。一个集合可能会结合不同的模型,如YOLOv8和YOLO11,或结合使用不同数据增强策略训练的模型。这种方法可降低单一模型无法检测到行人或障碍物的风险,从而产生更强大的感知系统。
合奏与相关概念
将集合方法与其他相关概念区分开来是非常有用的:
- 模型合奏:该术语经常与 "集合 "互换使用。集合 "指的是一般技术,而 "模型集合"通常指的是结合特定训练模型实例的实际实施。其基本原理是相同的。
- 专家混合模型(MoE):虽然两者都使用多个模型,但机制不同。集合模型综合了所有模型对每个输入的预测。相比之下,专家混合模型(MoE)使用门控网络为特定输入动态选择最合适的 "专家 "模型,每次预测只使用模型的子集。
虽然集合模型增加了模型训练和部署的复杂性和计算开销,但性能提升往往证明了成本的合理性。Ultralytics HUB等平台可以简化使用PyTorch或TensorFlow 等框架构建的多个模型的管理,从而简化功能强大的模型集的创建。