在机器学习的集成学习中,GBDT、Xgboost和LightGBM
是非常重要的模型,而且在面试过程中也会常常问到其中的一些关键点,这里将做一些学习的记录。
下边将详细讲解AdaBoost、RF、GBDT、XGboost、lightGBM等模型。
偏差:是指由有所采样得到的大小为m的训练数据集,训练出的所有模型的输出的平均值和真实模型输出之间的偏差。
方差:是指有所有采样得到的大小为m的训练数据集,训练出的所有模型的输出的方差。
base learner的错误是方差和偏差的整体表现之和;boosting方法主要是逐步的聚焦分类器分错的样本上,为了减少集成分类器的偏差;bagging采用的是分而治之的策略,对于样本多次采样分别训练多个模型,目标是减少方差。
RF-随机深林,是以决策树为base learner构建的Bagging集成的基础上,进一步在决策树的训练过程中引入随机属性选择。具体来说就是在传统的决策树中选择划分属性的时候是在当前节点的属性集合(假设d个属性)中选择最优的属性,而在RF中是对基决策树中的每个节点随机选择一个包含k个属性的集合,然后从这个子集中进行最优属性划分。
k
=
d
k=d
k=d则是等同于传统决策树,
k
=
1
k=1
k=1则是随机选择一个属性划分,一般选择
k
=
l
o
g
2
d
k=log_2d
k=log2d。
本质上来说,RF是对决策树的改进,将多个决策树合并在一起。每棵树的构建事依赖于独立抽样的样本,每棵树具有相同的分布,分类误差取决于每一棵树的分类能力和他们之间的相关性。
优缺点:
py代码实现:
AdaBoost是英文"Adaptive Boosting"(自适应增强)的缩写,他的自适应体现在于:前一个base learner被错误分类的样本的权值会被增大,正确分类的权值会减小,并再次用来训练下一个基分类器。同时在每轮的迭代过程中,加入一个新的弱分类器,知道达到我们所预定的错误率或者是预先指定的最大迭代次数。
整个过程可以简化成三个步骤:
优缺点:
因篇幅问题不能全部显示,请点此查看更多更全内容