学习笔记|AdaBoost的扩展之二——提升树
提升树是以分类树或回归树为基本分类器的提升方法,是机器学习中性能最好的方法之一。
1. 提升树模型
提升方法实际采用加法模型(即基函数的线性组合)与前向分步算法(可参见学习笔记|前向分步算法与AdaBoost)。以决策树为基函数的提升方法称为提升树。对分类问题决策树是二叉分类树,对回归问题决策树是二叉回归树。在学习笔记|AdaBoost的例子中看到的基本分类器是x<v或x>v,可以看作是由一个要结点直接连接两个叶结点的简单决策树,即所谓的决策树桩。提升树模型可以表示为决策树的加法模型:
2. 提升树算法
由于树的线性组合可以很好地拟合训练数据,即使数据中的输入与输出之间的关系很复杂也是如此,所以提升树是一个高功能的学习算法。
下面讨论针对不同问题的提升树学习算法,其主要区别在于使用的损失函数不同。包括用平方误差损失函数的回归问题,用指数损失函数的分类问题,以及用一般损失函数的一般决策问题。
对于二类分类问题,提升树算法只需将AdaBoost算法中的基本分类器限制为二类分类树即可(可参见学习笔记|AdaBoost算法),可以说这时的提升树算法是AdaBoost算法的特殊情况,这里不再细述。下面叙述回归问题的提升树。
回归问题提升树用以下前向分步算法:
当采用平方误差损失函数时,
其损失变为
这里,
是当前模型拟合数据的残差。所以,对回归问题的提升树算法来说,只需简单地拟合当前模型的残差。这样,算法是相当简单的。现将回归问题的提升树算法叙述如下。
回归问题的提升树算法:
(1)初始化$\ce{f_0(x)=0}。
(2)对m=1,2,...,M。
(a)计算残差:
(3)得到回归问题提升树
参考文献
1.统计学习方法(第2版),李航著,清华大学出版社
- 点赞
- 收藏
- 关注作者
评论(0)