1、RF 原理
 
用随机的方式建立一个森林,森林里面有很多的决策树,随机森林的每一棵决策树之间是没有关联的。在得到森林之后,当有一个新的输入样本进入的时候,就让森林中的每一棵决策树分别进行一下判断,看看这个样本应该属于哪一类(对于分类算法),然后看看哪一类被选择最多,就预测这个样本为那一类。
 
2、RF 优缺点
 
优点:
(1)在数据集上表现良好,两个随机性的引入,使得随机森林不容易陷入过拟合。
(2)在当前的很多数据集上,相对其他算法有着很大的优势,两个随机性的引入,使得随机森林具有很好的抗噪声能力
(3)能够处理很高维度(feature 很多)的数据,并且不用做特征选择,对数据集的适应能力强,既能处理离散数据,也能处理连续型数据,数据集无需规范化。
(4)可生成一个 Proximities = (pij) 矩阵,用于度量样本之间的相似性:pij=aij/N, aij表示样本i和j出现在随机森林中同一个叶子结点的次数,N随机森林中树的棵数
(5)在创建随机森林的时候,对 generlization error 使用的是无偏估计
(6)训练速度快,可以得到变量重要性排序(两种:基于 OOB 误分率的增加量和基于分裂时的 GINI 下降量)
(7)在训练过程中,能够检测到 feature 间的相互影响
(8)容易做成并行化方法
(9)实现比较简单
 
缺点:
(1)需要大量的维护工作
(2)对于小量数据集和低维数据集的分类不一定可以得到很好的效果。
(3)执行速度虽然比 Boosting 等快,但是比单个的决策树慢很多。
(4)可能会出现一些差异度很小的树,淹没了一些正确的决策。
(5)当我们需要推断超出范围的独立变量或非独立变量,随机森林做的并不好,我们最好使用如 MARS 那样的算法。
(6)随机森林算法在训练和预测时都比较慢。
(7)如果需要区分的类别十分多,随机森林的表现并不会很好。
 
3、RF 的优化点
 
(1)候选特征数 K
K 越大,单棵树的效果会提升,但树之间的相关性也会增强
 
(2)决策树数量 M
M 越大,模型效果会有提升,但计算量会变大
 
4、RF 和 GBDT 的联系和区别
 
联系:
 
RF 和 GBDT 都是在决策树上进行改造或者集成完成的。
 
区别:
 
随机森林:决策树 + bagging  = 随机森林
梯度提升树:决策树 + Boosting = GBDT

1. RF 原理
 
多个决策树同时建模,生成的结果,输出的结果是集体输出的众数决定的,随机森林可以通过收集很多树的子节点对各个类别投票,然后选择获得最多投票的类别作为判断结果。通过计算”森林“的所有子节点的值的平均值来解决回归问题。
随机森林既可以解决回归问题,也可以解决分类问题。

2. RF 优缺点
 
优点: 可以使用更少的重要变量,获得最好的预测性能 1、在数据集上表现良好,相对于其他算法有较大的优势(训练速度、预测准确度);2、能够处理很高维的数据,并且不用特征选择,而且在训练完后,给出特征的重要性;3、容易做成并行化方法。
缺点:在噪声较大的分类或者回归问题上回过拟合。

3. RF 的优化点
基于随机森林的智能算法特征选择和参数优化混合算法,通过二进制编码,对树的规模、子属性个数和特征选择同时搜索,以最小化袋外数据误差为目标函数。实验选择高维二分类和多分类数据,对比了无特征选择下,参数传统取值和混合遗传随机森林、混合粒子群随机森林和混合鱼群随机森林算法的结果,从F值、G-mean、AUC和OOB error等多个指标表明该算法可以提高随机森林的性能,为特征选择和参数优化提供了新思路。

4. RF 和 GBDT的联系和区别
随机森林,决策树基础上使用Bagging,Bagging可以简单的理解为:放回抽样,多数表决(分类)或简单平均(回归),同时Bagging的基学习器之间属于并列生成,不存在强依赖关系。
GBDT,决策树基础上使用Boosting,与传统的Boosting区别较大,它的每一次计算都是为了减少上一次的残差,而为了消除残差,我们可以在残差减小的梯度方向上建立模型,所以说,在GradientBoost中,每个新的模型的建立是为了使得之前的模型的残差往梯度下降的方法,与传统的Boosting中关注正确错误的样本加权有着很大的区别。

by the way:

RF的两个随机指的是
随机选取划分特征:对于决策树的每个节点,先从该节点的属性集合中随机选取包含k个属性的子集,再从这个子集中选择一个最优属性进行划分,一般推荐k=log2d
随机选取样本:有放回的随机选取样本,因此每个弱学习器的训练样本是有重叠的样本子集。

RF 和 GBDT联系和区别的更多相关文章

  1. RF、GBDT、XGBOOST常见面试算法整理

    1.  RF(随机森林)与GBDT之间的区别 相同点: 1)都是由多棵树组成的 2)最终的结果都是由多棵树一起决定 不同点: 1)  组成随机森林的树可以是分类树也可以是回归树,而GBDT只由回归树组 ...

  2. GBDT,Adaboosting概念区分 GBDT与xgboost区别

    http://blog.csdn.net/w28971023/article/details/8240756 ============================================= ...

  3. RF和GBDT的区别

    Random Forest ​采用bagging思想,即利用bootstrap抽样,得到若干个数据集,每个数据集都训练一颗树. 构建决策树时,每次分类节点时,并不是考虑全部特征,而是从特征候选集中选取 ...

  4. GBDT XGBOOST的区别与联系

    Xgboost是GB算法的高效实现,xgboost中的基学习器除了可以是CART(gbtree)也可以是线性分类器(gblinear). 传统GBDT以CART作为基分类器,xgboost还支持线性分 ...

  5. LR、SVM、RF、GBDT、XGBoost和LightGbm比较

    正则化 L1范数 蓝色的是范数的解空间,红色的是损失函数的解空间.L2范数和损失函数的交点处一般在坐标轴上,会使\(\beta=0\),当然并不一定保证交于坐标轴,但是通过实验发现大部分可以得到稀疏解 ...

  6. AI工程师基础知识100题

    100道AI基础面试题 1.协方差和相关性有什么区别? 解析: 相关性是协方差的标准化格式.协方差本身很难做比较.例如:如果我们计算工资($)和年龄(岁)的协方差,因为这两个变量有不同的度量,所以我们 ...

  7. 随机森林RF、XGBoost、GBDT和LightGBM的原理和区别

    目录 1.基本知识点介绍 2.各个算法原理 2.1 随机森林 -- RandomForest 2.2 XGBoost算法 2.3 GBDT算法(Gradient Boosting Decision T ...

  8. RF, GBDT, XGB区别

    GBDT与XGB区别 1. 传统GBDT以CART作为基分类器,xgboost还支持线性分类器(gblinear),这个时候xgboost相当于带L1和L2正则化项的逻辑斯蒂回归(分类问题)或者线性回 ...

  9. GBDT(Gradient Boost Decision Tree)

    原文:http://blog.csdn.net/aspirinvagrant/article/details/48415435 GBDT,全称Gradient Boosting Decision Tr ...

随机推荐

  1. 并查集和树的一些性质 hdu1325

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1325 题意是每次输入一对数字n,m表示一条树边,并且n是m的父亲,直到n==0&&m= ...

  2. UmBasketella

    UmBasketella http://poj.org/problem?id=3737 Time Limit: 1000MS   Memory Limit: 65536K Total Submissi ...

  3. winbox添加dhcp和nat

    例子如上,wan连接外网,lan作为内网. 设置网卡ip 保证mac地址正确! 去到ip address里,设置两网卡的ip! 保证能ping通外网! 设置dhcp ip pool添加池,192.16 ...

  4. 唯品会海量实时OLAP分析技术升级之路

    本文转载自公众号 DBAplus社群 , 作者:谢麟炯 谢麟炯,唯品会大数据平台高级技术架构经理,主要负责大数据自助多维分析平台,离线数据开发平台及分析引擎团队的开发和管理工作,加入唯品会以来还曾负责 ...

  5. 配置eclipse+SDK+ADT开发环境

    第一步:配置jdk和eclipse环境(已完成): 第二步:ADT配置:依次点击菜单栏:help -> Install new software -> Add -> Local... ...

  6. cgi,fast-cgi,php-cgi,php-fpm转载详解

    转载自:https://segmentfault.com/q/1010000000256516 首先,CGI是干嘛的?CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编 ...

  7. ubuntu下安装nginx1.11.10

    (本页仅作为个人笔记参考) 为openssl,zlib,pcre配置编译 wget http://om88fxbu9.bkt.clouddn.com/package/nginx/nginx-1.11. ...

  8. git中 vi/vim的命令

    一.vi & vim 有两种工作模式: 1.命令模式:接受.执行 vi操作命令的模式,打开文件后的默认模式: 2.编辑模式:对打开的文件内容进行 增.删.改 操作的模式: 在编辑模式下按下ES ...

  9. Django+Uwsgi+Nginx部署

    一 uwsgi介绍 uWSGI是一个Web服务器,它实现了WSGI协议,uwsgi, http等协议. Nginx中HttpUwsgiMoule的作用是与uWSGI服务器进行交换 1 WSGI是一种W ...

  10. go语言net包udp socket的使用

    udp与tcp的不同在于客户端请求方式不同,udp缺少Accept函数. 一个简单的udp客户端: package main; import ( "net" "log&q ...