主页
topics
Boosting
Boosting 是一种集成学习方法,它将一组弱学习器组合成一个强学习器,以最大限度地减少训练误差。Boosting 算法可以提高数据挖掘计划的预测能力。
在 boosting 中,选择随机数据样本,拟合模型,然后按顺序训练,也就是说,每个模型都试图补偿其前身的弱点。在每次迭代中,来自每个分类器的弱规则被组合成一个强预测规则。
集成学习为“群体智慧”的观点提供了依据,这表明一个更大群体的决策通常要优于专家个人的决策。与此类似,集成学习指的是一组(集成的)基础学习器或模型,它们共同协作以获得更准确的最终预测。单个模型,又称基础或弱学习器,由于高方差或高偏差可能个体性能不佳。然而,当弱学习器聚集后,可以形成一个强学习器,它们的结合可以减少偏差或降低方差,产生更好的模型性能。
集成方法通常使用决策树来说明,因为这种算法在没有修剪的情况下容易出现过拟合(高方差和低偏差),而当它变得非常小时,比如只有一层的决策树桩,则容易出现欠拟合(低方差和高偏差)。请记住,当一个算法在训练数据集中出现过拟合或欠拟合现象时,它不能很好地泛化到新的数据集,所以集成方法用于抵消这种行为,以便将模型泛化到新的数据集。虽然决策树会表现出高方差或高偏差,但值得注意的是,它并不是唯一一种利用集成学习在偏差-方差权衡中找到“最佳位置”的建模技术。
Bagging 算法和 Boosting 算法是两种主要的集成学习方法。正如本 研究 (链接位于 ibm.com 之外)所强调的,这些学习方法之间的主要区别在于培训方式。在 Bagging 算法中,弱学习器并行训练,但在 Boosting 算法中,它们按顺序进行学习。这意味着会构建一系列模型,并且随着每次新的模型迭代,前一个模型中误分类数据的权重会增加。这种权重的重新分配可帮助算法发现需要关注的参数,从而提高其性能。AdaBoost 是英文“adaptative boosting”(自适应提升)的缩写,它是同类算法中的第一个,也是最受欢迎的 Boosting 算法之一。其他类型的 Boosting 算法包括 XGBoost、GradientBoost 和 BrownBoost。
Bagging 和 boosting 的另一个区别在于它们的使用方式。例如,Bagging 方法通常用于呈现高方差和低偏差的弱学习器,而 Boosting 方法在观察到低方差和高偏差时则会被利用。虽然可以使用 bagging 来避免过度拟合,但是 boosting 方法更容易出现 这种情况 (链接位于 ibm.com 之外),尽管这实际上取决于数据集。但是,参数调整可以帮助避免该问题。
因此,bagging 和 boosting 在现实世界中也有不同的应用。Bagging 已用于贷款审批流程和统计基因组学,而 boosting 则更多地用于图像识别应用程序和搜索引擎。
使用此模型选择框架选择最合适的模型,同时平衡性能要求与成本、风险和部署需求。
Boosting 方法侧重于以迭代方式组合弱学习器,以构建可以预测更准确结果的强学习器。需要提醒的是, 弱学习器对数据的分类效果要略胜于随机猜测。这种方法可以为预测问题提供 稳健的结果,甚至可以在图像检索 等任务上胜过神经网络和支持向量机(链接位于 ibm.com 外部)。
Boosting 算法在顺序过程中创建和聚合弱学习器的方式可能有所不同。三种常用的 boosting 方法包括:
Boosting 算法的优势和面临的挑战
Boosting 算法在用于分类或回归问题时,具有许多重要优势,但也面临诸多挑战。
Boosting 算法的主要优势包括:
Boosting 算法面临的主要挑战包括:
Boosting 算法非常适合各行各业的人工智能项目,包括:
医疗保健:Boosting 用于降低医疗数据预测中的错误,例如预测心血管风险因素和癌症患者的生存率。例如,研究 (链接位于 ibm.com 之外)表明,集成方法显著提高了识别可从心血管疾病预防治疗中受益的患者的准确性,同时避免了对其他患者的不必要治疗。同样,另一项研究(链接位于 ibm.com 以外)发现,将 boosting 技术应用于多个基因组学平台可以改善对癌症存活时间的预测。