gpt4 book ai didi

xgboost - 在这个 XGBoost 树中如何计算休假分数?

转载 作者:行者123 更新时间:2023-12-02 10:29:34 25 4
gpt4 key购买 nike

我正在看下面的图片。 enter image description here

有人可以解释一下它们是如何计算的吗?我以为 N 是 -1,是 +1,但后来我不明白这个小女孩怎么有 0.1。但这对于树 2 也不起作用。

最佳答案

我同意@user1808924。我认为仍然值得解释一下 XGBoost 在幕后的工作原理。

  • 叶子分数的含义是什么?

首先,您在叶子中看到的分数不是概率。它们是回归值。

在梯度提升树中,只有回归树。为了预测一个人是否喜欢电脑游戏,模型(XGboost)会将其视为回归问题。这里的标签变成 1.0 表示是,0.0 表示否。然后,XGboost 将回归树放入训练中。当然,树会返回 +2、+0.1、-1 之类的值,这是我们在叶子处得到的。

我们将所有“原始分数”相加,然后通过应用sigmoid函数将它们转换为概率。

  • 如何计算叶子的分数?

叶子分数 (w) 的计算公式为 this formula :

w = - (sum(gi) / (sum(hi) + lambda))

其中gh是一阶导数(梯度)和二阶导数(hessian)。

为了演示,我们选择第一棵树的 -1 值的叶子。假设我们的目标函数是 mean squared error (mse)我们选择lambda = 0

对于mse,我们有g = (y_pred - y_true) 和h=1。我只是去掉了常量2,事实上,你可以保留它,结果应该保持不变。另请注意:在第t_th次迭代中,y_pred是我们在第(t-1)次次迭代后得到的预测(直到那个时候)。

一些假设:

  • 女孩、爷爷和奶奶不喜欢电脑游戏(每个人y_true = 0)。
  • 对于所有 3 个人来说,初始预测都是 1(即,我们猜测所有人都喜欢游戏。请注意,我故意选择 1 以获得相同的结果与第一棵树。事实上,初始预测可以是均值(默认为均方误差)中值(默认为>平均绝对误差),...叶子中所有观察值的标签)。

我们计算每个人的gh:

  • g_girl = y_pred - y_true = 1 - 0 = 1。同样,我们有 g_grandpa = g_grandma = 1
  • h_girl = h_grandpa = h_grandma = 1

g, h值代入上面的公式,我们有:

w = -( (g_girl + g_grandpa + g_grandma) / (h_girl + h_grandpa + h_grandma) ) = -1

最后一点:在实践中,我们在绘制树时看到的叶子分数有点不同。它将乘以学习率,即 w *learning_rate

关于xgboost - 在这个 XGBoost 树中如何计算休假分数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41433209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com