XGBoost的正则项参数alpha,lambda

参数化决策树f_{k}(x)

在参数化决策树之前,我们先来简单复习一下回归树的原理。对于决策树而言,每个被放入模型的任意样本最终一个都会落到一个叶子节点上。对于回归树,通常来说每个叶子节点上的预测值是这个叶子节点上所有样本的标签的均值。但值得注意的是,XGB 作为普通回归树的改进算法,在上却有所不同。
对于XGB 来说,每个叶子节点上会有一个预测分数( prediction score ),也被称为 叶子权重 。这个叶子权重就是所有在这个叶子节点上的样本在这一棵树上的回归取值,用f_{k}(x_{i})或者\omega来表示。

当有多棵树的时候, 集成模型的回归结果就是所有树的预测分数之和 ,假设这个集成模型中总共有K棵决策树,则整个模型在这个样本i上给出的预测结果为:

基于这个理解,我们来考虑每一棵树。对每一棵树,它都有自己独特的结构,这个结构即是指叶子节点的数量,树的深度,叶子的位置等等所形成的一个可以定义唯一模型的 树结构 。在这个结构中,我们使用q(x_{i})表示样本x_{i}所在的叶子节点,并且使用\omega _{q(x_{i})}来表示这个样本落到第t棵树上的第q(x_{i})个叶子节点中所获得的分数,于是有:

这是对于每一个样本而言的叶子权重,然而在一个叶子节点上的所有样本所对应的叶子权重是相同的 设一棵树上总共包含了T个叶子节点,其中每个叶子节点的索引为j,则这个叶子节点上的样本权重是\omega _{j}。依据这个,我们定义模型的复杂度$$ \varOmega \left( f \right)为(注意这不是唯一可能的定义,我们当然还可以使用其他的定义,只要满足叶子越多/ 深度越大, 复杂度越大的理论,我们可以自己决定我们的要是一个怎样的式子):

这个结构中有两部分内容,一部分是控制树结构的\gamma T,另一部分则是我们的正则项。叶子数量T可以代表整个树结构,这是因为在XGBoost 中所有的树都是 CART 树(二叉树),所以我们可以根据叶子的数量T判断出树的深度,而\gamma是我们自定的控制叶子数量的参数。至于第二部分正则项,类比一下我们岭回归和Lasso 的结构,参数\alpha\lambda的作用其实非常容易理解,他们都是控制正则化强度的参数,我们可以二选一使用,也可以一起使用加大正则化的力度。当\alpha\lambda都为0 的时候,目标函数就是普通的梯度提升树的目标函数。

 

正则项的意义和参数设置

在普通的梯度提升树 GBDT 中,我们是不在目标函数中使用正则项的。但 XGB 借用正则项来修正树模型天生容易过拟合这个缺陷,在剪枝之前让模型能够尽量不过拟合。

参数的影响

根据我们以往的经验,我们往往认为两种正则化达到的效果是相似的,只不过细节不同。比如在逻辑回归当中,两种正则化都会压缩\theta 参数的大小,只不过L1正则化会让\theta为0 ,而 L2 正则化不会。在 XGB 中也是如此。当\lambda\alpha越大,惩罚越重,正则项所占的比例就越大,在尽全力最小化目标函数的最优化方向下,叶子节点数量就会被压制,模型的复杂度就越来越低,所以对于天生过拟合的XGB 来说,正则化可以一定程度上提升模型效果。
对于两种正则化如何选择的问题,从 XGB 的默认参数来看,我们优先选择的是 L2 正则化。当然,如果想尝试 L1也不是不可。两种正则项还可以交互,因此这两个参数的使用其实比较复杂。在实际应用中,正则化参数往往不是我们调参的最优选择,如果真的希望控制模型复杂度, 我们会调整\gamma而不是调整这两个正则化参数 ,因此不必过于在意这两个参数最终如何影响了我们的模型效果。对于树模型来说,还是剪枝参数地位更高更优先。

 

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

沉淀体育生

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

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

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

打赏作者

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

抵扣说明:

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

余额充值