gdbt java_GBDT算法详解与代码实现

1, 远观GBDT

GBDT算法也是有很多决策树(CART)集成而来,但与随机森林不同,GBDT生成的决策树之间有依赖关系,GBDT算法用到的是一种boosting策略,由弱学习器组合而成强学习器。

在GBDT中,每一轮弱学习器的得出都与已经得到的模型(已得到的弱学习器的组合)有关,怎么有关法?提到的弱学习器的组合是怎么做的?这是我们要学习的主要问题。先来大致讲述一下GBDT在当前轮的弱学习器中拟合损失函数的负梯度值在已经得到的模型的值,这与之前的机器学习算法不同,不再拟合真实值,而是拟合梯度值。

组合的方式就是简单直接的加法模型或者加入一个学习率之后在相加(防过拟合),有没有感觉进入了求损失函数最小用的梯度下降算法,我觉得就是这种算法。

具体怎么做和损失函数的设定问题我们下面详细讲解

2, 理论部分

equation?tex=y_%7Bi%7D 样本

equation?tex=x_%7Bi%7D (自变量)对应的真实值,也就是我们要拟合的目标。

equation?tex=f_%7Bm%7D

equation?tex=m 个弱学习期

equation?tex=F_%7Bm%7D

equation?tex=m 个弱学习器的组合

损失函数的形式有多种,回归与分类所用的损失函数也不同,这篇文章我们先讲回归任务。

回归任务

选择的损失函数为

equation?tex=L%5Cleft%28+y_%7Bi%7D%2CF%28x_%7Bi%7D%29+%5Cright%29%3D%5Cfrac%7B1%7D%7B2%7D%2A%5Cleft%28++y_%7Bi%7D-F%28x_%7Bi%7D%5Cright%29%5E%7B2%7D

损失函数在已训练模型(前

equation?tex=m-1 个弱学习器的组合

equation?tex=F_%7Bm-1%7D%28x_i%29 )的负梯度值为

equation?tex=-%5Cleft%5B+%5Cfrac%7B%5Cpartial+L%28x_i%2CF%28x_i%29%29%7D%7B%5Cpartial+F%28x_i%29%7D+%5Cright%5D_%7BF%28x_i%29%3DF_%7Bm-1%7D%28x_i%29%7D%3Dy_i-F_%7Bm-1%7D%28x_i%29

算法过程初始化第1个弱分类器

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值