决策树
弱分类算法:决策树,神经网络
Bagging -vs- Boosting
Bagging是减少variance,而Boosting是减少bias
- Bagging:重采样,取平均
- Boosting:最小化损失函数
Bootstrap:自助采样算法,有放回抽样,用小样本数据集估计整体的非参数方法(估计统计量)。
Bagging:套袋法,并行化集成学习方法,自助采样 --> 加权融合 --> 等权重投票
场景:分类任务(简单投票法),回归任务(简单平均法)
Boosting:提升法,串行化集成学习方法,训练子集 --> 基分类器 --> 加权融合 --> 加权投票
缺点:需预先知道弱学习算法的分类正确的下限
AdaBoost:Adaptive Boosting(Boosting进阶版),子集选择 --> (分错)样本权重计算 --> 分类器权重计算
优点:自适应训练基分类器,侧重训练分错的样本
关于两者的区别,详见:https://www.cnblogs.com/earendil/p/8872001.html
几种算法关系总结如下:
- Bagging + 决策树 = 随机森林(RF)
- AdaBoost + 决策树 = 提升树(Boosting Tree)
- Gradient Boosting + 决策树 = 梯度提升树(GBDT)
GBDT以决策树(CART)为基学习器的GB算法,XGBoost扩展和改进GDBT,更快、准确率相对高。
随机森林
梯度提升树
XGBoost
以上几种总结如下:
随机森林RF:并行化集成学习方法,以决策树为基学习器构建Bagging的集成学习方法,在决策树的训练过程中引入随机属性选择。
特点:样本扰动+属性扰动 ==> 基学习器多样性 ==> 泛化性能提升
梯度提升树:采用加法模型(即基函数的线性组合)与前向分布算法,以决策树为基函数的提升方法
特点:利用最速下降法,关键是利用损失函数的负梯度在当前模型的值
XGBoost:并行化集成学习方法
特点: