有关XGBoost的问题

时间:2019-06-06 13:22:53

标签: machine-learning tree xgboost gradient-descent boosting

我正试图了解XGBoost算法,并对此有一些疑问。

我读过各种博客,但似乎都在讲述一个不同的故事。下面是我正在使用的代码的一个片段(仅供参考)。

param <- list(  objective           =  'reg:linear',
                eta                 = 0.01,
                max_depth           = 7,
                subsample           = 0.7,
                colsample_bytree    = 0.7,
                min_child_weight    =  5
)

下面是我有四个问题:

1)似乎XGBoost使用Gradient decent通过更改系数来最小化成本函数。我知道可以为使用线性回归的gblinear模型完成此操作。

但是,对于gbtree模型,由于基于树的模型中没有系数可以更改,因此XGboost如何应用像样的渐变。还是在那里?

2)同样,gbtree模型使用参数lambda进行L2正则化,使用alpha进行L1正则化。我知道正则化对系数施加了一些约束,但是gbtree模型仍然没有系数。那么如何在它上面施加约束呢?

3)目标函数的作用是什么。例如reg:线性。据我了解,分配目标函数只会告诉模型要使用哪个评估指标。但是,然后有一个单独的eval_metric参数。那么为什么我们需要目标函数呢?

4)简单地说,min_child_weight是什么?我以为这只是最低要求。叶节点中的观察结果。但是我认为这与粗麻布指标等有关,我不太了解。

因此,如果有人能够以简单易懂的方式进一步了解这些内容,我将不胜感激?

0 个答案:

没有答案