机器学习基础-Boosting

Boosting

  • 所谓Boosting,它的主要思想是说将多个弱模型组合在一起,从而形成一个比较强的模型。他的主要目的是为了降低数据拟合的偏差。需要注意的是,相较于之前提到的bagging,这里的组合是串行组合,而不是bagging的并行组合;Boosting降低的是偏差,而Bagging降低的是方差。(具体可以参考下图)
  • 具体点来说,当处于时间i步时,我会训练我的第i个弱模型 h i h_i hi,紧接着,我们会根据模型 h i h_i hi所得到的误差 ϵ t \epsilon_{t} ϵt,再把数据重新采样一下,使得我们下一个模型 h i + 1 h_{i+1} hi+1会去关注我们预测不准确的样本。用大白话来讲,就是我们把每一次训练做的不好的样本重新拿出来再次做训练,希望每次的训练都能不断地拟合真实值。如此类推,一直迭代。
  • 在Boosting算法里面有许多著名的算法,比如Adaboost,GBDT,Lightgbm,Catboost等等。详细可以参考我的另外一篇文章#集成学习.

Gradient Boosting

  • 假设在时间步 t t t的时候,我们训练一个模型 H t ( x ) H_t(x) Ht(x)
  • t = 1 , 2 , 3 , . . . , n t = 1,2,3,...,n t=1,2,3,...,n
  • 对于每个时间步 t t t,我们每一个弱模型 h t ( x ) h_t(x) ht(x)都是在上一时间步的残差上面进行训练,即
    r e s i d u a l s : { ( x i , y i − H t ( x i ) ) } i = 1 , … , m residuals:\left\{\left(x_{i}, y_{i}-H_{t}\left(x_{i}\right)\right)\right\}_{i=1, \ldots, m} residuals{(xi,yiHt(xi))}i=1,,m
    从上式可以看出,我们每一次训练的样本都没有变,但是我们的label是真实值 y i y_i yi与预测值 H t ( x ) H_t(x) Ht(x)之间的误差,即残差。也就是说,我们每一次训练都是为了拟合上一步模型没有拟合好的那一部分。
  • 对于最终的结果,我们有以下公式:
    H t + 1 ( x ) = H t ( x ) + η h t ( x ) H_{t+1}(x)=H_{t}(x)+\eta h_{t}(x) Ht+1(x)=Ht(x)+ηht(x)
    这里的 η \eta η是学习率,主要为了控制过拟合的出现。
  • 这里的残差学习有点类似于梯度学习法,即每一次的学习出来的 h t ( x ) h_t(x) ht(x)都是为了减少残差,即沿着残差的负梯度方向进行拟合。可以用公式表达: − ∂ L / ∂ H -\partial L / \partial H L/H
  • 但是需要注意的是,之前提到的梯度下降是用负的导数梯度,然后乘以学习率,然后再加到我们的权重中,但是这里学习的并不是权重,而是每一个弱模型 h t ( x ) h_t(x) ht(x),最终的结果是一系列弱模型相加起来的综合结果。所以这也是为什么这个算法的思想也叫做梯度提升Gradient Boosting,而不是梯度下降Gradient Descent。

Summary

  • Boosting的主要思想就是集成多个弱模型,从而降低学习的偏差Bias
  • Gradient Boosting是通过多个弱模型拟合残差,从而进行学习。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Gradient Boosting Regressor是一种强大的机器学习算法,但是需要进行超参数调整以获得最佳性能。以下是一些可能需要调整的超参数: 1. n_estimators:决定了要训练的树的数量,一般来说增加树的数量可以提高性能。但是增加树的数量也会增加计算时间,因此需要在准确性和计算成本之间进行权衡。 2. learning_rate:决定了每个树的贡献,较小的学习率可以使算法更加稳定,但是也需要更多的树才能达到相同的准确性。 3. max_depth:限制每个回归树的最大深度,可以避免过拟合,但是如果设置得太小,可能会导致欠拟合。 4. min_samples_split:决定了一个节点必须具有的最小样本数才能分裂,较小的值可以提高模型的复杂度,但也可能导致过拟合。 5. min_samples_leaf:决定了一个叶子节点必须具有的最小样本数,较小的值可以提高模型的复杂度,但也可能导致过拟合。 6. subsample:决定了每个树的训练集的比例,较小的值可以减少方差,但也可能导致偏差。 进行超参数调整的一种常见方法是使用网格搜索(Grid Search)或随机搜索(Random Search)。在网格搜索中,我们定义一个超参数的范围,并在该范围内尝试不同的超参数组合。在随机搜索中,我们定义超参数的分布,并从该分布中随机抽取超参数组合。然后,我们可以使用交叉验证来评估每个超参数组合的性能,并选择表现最佳的超参数组合。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.Wiggles

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值