对提升树算法的一些理解

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

提升树模型

提升树采用向前分步算法,首先确定初始提升树f0(x) = 0,第m步的模型是:
fm(x) = fm-1(x)+T(x;θm)(CART)
其中,fm-1(x)为当前模型,通过经验风险极小化确定下一颗决策树的参数θm:
在这里插入图片描述
参数θ表示书的区域划分和个区域上的常数。J是回归树的复杂度即叶节点个数。(在这里找了好久树的参数是什么意思看书的时候太大意了,还以为书中没提,后来才看到。。)
回归问题的提升树算法为:
输入:训练数据集T = {(x1,y1),(x2,y2),…,(xN,yN)},
在这里插入图片描述
输出:提升树fM(x).
(1)初始化f0(x) = 0.
(2)对m = 1,2,…,M.
(a)计算残差:
在这里插入图片描述
(b)拟合残差通过残差学习一个回归树,得到T(x;θm)。
©更新fm(x) = fm-1(x)+T(x;θm)
(3)得到回归问题提升树:
在这里插入图片描述
例子:
有这样的数据集:在这里插入图片描述
学习这个回归树问题的提升树模型。
在这里插入图片描述
以上这些都是教怎么去拟合第一颗回归树模型为CART里面的ms我的理解为他就是找到损失最小的区域以及使得最小损失区域的切分点。
在这里插入图片描述
根据各切分点算ms,并找到最小的ms。
在这里插入图片描述
通过最小的ms拟合第一个回归树T1(x)
f1(x) = T1(x) + f0(x)
到此才开始提升树算法的步骤
在这里插入图片描述
计算残差
在这里插入图片描述
算平方误差,需要知道每个回归模型的误差,同时也作为一个判断作为迭代结束的条件。
第二步求T2(x),方法与求T1(x)相同只是拟合的是残差表中的数据。
同样需要计算ms,这个ms根据拟合残差得到的回归树计算,同样找到最小的ms作为切分点以及最小误差切分点划分的区域,得到第二棵拟合的回归树,在根据加法模型将f1(x)与T2(x)相加得到f2(x),可以看到f2(x)划分更精确,算出平方损失误差为0.79更低了。
继续更新得到:
T3(X),T4(X),T5(X),T6(X)相加在一起算出平方损失误差为0.17
此时我们在之前设一个阈值比如为0.18误差小于0.18则不再迭代。最终得到最后的回归树。
在这里插入图片描述
最后还有个问题,就是阈值我们设多少为好,越小就会过拟合,设的大了当然还不好,因此有个想法为可以有一个测试集进行测试,这样就可以判别回归树是否可以。但还需考证。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值