数据挖掘面试题之xgboost

1.XGBoost引入

 
XGBoost 是由 传统 GBDT 模型 展而来的,在上一 中, GBDT 模型在求解最 问题
时应 用了一 阶导 ,而 XGBoost 使用 失函数的一 和二 阶导 ,更神奇的是用 可以自定
义损 失函数,只要 失函数可一 和二 。除此, XGBoost 算法相比于 GBDT 算法 有其
点,例如支持并行 算,大大提高算法的运行效率; XGBoost 失函数中加入了正 则项
用来控制模型的复 度, 而可以防止模型的 过拟 合; XGBoost 除了支持 CART 模型,
线 性基 模型; XGBoost 采用了随机森林的思想, 字段 行抽 ,既可以防止 过拟 合,也可
以降低模型的 算量。

2.XGBoost损失函数推导

 

 

 

实际应
中,根据某个 定的增益 阈值 对树 的生 长进 行剪枝,当 点分割后 生的增益小于 阈值时
剪掉 分割,否 分割。最 ,根据增益 Gain来决定最佳树结构 的选择。
 
这里提个外话:xgboost怎么给特征评分?
除了枚举所有不同树结构的贪心法,还有针对主要针对数据太大,不能直接进行计算的近似算法,最后还有lightgbm的
histogram方法。(参考:https://www.julyedu.com/question/big/kp_id/23/ques_id/2079 xgboost怎么给特征评分?)


 
 

4.XGBoost的优点

之所以XGBoost可以成为机器学习的大杀器,广泛用于数据科学竞赛和工业界,是因为它有许多优点:

1.使用许多策略去防止过拟合,如:正则化项、Shrinkage 衰减 and Column Subsampling 列抽样等。

2. 目标函数优化利用了损失函数关于待求函数的二阶导数

3.支持并行化,这是XGBoost的闪光点,虽然树与树之间是串行关系,但是同层级节点可并行。具体的对于某个节点,节点内选择最佳分裂点,候选分裂点计算增益用多线程并行。训练速度快。另外分裂 除了枚举所有不同树结构的贪心法,还实现了分裂点寻找近似算法。

4.添加了对稀疏数据的处理。

5.交叉验证,early stop,当预测结果已经很好的时候可以提前停止建树,加快训练速度。

6.支持设置样本权重,该权重体现在一阶导数g和二阶导数h,通过调整权重可以去更加关注一些样本。

7.目标函数相对dbdt 显示的把树模型复杂度作为正则项加到优化目标中。

8.数据事先排序并且以block形式存储,有利于并行计算。

 https://www.julyedu.com/question/big/kp_id/23/ques_id/1037    46、怎么理解决策树、xgboost能处理缺失值?而有的模型(svm)对缺失值比较敏感。 

参考文献:

https://blog.csdn.net/qq_32742009/article/details/81949444 【机器学习】集成学习知识点总结二

https://mp.weixin.qq.com/s?__biz=MzU5MTcxNzE3Mg==&mid=2247484037&idx=1&sn=455ddf50d78ed44c32d3519aa8b98b75&chksm=fe2bf4dec95c7dc874190fc36a9f692c49541877b279dc945d35a212dd1d01496298011ca9ee&scene=0&xtrack=1&key=37b4d3bb1636246ff232d685a91774b3d3a56bedcee5ae5123f43c85b2d30e7fe1a6a5759a64d80da24c288ed144ac986823db3a9da22f541f5ab1f60776b2a9695caa78cd8bf85a22c64d0bd7e1e45a&ascene=1&uin=Nzg4MzQ4NTMy&devicetype=Windows+10&version=62080079&lang=zh_CN&exportkey=Aeh9i3Ptmsfij0CHLXpICeg%3D&pass_ticket=tDGPDp6wGprdH3wPv7iS8s%2FOj5WG3rOx80rVQKRGqbv%2F3dgezgBeR44y4I9fJSaF  史上最详细的集成学习讲解,XGBoost 和 LightGBM 一看就明白了

https://zhuanlan.zhihu.com/p/72159928   集成学习终篇:从CART回归树开始,经历BDT、GBDT彻底理解XGBoost

https://blog.csdn.net/wjwfighting/article/details/82532847 机器不学习:机器学习时代的三大神器:GBDT,XGBOOST和LightGBM

 

发布了86 篇原创文章 · 获赞 1 · 访问量 8206

猜你喜欢

转载自blog.csdn.net/a1272899331/article/details/104741281