提升树模型:

提升方法实际采用加法模型(即基函数的线形组合)与前向分步算法。以决策树为基函数的提升方法称为提升树。对分类问题决策树是二叉分类树。提升树模型可以表示为决策树的加法模型:fMx=m=1MT(x;θm),其中T(x;θm)表示决策树;θm为决策树的参数;M为树的个数。

提升树算法采用前向分步算法。首先确定初始提升树f0x=0,第m步的模型是fmx=fm-1x+T(x;θm),其中fm-1x为当前模型,通过经验风险极小化确定下一棵决策树的参数θm。

回归模型的提升树
假设采用平方误差损失函数时,

对回归问题的提升树算法来说,只需简单拟合当前模型的残差。

但对一般损失函数而言,往往每一步优化并不那么容易,针对这一问题,Freidman提出了梯度提升算法,这是利用最速下降法的近似方法,其关键是利用损失函数的负梯度在当前模型的值。作为回归问题提升树算法中的残差的近似值拟合一个回归树。

随机森林与梯度提升树
在算法层面,随机森林通过对数据集进行随机采样来构建训练样本,认为随机化有利于模型在测试集上的泛化性能。而梯度提升树根据训练数据寻找所有决策树的最优的线形组合。

随机森林比梯度提升树更容易训练,随机森林只需要设置一个超参数即可,每个结点上随机选取的特征数量,大多数情况下设置为log2的特征总数或特征总数的平方根,就可以取得不错的效果。而梯度提升树参数则包括了提升树的数量、深度和学习率等。

随机森林比梯度提升树更难过拟合。

梯度提升树对噪声异常敏感,从偏差与方差的角度,如果数据是嘈杂的,boosting算法可能会呈现出较高的模型方差,然而在其他情况下,boosting算法往往能够取得较好的效果。而随机森林并不基于模型残差来构建集成模型,往往能够取得很低的方差。
————————————————
版权声明:本文为CSDN博主「马恩尼斯」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ma412410029/article/details/84590204

随机森林与梯度提升树相关推荐

  1. 笔记︱决策树族——梯度提升树(GBDT)

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 本笔记来源于CDA DSC,L2-R语言课程所 ...

  2. 随机森林(Random Forest)和梯度提升树(GBDT)有什么区别?

    随机森林(Random Forest)和梯度提升树(GBDT)有什么区别? 随机森林属于 集成学习 中的 Bagging(Bootstrap AGgregation 的简称) 方法. 随机森林是由很多 ...

  3. 深度学习核心技术精讲100篇(二十)-如何通过树模型实现梯度提升树(GBDT)+LR,随机森林(RandomForest) +LR

    前言 在讲如何通过树模型做特征工程之前,首先让我们回顾一下一个机器学习(除去深度学习项目部分)项目的大致流程: 从业务场景中抽象出问题--分类问题,回归问题,还是聚类问题等, 接下来是数据获取,数据清 ...

  4. R语言使用caret包构建gbdt模型(随机梯度提升树、Stochastic Gradient Boosting )构建回归模型、通过method参数指定算法名称

    R语言使用caret包构建gbdt模型(随机梯度提升树.Stochastic Gradient Boosting )构建回归模型.通过method参数指定算法名称 目录

  5. 集成学习—SGBT随机梯度提升树

    上一篇集成学习-GBDT原理理解中提到,由于GBDT的弱学习器之间存在依赖关系,难以并行训练数据,因此若数据量较大时程序运行太慢.这里可以通过加入了自采样的SGBT来达到部分并行,这是一个能改善GBD ...

  6. 机器学习Sklearn实战——梯度提升树二分类原理

    一.算法使用 (一)创建 (二)参数调整 cross_val_score:求单一参数最合适的值(KNN) GridSearchCV网格搜索:多参数组合最优的值 标准:准确率,精确率,召回率,F1 (三 ...

  7. 机器学习Sklearn实战——极限森林、梯度提升树算法

    极限森林 from sklearn.ensemble import ExtraTreesClassifier,RandomForestClassifier from sklearn.tree impo ...

  8. 【机器学习】梯度提升树(GBDT)的原理小结

    在集成学习之Adaboost算法原理小结中,我们对Boosting家族的Adaboost算法做了总结,本文就对Boosting家族中另一个重要的算法梯度提升树(Gradient Boosting De ...

  9. 梯度提升树(GBDT)原理小结

    在集成学习之Adaboost算法原理小结中,我们对Boosting家族的Adaboost算法做了总结,本文就对Boosting家族中另一个重要的算法梯度提升树(Gradient Boosting De ...

最新文章

  1. linux c 实现函数 trim 除去字符串首尾空格
  2. 【android】TabLayout文字闪烁问题
  3. [No0000D0] 让你效率“猛增十倍”,沉浸工作法到底是什么?
  4. 【从零开始】Python字符串的操作方法
  5. Spring AOP 五大通知类型
  6. JAVA入门级教学之(异常的处理try...catch)
  7. Hadoop集群安装部署_分布式集群安装_01
  8. 入门monkeyrunner7-monkeyrunner demo3 EasyMonkeyDevice+hierarchyviewer +monkeyrunner+截图对比
  9. 网络游戏:为什么失败
  10. 定档6月11日 诺基亚手机新品发布亮点抢先看
  11. 2016集训测试赛(二十四)Problem C: 棋盘控制
  12. NYOJ 取石子总结
  13. H.264文件解析与码流分析
  14. 【工具向】分析FGUI依赖关系工具
  15. oracle内连接和外连接
  16. 安装VMware-打开时显示文件包含病毒
  17. 【分享】第48次中国互联网络发展状况统计报告- 数据截止2021年6月
  18. java 通过身份证判断性别
  19. 一款好用的WEB版报表工具、报表设计器
  20. 向量长度、夹角与向量正交

热门文章

  1. 日期操作类DateUtils
  2. 01基于配置文件方式的SpringMVC,三种HandlerMapping,三种控制器
  3. Hibernate HQL基础 限定查询条件(这里面有各种条件查询)
  4. 检索数据_22_根据数据项的值排序
  5. 基于php构建APi流程,php – 如何构建一个RESTful API?
  6. xilinx SoC学习笔记之PetaLinux
  7. caffe-ssd编译、训练、测试全过程(最后有彩蛋)
  8. Quartus ii与Modelsim-altera 6.5b联调前仿真
  9. C语言中指针定义的时候初始化的必要性
  10. 一道简单的python面试题-购物车