boosting是一种集成学习算法,由一系列基本分类器按照不同的权重组合成为一个强分类器,这些基本分类器之间有依赖关系。包括Adaboost算法、提升树、GBDT算法。
一、Adaboost算法
1、基本思想
通过两个问题:
1)如何更新样本权重D? 提高被弱分类器错分样本的权值,降低正分样本的权值,作为下一轮基本分类器的训练样本。
2)如何将弱分类器组合成强分类器? 加权多数表决,误差率小的分类器的权值大,使其在表决过程中起较大作用。
AdaBoost是个二分类算法。
2、推导
Adaboost的基本分类器的损失函数为指数函数,推导过程就是围绕最小化损失函数展开的。主要目的是推导出样本权值的更新公式、基本分类器的权值计算公式。
3、算法描述
二、提升树算法
1、基本思想
当Adaboost算法中的基本分类器是cart回归树时,就是提升树,同时,损失函数变为平方误差损失函数。在Adaboost算法中通过改变样本的权重来进行每一轮的基本分类器的学习,在提升树算法中,是通过上一轮学习的残差进行本轮的学习。
2、推导
和Adaboost算法一样,也是求最小化损失函数下第m颗树模型的参数 θ m \theta_m θm
f m ( x ) f_m(x) fm(x)是第m轮迭代的提升树模型, T ( x ; θ m ) T(x;\theta_m) T(x;θ