手撕算法_梯度提升树

提升树

提升树就是一种以分类树or回归树作为基学习器,使用前向分步算法的boosting算法。无论是分类还是回归,提升树的基学习器都是CART树。
当存在k个基学习器时,提升树可以表示为:
在这里插入图片描述
在这里插入图片描述
表示k个单树的提升树。
在这里插入图片描述
表示第k个单树
在这里插入图片描述
表示训练数据

在这里插入图片描述
表示第k课树的参数
同时,因为前向分步算法,也可以表示为:
在这里插入图片描述
所以,第k个决策树的参数可以这样确定。
在这里插入图片描述
一般来说,不同的任务使用不同的损失函数。
1.分类问题的提升树:
one vs rest,每个类别都训练一棵树,最后取n棵树中概率最大的类别。使用softmax。
2.回归问题的提升树:
新一轮的预测值就上一轮的值与目标值的差值。

梯度提升树

梯度提升树和提升树区别不大,只是每次新增一轮时,拟合的是损失函数对当前轮次的学习器的负梯度。

猜你喜欢

转载自blog.csdn.net/weixin_44414593/article/details/107569378
今日推荐