XGBoost为什么可以通过叶子节点的权值w的L2模平方来控制树的复杂度?

  统计/机器学习    浏览次数:4883        分享
3

相关问题:

xgboost是怎么做到regularization的?


其中提到:叶节点的数量和叶节点的得分越高,树就越复杂。

『叶节点的数量』容易理解,请问『叶节点的得分越高』为什么会导致树就越复杂呢?

 

dzzxjl   2018-03-09 11:13



   1个回答 
2

这个是xgboost作者陈天骐关于xgboost的ppt,可以看一看

https://homes.cs.washington.edu/~tqchen/pdf/BoostedTree.pdf

节点的权值作为惩罚可以防治模型过于细化。因为分得越细,越容易过拟合。说白了,就是不想让一些点分得太好,好到难以置信。换句话,如果每个叶都分得巨好,那么就需要“陈独秀同学,你先坐下”了。

本质,它是和“叶节点的数量”类似的惩罚,但是不仅防治分得细,还防止分得太好。

听起来有点矛盾,但这的确就是xgboost牛轰轰的思路!


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

Jiho   2018-03-09 14:14



  相关讨论

xgboost有正则项为什么还会过拟合呢?

XGBoost损失函数中正则项的理解

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

stack多个xgboost效果并不理想

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

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

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

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

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

xgboost怎么调参?

  随便看看

请问在sklearn怎么在已有的模型的基础上训练新的数据?

pandas.DataFrame选取最后k行

如果数据不是正态分布,能用3sigma原则剔除异常值吗?

numpy.array从行向量转为列向量

sklearn r2_score返回负数