学习笔记|AdaBoost的扩展之二——提升树

举报
darkpard 发表于 2021/12/17 20:38:54 2021/12/17
【摘要】 提升树是以分类树或回归树为基本分类器的提升方法,是机器学习中性能最好的方法之一。1. 提升树模型提升方法实际采用加法模型(即基函数的线性组合)与前向分步算法(可参见学习笔记|前向分步算法与AdaBoost)。以决策树为基函数的提升方法称为提升树。对分类问题决策树是二叉分类树,对回归问题决策树是二叉回归树。在学习笔记|AdaBoost的例子中看到的基本分类器是x<v或x>v,可以看作是由一个要...

提升树是以分类树或回归树为基本分类器的提升方法,是机器学习中性能最好的方法之一。

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版),李航著,清华大学出版社

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。