XGboost介绍

XGBoost是端到端的迭代决策树算法框架,被广泛用于各类机器学习应用中,具有很好的可扩展性

每棵树都是回归树(CART树)

Xgboost相比传统GBDT,做了如下优化:

1. 损失函数增加了正则项,正则项里包含了树的叶子节点个数、每个叶子节点上输出的score的L2模的平方和, 提高了树的泛化能力

2. 对于大数据,提供了块缓存结构

3. 对代价函数进行了二阶泰勒展开,使用二阶导优化目标损失函数

4. 对于稀疏或者缺失特征数据, 有默认分支,这样避免计算分割点

 

为了防止过拟合,采用两种方法:

1. 加入Shrinkage思想,相当于给每棵树加入权重

2. 列采样,即特征采样,类似于随机森林

 

 

 

源码: https://github.com/dmlc/xgboost

 

 

参考文献:

XGBoost: A Scalable Tree Boosting System

posted @ 2019-04-02 19:36  energy1989  阅读(61)  评论(0编辑  收藏  举报