xgboost 中的树复杂度和 gamma 参数

数据挖掘 xgboost 损失函数 梯度提升决策树
2022-02-19 01:54:56

根据xgboost论文,正则化由下式给出:

Ω(f)=γT+λ||w||2

其中是树的复杂度(即树中叶子的数量)。γ

gamma另一方面,xgboost 库中的参数控制节点处的最小拆分以便继续。因此,xgboost 软件包是否使用了上述等式中我找不到任何参考。γ

1个回答

在以下等式 (1) 的段落中:

T是树中的叶子数。

γ是一个超参数,它影响在树的大小(叶子数量)上发生多少正则化。

现在事实证明,您可以将(至少粗略地,参见底部的注释)解释为([source]):γ

在树的叶节点上进行进一步分区所需的最小损失减少。gamma越大,算法就越保守。

您可以从等式(2)中看到,正则化目标:

L(ϕ)=il(y^i,yi)+kΩ(fk),where Ω(f)=γT+12λw2.

通过进行拆分,您将增加1,因此惩罚增加了,因此您的基本损失项需要至少减少才能成为整体改进。 注意:当然,这忽略了将一个节点一分为二Tγlγw