从boost到Adaboost再到GBRT-GBDT-MART

转载 2018年04月15日 16:53:38

先弄明白以下三个公式:

1)Boost(提升法)=加法模型(即基函数的线性组合)+前向分步算法+损失函数

2)Adaboost=Boost+损失函数是指数函数(基函数可以任意)

3)提升树=Boost+基函数是决策树(损失函数可以任意)

 由此可以看出:

1)Boost是一种算法框架,而这种框架是由加法模型和前向分步算法构成的。

2)Adaboost和提升树都是Boost的子集,都是由限定了Boost中某一部分元素而得到的。


 

前向分步算法(解决加法模型):每次学习一个基函数的参数Gm(x)(即下一个基函数)

下一个基函数的选择标准:在已经学习到加法模型fm-1(x)的基础上,选择一个使得损失最小的基函数Gm(x)


 

损失函数:

1)指数损失函数:决定了Adaboost必须进行加权取样(权重由错误率决定),以进行下一个模型的参数学习,并且决定了最终模型也是加权累计

2)平方误差损失函数:决定了BRT的下一个模型应该学习前一个模型的残差

3)一般损失函数:决定了GBRT/GBDT的下一个模型应该学习前一个模型的梯度(残差近似)


 

各种提升决策树

1)BDT(提升决策树,二分类):Adaboost中将模型选定为二类分类树,即二类分类树+指数损失—>加权【可以称为:提升分类树的Adaboost方法】

2)BRT(提升回归树):二叉回归树+平方误差损失—>残差

3)GBRT:二叉回归树+普通损失函数—>损失函数的负梯度(残差的替代)

4)GBDT:二叉分类树+普通损失函数—>损失函数的负梯度

当损失函数是平方误差损失时,其负梯度就是残差,即此时GBRT=BRT

Boost和AdaBoost算法原理简介

本文主要参考: 1):《AdaBoost分类算法》http://wenku.baidu.com/link?url=udZ32_5hjlVNuqOAhuCEDPpHcQTEwEAxBiPkkPmPSM...
  • whiteinblue
  • whiteinblue
  • 2013-11-08 11:06:58
  • 9933

Gradient boost adaboost简单区别

转载网址 http://blog.csdn.net/shenbo2030/article/details/45115843 http://blog.csdn.net/haidao2009/...
  • LIYUAN123ZHOUHUI
  • LIYUAN123ZHOUHUI
  • 2017-03-27 10:09:26
  • 1537

机器学习笔记(七)Boost算法(GDBT,AdaBoost,XGBoost)原理及实践

Boost(提升)算法介绍,包括GDBT,AdaBoost和XGBoost的原理及Python中的实践。
  • sinat_22594309
  • sinat_22594309
  • 2017-03-09 12:09:49
  • 10144

机器学习笔记 Boost算法(GDBT,AdaBoost,XGBoost)原理及实践

在上一篇博客里,我们讨论了关于Bagging的内容,其原理是从现有数据中有放回抽取若干个样本构建分类器,重复若干次建立若干个分类器进行投票,今天我们来讨论另一种算法:提升(Boost)。 简单地来说,...
  • rxt2012kc
  • rxt2012kc
  • 2017-05-06 19:13:54
  • 1745

一些关于bootstrap,bagging,Adaboost,random forest, gradient boost的基本理解

Bootstraping:  名字来自成语“pull up by your own bootstraps”,意思是依靠你自己的资源,称为自助法, 有放回的抽样方法,是非参数统计中一种重要的估计统计...
  • qq_34562093
  • qq_34562093
  • 2017-12-04 17:18:51
  • 150

C++实现AdaBoost算法(机器学习 Boost)

  • 2015年07月27日 10:50
  • 10KB
  • 下载

Ng机器学习系列补充:6、集成学习算法AdaBoost(Adaptive Boosting)

机器学习补充系列国际权威的学术组织the IEEE International Conference on Data Mining (ICDM,国际数据哇局会议) 2006年12月评选出了数据挖掘领域...
  • mmc2015
  • mmc2015
  • 2015-01-10 15:08:32
  • 1865

boosting和adaboost区别

boosting和adaboost区别 百度百科 http://baike.baidu.com/lin k?url=fgpDHYqs2gXjm9sAtUGUZCSGO38LvXpGUFlfrRoEL...
  • sqiu_11
  • sqiu_11
  • 2016-11-01 11:06:42
  • 1057

几种Boost算法的比较(Discrete AdaBoost, Real AdaBoost, LogitBoost, Gentle Adaboost)

关于boost算法   boost算法是基于PAC学习理论(probably approximately correct)而建立的一套集成学习算法(ensemble learning)。其根本思...
  • stf1065716904
  • stf1065716904
  • 2017-09-04 20:22:16
  • 415

AdaBoost算法在文本分类中的总结

AdaBoos 迭代次数TT在130时,在超过第100次之后,权重系数αt\alpha_t的值维持在±0.0x(x=1,...,9)\pm0.0x(x=1,...,9),由此将迭代次数TT换成100之...
  • u013272948
  • u013272948
  • 2017-05-14 15:18:11
  • 781
收藏助手
不良信息举报
您举报文章:从boost到Adaboost再到GBRT-GBDT-MART
举报原因:
原因补充:

(最多只允许输入30个字)