CART之回归树构建

原文链接:https://cethik.vip/2016/09/21/machineCAST/

一、概念

CART全称叫Classification and Regression Tree。首先要强调的是CART假设决策树是二叉树,内部结点特征的取值只有“是”和“否”,左分支是取值为“是”的分支,有分支则相反。这样的决策树等价于递归地二分每个特征。


二、CART生成

决策树的生成就是递归地构建二叉决策树的过程,对回归树用平方误差最小化准则,对分类树用基尼指数最小化准则,进行特征选择,生成二叉树。

三、回归树的生成最小二叉回归树生成算法:

1、选择最优切分变量j与切分点s,求解:

遍历变量j,对固定的切分变量j扫描切分点s,选择使上式取得最小值的对(j,s)。其中Rm是被划分的输入空间,Cm空间Rm对应的输出值。

2、用选定的对(j,s)划分区域并决定相应的输出值:


3、继续对两个子区域调用步骤1,直至满足停止条件。
4、将输入空间划分为M个区域R1,R2,...Rm生成决策树:
四、示例

上面的东西有点难以理解,下面举个例子来说明。

训练数据见下表,x的取值范围为区间[0.5,10.5],y的取值范围为区间[5.0,10.0],学习这个回归问题的最小二叉回归树。

xi
1 2 3 4 5 6 7 8 9 10
yi
5.56 5.70 5.91 6.40 6.80 7.05 8.90 8.70 9.00 9.05

求解训练数据的切分点s:

容易求得在R1R2内部使得平方损失误差达到最小值的c1c2为:


这里N1N2R1R2的样本点数。

求训练数据的切分点,根据所给数据,考虑如下切分点:

1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5。

对各切分点,不难求出相应的R1、R2、c1、c2

例如,当s=1.5时,R1={1}R2={2,3,...,10}c1=5.56c2=7.50,则


现将sm(s)的计算结果列表如下:


s 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5
m(s) 15.72 12.07 8.36 5.78 3.91 1.93 8.01 11.73 15.74

由上表可知,当x=6.5的时候达到最小值,此时R1={1,2,...,6}R2={7,8,9,10}c1=6.24c2=8.9,所以回归树T1(x)为:


f1(x)拟合训练数据的残差见下表,表中r2i=yi-f1(xi),i=1,2,...,10

xi
1 2 3 4 5 6 7 8 9 10
yi
-0.68 -0.54 -0.33 0.16 0.56 0.81 -0.01 -0.21 0.09 0.14


2步求T2(x)方法与求T1(x)一样,只是拟合的数据是上表的残差,可以得到:

继续求得

可以用拟合训练数据的平方损失误差等来作为结束条件。此时


假设此时已经满足误差要求,那么f(x)=f6(x)即为所求的回归树。


  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值