xgboost是怎么做到regularization的?

  统计/机器学习 监督式学习    浏览次数:9009        分享
4

XGB比GBDT好主要就是因为增加了regularization,防止过拟合。

这个regularization是怎么加上去的?对LASSO或者Ridge,我们知道可以加在回归系数上面。但是决策树又没有系数之类的,这个regularization是怎么加的?加在哪儿的?

谢谢各位!

 

红魔鲁尼   2017-04-14 09:18



   1个回答 
15

xgboost的目标函数是损失函数+惩罚项。从下面的式子可以看出,树越复杂,惩罚越重。

树的复杂度定义如下。

叶节点的数量和叶节点的得分越高,树就越复杂。



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

KingBug   2017-06-01 21:06

『叶节点的数量』容易理解,请问『叶节点的得分越高』为什么会导致树就越复杂呢? - dzzxjl   2018-03-08 14:49
估计得需要看那篇论文了。感觉第一项是叶结点总数的话,第二项就是叶结点的加权后的总数。 - kykix   2018-03-09 00:03


  相关讨论

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

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

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

为什么lightgbm比xgb快?

stack多个xgboost效果并不理想

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

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

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

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

xgboost怎么调参?

  随便看看

怎么给plt.subplot加一个主标题?

deep learning中的pooling是什么意思?

pip install opencv-python失败,难道非要编译安装?

二元分类为什么不能用MSE做为损失函数?

回归问题中R方可以小于0吗?