【面试算法基础刷题】xgboost相关

【面试算法基础刷题】xgboost相关

XGboost 算法的特点:
XGboost 将树模型的复杂度加入到正则化项中,从而避免过拟合,泛华性能好
损失函数是用泰勒展开式展开的,用到了一阶导和二阶导,可以加快优化速度
在寻找最佳分隔点时,采用近似贪心算法,用来加速计算
不仅支持CART作为基分类器,还支持线性分类器,在使用线性分类器的时候可以使用L1,L2正则化
支持并行计算,XGBoost的并行是基于特征计算的并行,将特征列排序后 block 的形式存储在内存中,在后面的迭代过程中反复使用这个结构。在进行节点分裂时,计算每个特征的增益,选择增益最大的特征最为分隔节点,各个特征的增益计算可以使用多线程并行
优点:速度快、效果好、能处理大规模数据、支持自定义损失函数
缺点:算法参数过多,调参复杂,不适合处理高维特征数据