在lightgbm中,min_sum_hessian_in_leaf是什么意思?

4
在lightgbm中,min_sum_hessian_in_leaf的含义是什么(参见http://lightgbm.readthedocs.io/en/latest/Parameters.html)?我知道hessian是二阶导数矩阵,但我不理解它在lightgbm(或梯度提升算法中)的上下文中意味着什么。lightgbm如何将该矩阵压缩为单个值?

min_sum_hessian_in_leaf有一个别名min_child_weight,它意味着它是叶子节点中实例权重(hessian)的最小总和。 - Louis Yang
是最小实例权重总和,还是总权重的最小分数?后者更有意义,但我不确定他们是否实际实现了这一点。 - Peter
是的,它似乎是权重之和,而不是分数。在L2回归的情况下,甚至只是权重的确切值。 - Peter
2个回答

2
简单回答:
封面(也称为min_sum_hessian_in_leaf)只是一个参数,用于考虑我们拆分的叶子节点中观察值的数量(实际上不仅如此)。在进行m=1,..,M个估计量的拆分时;如果叶子中的海森矩阵之和低于min_sum_hessian_in_leaf,则树将停止生长。例如,在最简单的情况下,当我们谈论回归并且损失函数是典型的(1/2)*sum(y_i-ypred_i)^2(没有正则化)时,则sum_hessian_in_leaf等于叶子中的观测次数。因此,假设min_sum_hessian_in_leaf = 3,则我们将要求每个叶子至少有3个观测值才能考虑新的拆分。因此,如果min_sum_hessian_in_leaf = 0,则m-tree(请记住,gbm是m = 1,..,M树/估计量)将自由生长,当然,没有限制地生长的树往往会过度拟合。另一方面,如果min_sum_hessian_in_leaf足够高,则m = 1,..,M的复杂度将很低(如短树/短小的树)。
更复杂(我的解释):
在这一点上,您可能会问自己为什么我们要谈论海森矩阵。答案非常复杂,但解决GBM算法的一种方法(请参见此处的算法https://en.wikipedia.org/wiki/Gradient_boosting)是不是最小化实际损失函数,而是最小化损失函数的近似值。这是以0为中心的二次多项式(这将使我们能够通过牛顿-拉弗森算法解决问题)。因此,现在要最小化的损失函数取决于第一导数(也可以视为雅可比)和第二导数(也可以视为海森矩阵)。在这一点上,我们知道,在决策树的背景下,当我们有一个具有高海森矩阵的新分裂时,这意味着分裂非常好地减少了损失(由于近似,实际上我们正在尝试在GBM的上下文中减少损失的梯度)。因此,当min_sum_hessian_in_leaf> sum_hessian_in_leaf时,这意味着我们的分裂不够好,因此我们无法在树中进行分裂。另一方面,如果min_sum_hessian_in_leaf <= sum_hessian_in_leaf,则意味着我们的分裂足够好以减少损失(实际上是损失梯度),因此我们可以继续树的生长。sum_hessian_in_leaf的公式因损失函数而异。因此,您可以根据要最小化的损失函数设置不同的min_sum_hessian_in_leaf(在回归问题中-没有正则化,sum_hessian_in_leaf =叶子中的观察次数,如我之前所述)。

参考资料:

Youtuber joshstarmer在他的xgboost/gbms播放列表中解释了这些细节。 《统计学习的要素》(tibshirani等人)有一章关于gbms,但没有关于lightgbm的内容。但这对我很有帮助。 XGBOOST论文:https://arxiv.org/pdf/1603.02754.pdf (你也可以阅读lgbm论文,但对我来说,这更有帮助,因为算法非常相似,除了EFB和GOOS等其他细节部分)。


-5

min_sum_hessian_in_leaf: 是在叶子节点上保持分裂的最小海森值总和


是的,但这意味着什么?海森矩阵是二阶偏导数的矩阵,但我们正在对哪个函数进行求导?我们是否正在对所有矩阵条目进行求和?如果是这样,为什么? - ftiaronsem
或许XGBoost算法中min_child_weight的解释提供了详细信息。 - BugKiller
我相信它总结了所有的二阶导数并且得到一个标量,这个标量就是 min_sum_hessian_in_leaf,也叫做 min_sum_hessian_per_leaf, min_sum_hessian, min_hessian, min_child_weight. - BugKiller

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接