【ML】面试准备,关于Adaboost & GBDT算法你需要知道的那些

  • 2020 年 3 月 13 日
  • 笔记

研究方向:机器学习和自然语言处理

导读

上一份笔记在介绍决策树的过程中我们提到了“决策树是许多集成学习算法的基础算法”。那么,什么是集成学习算法、集成学习算法有哪几种、它们彼此之间有什么区别、集成学习算法合起来性能一定会超过基础学习器吗?在接下来的几份笔记中,我们将会针对几种集成学习算法针对高频问题做推导和解答。

这份笔记将首先针对Adaboost和GBDT算法进行介绍,Adaboost和GBDT算法都属于集成学习中采用Boosting策略的算法,Boosting策略的本质思想就是通过高度相关的弱学习器,在每一轮的迭代重逐渐减小偏差。细分来看,Adaboost和GBDT算法对于减小偏差的方式各有不同:

Adaboost算法的核心是权重的调整:Adaboost在迭代中依据学习器每一轮的表现,调整样本权重和弱学习器权重,最终将多个弱学习器累加成一个强学习器。

GBDT (Gradient Boosting Decision Tree) 梯度提升树的核心在于残差的拟合:GBDT用损失函数的负梯度作为残差的估计值,使用CART回归是依据均方差进行拟合。

如果你刚刚接触集成学习算法,你可能会有如下疑惑:

  • Adaboost和随机森林有什么区别?
  • GBDT和Adaboost如何实现分类和回归?
  • GBDT和Adaboost有什么区别和联系?
  • GBDT如何应对过拟合?
  • 在实际使用中,GBDT为什么在高维稀疏特征的数据集上表现较差?

这份笔记将会从个人的理解对这些问题进行推导和解答,如有疏漏,感谢提出~

笔记