如何理解xgboost與cart節點分數?

  统计/机器学习 监督式学习 损失函数    浏览次数:4279        分享
0

各位好,最近在了解xgboost的方法論,推導過程看得滿順暢的,唯有幾點不太清楚

望各位大神指點


從這張圖可以知道,cart與tree ensemble就是把每一個樣本特徵對應到每顆樹的節點分數加起來,就是預測結果

但是這個分數該怎麼轉化為分類?(應該或說每個分類的機率)

而且如果一直迭代出新樹,分數不就爆表了嗎?

感謝各位

 

alexlau   2017-12-26 14:18



   2个回答 
0

我回答下你最后一个问题。

而且如果一直迭代出新樹,分數不就爆表了嗎?

------

一直迭代出新树,训练误差当然会降低,但是测试误差(泛化误差)未必会降低,因为模型就overfit了。

所以我们需要控制树的最大深度(max_depth)。


SofaSofa数据科学社区DS面试题库 DS面经

蘑菇蘑菇   2017-12-26 14:50

0

gbdt类模型 都是回归树,对于二分类默认使用binary_logloss.怎么理解呢?对于正样本,损失函数就是ln(1+e(-x))  ,对于负样本,损失函数就是ln(1+e(x))。总之,对于负样本,预测值越负越好,正样本越大越好。

这样总损失就是ln(1.。*1.。*1.。……),一堆1+无穷小  相乘,还是1+无穷小 ,在ln一下,无穷小,美滋滋。

这样输出就是负无穷到正无穷。

那概率值则么来的呢?节点分数x, 模型会输出    1/(1+e(-x))     ,公式不太会,见谅。这个值是0到1的假概率值。

从损失函数就可以看出,模型只是一个负样本给负值,正样本给正值的游戏规则下,一种平衡状态的解,本来就不是预测概率值的,只是假概率值,忽悠一下外行的。所以本质上二分类binary_logloss是个排序模型,给出模型认为谁更有资格当正样本的回答,只不过恰好有资格当正样本,意味着正样本概率也高。

SofaSofa数据科学社区DS面试题库 DS面经

蚂蚁不在线   2019-08-02 16:09



  相关讨论

GBDT和XGBoost使用的都是回归树,原理上是怎么支持解决分类问题的?

xgboost为什么会有seed?随机性体现在哪里?

xgboost是怎么做到regularization的?

xgboost里的每棵树是不是等权重的?

GBDT和XGBoost在叶子节点权重计算上有什么不同?

为什么lightgbm比xgb快?

到底什么时候用lightgbm什么时候用xgb

xgboost怎么调参?

xgboost中的决策树的复杂度是怎么定义的?

xgboost展开到二阶导数有什么好处啊

  随便看看

决策树、随机森林中的多重共线性问题

两个独立的正态随机变量的乘积服从什么分布?

随机森林如何调参?

numpy里的无穷大np.inf到底是多大呢?

前馈神经网络如何选择隐藏层的数量