对于回归提升树
提升树是以分类树或回归树为基分类器。它的idea在于,第一个回归树预测的效果可能一般,但是第二个回归树把第一个预测错的残差作为输入。也就是说,如果一个点的值被预测错误,那么在下一个回归树里面的模型的权值会变大。通过这个方式,来提高模型的效果。
关于提升树的一个例子
训练提升树的步骤:
- step1 构建第一个回归树T1(x)
- step 1.1 如何构建回归树T1(x)
a. 从数据集里面找到一个切分点s,将数据集分成两个部分。
b. 对于每个部分,找到一个值c,使得内部的y到所有的平方损失函数最小。
(遍历所有可能的切分点s,找到最好的效果。那么问题又来了,如何判断一个点的切分的效果好与坏?)
- step 1.1 如何构建回归树T1(x)
- 在上一颗回归树回归的基础上,把残差作为下一棵回归树的任务,继续构造回归树。
(不断循环这个过程)
计算c的公式是:
判断一个点s,切分效果的好与坏的评价标准的时候:
下面,我们带入这个具体的例子里面进行分析。
假设,现在的切分点是s=1.5 , 那么数据集就会被分成两个部分,一个是R1={1} , R2={2, 3 , ..., 10} 。
那么,对于切分的两个部分里面,求c1和c2。根据上面的公式,c1=5.56 , c2=7.50 。
那么,在我们这个例子里面,m(s)的值是:
如果,遍历所有可能的切分点,对于每一个切分点都会有一个值。
也就说,当在s=6.5的时候,切分的效果是最好的。
也就是说,我们现在得到了第一颗回归树,T1(x)。对于小于6.5的数据,我们把他预测成6.24,对于大于等于6.5的数据,我们把它预测成8.91。
然后,就到了最重要的一步,将残差数据放入下一个回归树进行训练。
下面去训练下一个学习器:
判断的终止条件是:
对于求出的第一个回归树:
对于求出的第二个回归树:
依次类推:
最后:
参考 : 《统计学习方法》
网友评论