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

  统计/机器学习 监督式学习 损失函数    浏览次数:1267        分享
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



  相关主题

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

xgboost的FIT问题   1回答

stack多个xgboost效果并不理想   6回答

xgboost怎么调参?   9回答

xgboost中的参数min_child_weight是什么意思?   1回答

为什么lightgbm比xgb快?   2回答

xgboost里怎么使用KS值?   1回答

R里xgboost的objective = "multi:softprob"是什么目标函数?   1回答

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

到底什么时候用lightgbm什么时候用xgb   2回答

请教:xgboost的目标公式如何理解?   1回答

对于xgboost,还有必要做很多特征工程吗?   3回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!