本文前提假设已了解决策树和随机森林。
图片资源来自YT StatQuest。
什么是AdaBoost?
AdaBoost - Adaptive Boosting(自适应增强) - 主要应用两类分类、多类分类、多类多标签分类、大类单标签分类等分类问题; 可以用于回归但是没必要,原因是有XGBoost等在回归领域表现好不少的算法模型存在,本文主要也是结合实例探讨AdaBoost在分类问题上的算法和实现。
AdaBoost是由多个决策树桩(最简单的二分决策树)组成的森林体系(forest):
相比于随机森林,AdaBoost主要体现出了以下随机森林不具备的特性:
- 全部使用weak leaners - 也就是决策树桩 - 来进行分类,每个特征对应一个树桩。
- 每个树(树桩)权重不同,权重越大对分类结果影响越大,此处的权重之和并不为一,翻译成影响力-amout of say-更合适。
- 树桩的生成具有有序性,每一颗先前生成的树桩会影响后一颗树的生成;即后一棵树能考虑到前一棵树的错误情况。
抓住这三个关键点,就能够很好地理解和记忆AdaBoost。
如何生成Adaboost?
生成Adaboost关键就是实现Adaboost的三个特性:第一个生成决策树桩很好理解,关键问题在于产生影响力和实现有序性的原理过程,我们以此三个维度,八个样本的二类分类问题为例ÿ