XGBoost

XGBoost的损失函数是什么,节点划分准则是什么?

损失函数:

img

节点划分准则:

  • 分类树:信息增益获信息增益比

  • 回归树:最大均方误差

整体流程:

Xgboost和GBDT算法时间复杂度是多少?

针对每个特征,把属于该节点的训练样本根据该特征值升序排列,通过线性扫描的方式来决定该特征的最佳分裂点,并记录该特征的最大收益(采用最佳分裂点时的收益)

时间复杂度:O(nlogn *d* m)(n是样本个数,d是特征个数,m是树的深度)

xgboost是如何进行剪枝的?

xgboost采用后剪枝的方式进行剪枝,即 从顶到底建立所有可以建立的子树,再从底到顶反向进行剪枝,这样不容易陷入局部最优解。

xgboost和gbdt的区别:

1.xgboost是gbdt的工程化实现

2.xgboost加入了正则化信息

3.xgboost允许使用自定义的损失函数

4.xgboost损失函数加入了二阶导数信息,下降的更快更准

5.xgboost支持和随机森林一样的列抽样

6.xgboost支持并行化,但是并不是树与树之间的并行化,而是在最费时的特征排序截断进行并行化,将排序结果进行分桶保存,各个树生成时复用

7.xgboost基模型除了支持gbdt支持的CART树外还支持其他的基模型

results matching ""

    No results matching ""