分享
[算法学习] Adaptive Boosting 分类/回归
输入“/”快速插入内容
[算法学习] Adaptive Boosting 分类/回归
飞书用户8537
飞书用户5027
4月28日修改
2160
2347
基础概念
AdaBoost(Adaptive Boosting),即自适应增强算法,是一种集成学习算法,主要用于分类问题,也可以用于回归问题。它通过组合多个弱学习器(通常是决策树桩)来构建一个强学习器,以提高模型的预测性能。
弱学习器(Weak Learner)
弱学习器是集成学习中的一个概念。在机器学习中,学习器通常被分类为强学习器(Strong Learner)和弱学习器。两者的基本区别有:
强学习器
:
◦
强学习器通常指的是具有高准确率的模型,能够很好地泛化到新的数据上。
◦
它们可能是复杂的模型,比如深度神经网络或支持向量机,能够捕捉数据中的复杂模式。
弱学习器
:
◦
弱学习器的准确率仅略高于随机猜测。例如,在二分类问题中,如果随机猜测的准确率是50%,那么弱学习器的准确率可能只是略高于50%,比如51%。
◦
弱学习器通常是简单的模型,比如决策树桩(Decision Stumps),它们只考虑单个特征的阈值来做出预测。(比如月收入高于30k,就有可能购买一个空气净化器)
核心思路
1.
迭代训练
:AdaBoost算法通过迭代的方式逐步训练弱学习器。在每一轮迭代中,它都会训练一个新的弱学习器,并将其加入到模型中。
2.
权重调整
:在每一轮迭代中,AdaBoost都会根据前一轮的预测结果调整样本的权重。对于被当前弱学习器错误分类的样本,其权重会被增加,而对于正确分类的样本,其权重会被减少。这样做的目的是让模型在下一轮迭代中更加关注那些难以分类的样本。
3.
弱学习器的组合
:AdaBoost算法将多个弱学习器的预测结果结合起来,形成一个最终的强学习器。每个弱学习器的预测结果会根据其在训练过程中的表现(即分类准确率)进行加权,表现越好的弱学习器在最终预测中的贡献越大。
算法步骤
可以通过一个简化的例子来理解AdaBoost算法的基本计算过程。
假设有一个二分类问题,数据集只包含两个特征:年龄和收入,我们的目标是预测一个人是否购买了某个产品(是/否)。
步骤1:初始化
我们有10个样本,每个样本都有年龄、收入和标签(购买/未购买)。
我们初始化所有样本的权重为1/N,这里N是样本总数,即0.1。
步骤2:训练一个弱学习器
选择一个简单的弱分类器,比如基于“收入 > 50k”的决策树桩。
分类规则:“收入 > 50k”