算法初识

决策树

弱分类算法:决策树,神经网络 

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:并行化集成学习方法

 特点:

posted @ 2019-07-23 19:04  万箭穿心,习惯就好。  阅读(226)  评论(0编辑  收藏  举报