回 归 树

小记
因为最近学习了一些关于XGBoost的知识,所以想要把关于树形算法总结学习一下,当初初入机器学习的时候学完分类决策树后就结束了树形算法的学习,接下来几节就是对自己最近学习的树形算法的记录和总结,方便自己回顾。主要学习参考了Microstrong李航老师的统计学习方法

在初入机器学习的时候,学习了分类决策树,在之前的博客中也写过,用id3算法实现,在这里又继续学习了回归决策树。其二者的区别就是: 分类决策树用于处理离散性数据,而回归决策树处理连续性数据。*
CART分类树是一种二分递归分割的技术,分割方法采用基于最小距离的基尼指数估计函数,将当前的样本集分为两个子样本集,使得生成的的每个非叶子节点都有两个分支。因此,CART算法生成的决策树是结构简洁的二叉树。

CART分类树是针对目标变量是离散型变量,通过二叉树将数据进行分割成离散类的方法。而回归树则是针对目标变量是连续性的变量,通过选取最优分割特征的某个值,然后数据根据大于或者小于这个值进行划分进行树分裂最终生成回归树。


这里再简单介绍一下决策树做任务时的流程:

从根节点开始,对样本的某一特征进行测试,根据测试结果,将样本分配到其子结点;这时,每一个子节点对应着该特征的一个取值。如此递归地对样本进行测试并分配,直至到达叶结点。

分类回归树(cart)既可以用于分类也可以用于回归,那么我们下面介绍一下cart回归树算法。

  1. 首先解释一下cart的理论:(这里引入李航老师书中的概念)
    假设X和Y分别为输入和输出变量,并且Y是连续变量,给定训练数据集请添加图片描述
    考虑如何生成回归树。一个回归树对应着输入空间(即特征空间)的一个划分以及在划分的单元上的输出值。假设已将输入空间划分为M个单元R1,R2,…,RM,并且在每个单元RM上有一个固定的输出值cm,于是回归树模型可以表示为:请添加图片描述
    当输入空间的划分确定时,可以用平方误差 ∑ x   i   ∈ R m ( y i − f ( x i ) ) 2 \sum _{x~i~\in Rm}(y_{i}-f\left( x_{i}\right) ) ^{2} x i Rm(yif(xi))2来表示回归树对于训练数据的预测误差,用平方误差最小的准则求解每个单元上的最优输出值。易知,单元Rm上的cm的最优值cm是Rm上的所有输入实例xi对应的输出yi的均值,即:请添加图片描述
  2. 其次我们要构建一棵树,那么就要考虑下面的两个问题:
    第一,我们要如何选择合适的划分点对输入空间进行划分? cart回归树的启发式方法是选择其中第j个变量x(j)和他的值作为切分变量和切分点。分成两个区域:请添加图片描述
    然后寻找最优切分变量j和最优切分点s:请添加图片描述
    第二,怎么确定叶节点的输出值?
    用选定的最优切分变量j和最优切分点s划分区域并决定相应的输出值:请添加图片描述
    遍历所有输入变量,找到最优的切分变量j,构成一个对(j, s)。依此将输入空间划分为两个区域。接着,对每个区域重复上述划分过程,直到满足停止条件为止。这样就生成一颗回归树。这样的回归树通常称为最小二乘回归树(least squares regression tree)。
    如果已将输入空间划分为M个区域R1,R2,…,RM,并且在每个区域Rm上有一个固定的输出值cm,于是回归树模型可以表示为:
    请添加图片描述
  3. 完整的算法流程为:请添加图片描述

算法举例,根据李航老师的统计学习方法第五章习题5.2,生成一个二叉回归树:请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
形成最终的二叉回归树:
请添加图片描述

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值