曾经在看用RF和GBDT的时候,以为是非常相似的两个算法,都是属于集成算法,可是细致研究之后,发现他们根本全然不同。

以下总结基本的一些不同点

Random Forest:

bagging (你懂得。原本叫Bootstrap
aggregating)

Recall that the key to bagging is that trees are repeatedly fit to bootstrapped subsets of the observations. One can
show that on average, each bagged treemakes use of around two-thirds of the observations.

bagging 的关键是反复的对经过bootstrapped採样来的观測集子集进行拟合。然后求平均。。。一个bagged tree充分利用近2/3的样本集。。。

所以就有了OOB预估(outof bag estimation)

training:   bootstrap the samples,

But when building these decision trees,each time a split in a tree is considered, a random sample of m predictors is chosen as split candidates from the full set of p predictors.

当构建决策树时,每次分裂时。都从全特征候选p集中选取m个进行分裂,一般m=sqrt(p)

比方:we choose m  (4 out of the 13 for the Heart data)

Using a small value of m in building a random forest will typically be helpful when
we have a large number of correlated predictors.

当特征集中相关联特征较多时,选择一个较小的m会有帮助。

random forests willnot overfit if we increase B, so in practice we use a value of B
sufficiently large for the error rate to have settled down.

随机森林不会过拟合,所以树的个数(B)足够大时会使得错误率减少

------------------------------------------------------------------------------------------------------------

GBDT

Boosting(a
set of weak learners create a single strong
learner)

Boosting does not involve bootstrap sampling; instead each tree is fit on a modified version of the original dataset.

Boosting不进行bootstrap sampling(这个但是RF的看家本领啊)。而是在原始数据集变化的版本号上进行拟合,(这个变化的版本号就是逐轮训练后。上一次的残差)

In general, statistical learning approaches that learn slowly tend to perform well.

普通情况下,学习慢的训练器表现效果较好(好像暗示了什么。。。。)

except that the trees are grown sequentially: each tree is grown using information
from previously grown trees.

GBDT的每棵树是依照顺序生成的(这个和RF全然不一样,RF并行生成就Ok),每棵树的生成都利用上之前生成的数留下的信息

The number of trees B. Unlike bagging and random forests, boostingcan overfit if B is too
large,

在GBDT中,树再多会过拟合的。

。(和RF不一样)

The number d of splits in each tree, which controls the complexity of the boosted ensemble.Often
d = 1 works well,

在树生成过程中,每一次分裂的时候。树深度为1时。效果最好(这个就是决策桩)

看完他们两个的差别之后,是不是认为他们全然不一样呢?

再来一个图:

在同样数据集上,Boosting主要比較树深度,而RF的參数主要是m....这样是不是更看出了他们的不同。

主要文字及图片參考

<An Introduction to Statistical Learning with Applications in R>

Random Forest 与 GBDT 的异同的更多相关文章

  1. 随机森林(Random Forest),决策树,bagging, boosting(Adaptive Boosting,GBDT)

    http://www.cnblogs.com/maybe2030/p/4585705.html 阅读目录 1 什么是随机森林? 2 随机森林的特点 3 随机森林的相关基础知识 4 随机森林的生成 5 ...

  2. Decision Tree、Random Forest、AdaBoost、GBDT

    原文地址:https://www.jianshu.com/p/d8ceeee66a6f Decision Tree 基本思想在于每次分裂节点时选取一个特征使得划分后得到的数据集尽可能纯. 划分标准 信 ...

  3. [Machine Learning & Algorithm] 随机森林(Random Forest)

    1 什么是随机森林? 作为新兴起的.高度灵活的一种机器学习算法,随机森林(Random Forest,简称RF)拥有广泛的应用前景,从市场营销到医疗保健保险,既可以用来做市场营销模拟的建模,统计客户来 ...

  4. 随机森林(Random Forest)

    阅读目录 1 什么是随机森林? 2 随机森林的特点 3 随机森林的相关基础知识 4 随机森林的生成 5 袋外错误率(oob error) 6 随机森林工作原理解释的一个简单例子 7 随机森林的Pyth ...

  5. [Machine Learning & Algorithm] 随机森林(Random Forest)-转载

    作者:Poll的笔记 博客出处:http://www.cnblogs.com/maybe2030/  阅读目录 1 什么是随机森林? 2 随机森林的特点 3 随机森林的相关基础知识 4 随机森林的生成 ...

  6. 随机森林(Random Forest,简称RF)

    阅读目录 1 什么是随机森林? 2 随机森林的特点 3 随机森林的相关基础知识 4 随机森林的生成 5 袋外错误率(oob error) 6 随机森林工作原理解释的一个简单例子 7 随机森林的Pyth ...

  7. 随机森林(Random Forest)详解(转)

    来源: Poll的笔记 cnblogs.com/maybe2030/p/4585705.html 1 什么是随机森林?   作为新兴起的.高度灵活的一种机器学习算法,随机森林(Random Fores ...

  8. 随机森林分类器(Random Forest)

    阅读目录 1 什么是随机森林? 2 随机森林的特点 3 随机森林的相关基础知识 4 随机森林的生成 5 袋外错误率(oob error) 6 随机森林工作原理解释的一个简单例子 7 随机森林的Pyth ...

  9. bagging,random forest,boosting(adaboost、GBDT),XGBoost小结

    Bagging 从原始样本集中抽取训练集.每轮从原始样本集中使用Bootstraping(有放回)的方法抽取n个训练样本(在训练集中,有些样本可能被多次抽取到,而有些样本可能一次都没有被抽中).共进行 ...

随机推荐

  1. log4j.xml 精选的log4j.xml文档,比较详细,网上的版本很多,这个版本相对而言比较完整

    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE log4j:configuration PUB ...

  2. PHP05 PHP语言基础

    学习要点 初识PHP 基础语法 变量 常量 运算符 表达式 学习目标 掌握PHP基础语法 掌握PHP变量 掌握PHP常量 掌握PHP表达式 掌握PHP运算符 初识PHP 第一个PHP程序 编写代码 1 ...

  3. zay大爷的膜你题 D2T1 江城唱晚

    依旧是外链... 这一次网易云爆炸了....所以我决定后面的都用QQ 下面是题面 这道题是一道傻逼题 数学题,我们仔细看一看,首先有m朵花的话,我们就有m!种排列方式(也就是m的全排列), 然后我们假 ...

  4. eclipse android SDK代理跟新

    启动 Android SDK Manager ,打开主界面,依次选择「Tools」.「Options...」,弹出『Android SDK Manager - Settings』窗口: 在『Andro ...

  5. java文件上传,自动判断文件类型

    public enum FileType { /** * JEPG. */ JPEG("FFD8FF"), /** * PNG. */ PNG("89504E47&quo ...

  6. 洛谷——P1640 [SCOI2010]连续攻击游戏

    P1640 [SCOI2010]连续攻击游戏 题目描述 lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示.当他使用某种装备 ...

  7. LCIS 最长上升公共子序列问题

    首先点名一个串叫 L1,另一个叫L2. 明显的是一个DP,那么我们来探讨下如何求得答案. 朴素的算法 首先我们定义状态$dp[ i ][ j ]$表示L1中前i个与L2中前j个的最长公共上升子序列. ...

  8. composer 插件安装

    https://packagist.org/?q=phpmyadmin&p=0 Github:笔记 https://github.com/13431/php 类库包下载地址:packagist ...

  9. 小而美的Promise库——promiz源码浅析

    背景 在上一篇博客[[译]前端基础知识储备--Promise/A+规范](https://segmentfault.com/a/11...,我们介绍了Promise/A+规范的具体条目.在本文中,我们 ...

  10. Ubuntu配置SSH服务器

    SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定:SSH 为建立在应用层和传输层基础上的安全协议.SSH 是目前较可靠,专为远 ...