XGboost和GBDT的异同

性质:GBDT是机器学习算法,XGBoost除了算法内容还包括一些工程实现方面的优化。

基于二阶导:GBDT使用的是损失函数一阶导数,相当于函数空间中的梯度下降;而XGBoost还使用了损失函数二阶导数,相当于函数空间中的牛顿法。

正则化:XGBoost显式地加入了正则项来控制模型的复杂度,能有效防止过拟合

列采样:XGBoost采用了随机森林中的做法,每次节点分裂前进行列随机采样。

缺失值处理:XGBoost运用稀疏感知策略处理缺失值,而GBDT没有设计缺失策略。 

并行高效:XGBoost的列块设计能有效支持并行运算,提高效率。

你可能感兴趣的:(算法,机器学习,python,人工智能)