2020集成学习面试问题总结

1、集成学习分哪几种,有何异同。
Boosting:训练基分类器时采用串行的方式,强依赖。对于错误分类的样本给与更高的权重。线性加权得到强分类器。减少偏差
Bagging:并行训练,弱依赖。每个个体单独判断,投票做出最后的决策。减少方差。RF每次选取节点分裂属性时,会随机抽取一个个属性子集。
2、偏差和方差
偏差,偏离程度。训练开始时,拟合差,偏差大。
方差,离散程度。敏感程度。
2020集成学习面试问题总结

3、为什么说bagging是减少variance,而boosting是减少bias?
boosting是把许多弱的分类器组合成一个强的分类器。弱的分类器bias高,而强的分类器bias低,所以说boosting起到了降低bias的作用。variance不是boosting的主要考虑因素。bagging是对许多强(甚至过强)的分类器求平均。在这里,每个单独的分类器的bias都是低的,平均之后bias依然低;而每个单独的分类器都强到可能产生overfitting的程度,也就是variance高,求平均的操作起到的作用就是降低这个variance。
4、Adaboost算法
https://www.cnblogs.com/liuq/p/9927580.html
2020集成学习面试问题总结

5、GBDT
基于决策树(通常为CART)预测的残差进行迭代的学习。
Gradient Boosting 思想:根据当前模型损失函数的负梯度信息来训练新加入的弱分类器。
2020集成学习面试问题总结
梯度提升和梯度下降的区别:梯度提升直接定义在函数空间。梯度下降中,模型以参数化表示,模型的更新即参数的更新。
GBDT的优点和缺点:优点:预测阶段计算速度快,树与树之间可以并行化计算。泛化能力好,可解释性强。缺点:训练过程串行,只能在决策树内部采用局部并行。
6、XGBoost和GBDT的区别
(1)原始的GBDT算法基于经验损失函数的负梯度来构造新的决策树,只是在决策树构建完成后再进行剪枝。而XGBoost在决策树构建阶段就加入了正则项。
(2)在使用CART作为基分类器时,XGBoost显式地加入了正则项来控制模型的复杂度,有利于防止过拟合,从而提高模型的泛化能力。
(3)GBDT在模型训练时只使用了代价函数的一阶导数信息,XGBoost对代价函数进行
二阶泰勒展开**,可以同时使用一阶和二阶导数。
(4)传统的GBDT采用CART作为基分类器,XGBoost支持多种类型的基分类器,比如线性分类器。
(5)传统的GBDT在每轮迭代时使用全部的数据,XGBoost则采用了与随机森林相似的策略,支持对数据进行采样。
(6)传统的GBDT没有设计对缺失值进行处理,XGBoost能够自动学习出缺失值的处理策略。**
7、常用的基分类器
决策树。1)方便将样本权重整合到训练中。2)调节树的层数可以调节泛化能力和表达能力。3)数据样本的扰动对决策树的影响较大。基分类器的随机性较大。