随机森林与梯度提升树
提升树模型:
提升方法实际采用加法模型(即基函数的线形组合)与前向分步算法。以决策树为基函数的提升方法称为提升树。对分类问题决策树是二叉分类树。提升树模型可以表示为决策树的加法模型: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
随机森林与梯度提升树相关推荐
- 笔记︱决策树族——梯度提升树(GBDT)
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 本笔记来源于CDA DSC,L2-R语言课程所 ...
- 随机森林(Random Forest)和梯度提升树(GBDT)有什么区别?
随机森林(Random Forest)和梯度提升树(GBDT)有什么区别? 随机森林属于 集成学习 中的 Bagging(Bootstrap AGgregation 的简称) 方法. 随机森林是由很多 ...
- 深度学习核心技术精讲100篇(二十)-如何通过树模型实现梯度提升树(GBDT)+LR,随机森林(RandomForest) +LR
前言 在讲如何通过树模型做特征工程之前,首先让我们回顾一下一个机器学习(除去深度学习项目部分)项目的大致流程: 从业务场景中抽象出问题--分类问题,回归问题,还是聚类问题等, 接下来是数据获取,数据清 ...
- R语言使用caret包构建gbdt模型(随机梯度提升树、Stochastic Gradient Boosting )构建回归模型、通过method参数指定算法名称
R语言使用caret包构建gbdt模型(随机梯度提升树.Stochastic Gradient Boosting )构建回归模型.通过method参数指定算法名称 目录
- 集成学习—SGBT随机梯度提升树
上一篇集成学习-GBDT原理理解中提到,由于GBDT的弱学习器之间存在依赖关系,难以并行训练数据,因此若数据量较大时程序运行太慢.这里可以通过加入了自采样的SGBT来达到部分并行,这是一个能改善GBD ...
- 机器学习Sklearn实战——梯度提升树二分类原理
一.算法使用 (一)创建 (二)参数调整 cross_val_score:求单一参数最合适的值(KNN) GridSearchCV网格搜索:多参数组合最优的值 标准:准确率,精确率,召回率,F1 (三 ...
- 机器学习Sklearn实战——极限森林、梯度提升树算法
极限森林 from sklearn.ensemble import ExtraTreesClassifier,RandomForestClassifier from sklearn.tree impo ...
- 【机器学习】梯度提升树(GBDT)的原理小结
在集成学习之Adaboost算法原理小结中,我们对Boosting家族的Adaboost算法做了总结,本文就对Boosting家族中另一个重要的算法梯度提升树(Gradient Boosting De ...
- 梯度提升树(GBDT)原理小结
在集成学习之Adaboost算法原理小结中,我们对Boosting家族的Adaboost算法做了总结,本文就对Boosting家族中另一个重要的算法梯度提升树(Gradient Boosting De ...
最新文章
- linux c 实现函数 trim 除去字符串首尾空格
- 【android】TabLayout文字闪烁问题
- [No0000D0] 让你效率“猛增十倍”,沉浸工作法到底是什么?
- 【从零开始】Python字符串的操作方法
- Spring AOP 五大通知类型
- JAVA入门级教学之(异常的处理try...catch)
- Hadoop集群安装部署_分布式集群安装_01
- 入门monkeyrunner7-monkeyrunner demo3 EasyMonkeyDevice+hierarchyviewer +monkeyrunner+截图对比
- 网络游戏:为什么失败
- 定档6月11日 诺基亚手机新品发布亮点抢先看
- 2016集训测试赛(二十四)Problem C: 棋盘控制
- NYOJ 取石子总结
- H.264文件解析与码流分析
- 【工具向】分析FGUI依赖关系工具
- oracle内连接和外连接
- 安装VMware-打开时显示文件包含病毒
- 【分享】第48次中国互联网络发展状况统计报告- 数据截止2021年6月
- java 通过身份证判断性别
- 一款好用的WEB版报表工具、报表设计器
- 向量长度、夹角与向量正交
热门文章
- 日期操作类DateUtils
- 01基于配置文件方式的SpringMVC,三种HandlerMapping,三种控制器
- Hibernate HQL基础 限定查询条件(这里面有各种条件查询)
- 检索数据_22_根据数据项的值排序
- 基于php构建APi流程,php – 如何构建一个RESTful API?
- xilinx SoC学习笔记之PetaLinux
- caffe-ssd编译、训练、测试全过程(最后有彩蛋)
- Quartus ii与Modelsim-altera 6.5b联调前仿真
- C语言中指针定义的时候初始化的必要性
- 一道简单的python面试题-购物车