一、CART(分类回归树)

   1.思想:

    一种采用基尼信息增益作为划分属性的二叉决策树。基尼指数越小,表示纯度越高。

 2.回归:

每个节点都有一个预测值,预测值等于属于该节点的所有样例的平均值,分支时,选择每个属性的每个阈值的最好分割点,衡量的标准是最小化均方差。

训练:对训练样本的第i(1<=i<=n)个属性,穷举每个分割点,找到均方差最小的分割点进行分割,该节点的值设为落到该节点的训练样本的平均值,直到不可分或者到一定高度或者属性使用完或者均方差不下降。

测试:对测试样本按照训练时的分割点进行下落,落到叶节点,叶节点的平均值即为预测值。

二、GBDT(梯度提升决策树)

   1.原理:

     用多棵回归树(或多个弱分类器)进行集成,其中的多棵树不是独立的,而是后面的树在前者的基础上学习误差,所有树的结果加起来是预测得到的结果。弱分类器一般采用CART。

     2.过程:

     原始回归树:

    

GBDT:

     3.依据:

     防止过拟合;

残差计算变相增大了分错样本的权重,分对的趋于0,这样后续的树就能专注于学习分错的样本;

每一步都用残差作为全局最优的梯度方向,并没有真实计算梯度;

每一次都走一小步,逐渐逼近目标,比每次都走一大步逼近目标更能防止过拟合。

4.优缺点:

优点:鲁棒性比较好,准确率比较高。

缺点:弱分类器间存在依赖关系,无法并行训练。

5.问题:

(1)训练过程:

gbdt通过多轮迭代,每轮迭代产生一个弱分类器,每个分类器在上一轮分类器的残差基础上进行训练,通过降低偏差来不断提高最终分类器的精度。

(2)如何选择特征:

如CART,对每个节点的每个切分点进行遍历,选择基尼指数最小的。

(3)如何构建特征:

利用gbdt去产生特征的组合,以叶子结点为基,在基下的表示即为特征。

(4)如何用于分类:

针对样本 X 每个可能的类都训练一个分类回归树。

     6.参考:

      https://www.cnblogs.com/peizhe123/p/6105696.html

https://www.cnblogs.com/pinard/p/6140514.html

https://www.cnblogs.com/ModifyRong/p/7744987.html

三、Xgboost

   1.思想:

   Xgboost是GB算法的高效实现,xgboost中的基学习器除了可以是CART(gbtree)也可以是线性分类器(gblinear)

   2.区别:

   (1)xgboost在目标函数中显示的加上了正则化项,基学习为CART时,正则化项与树的叶子节点的数量T和叶子节点的值有关。

(2)GB中使用Loss Function对f(x)的一阶导数计算出伪残差用于学习生成fm(x),xgboost不仅使用到了一阶导数,还使用二阶导数。

(3)CART回归树中寻找最佳分割点的衡量标准是最小化均方差,xgboost寻找分割点的标准是最大化一个函数。

3.参考:

https://www.cnblogs.com/wxquare/p/5541414.html

【CART与GBDT】的更多相关文章

  1. 决策树和基于决策树的集成方法(DT,RF,GBDT,XGBT)复习总结

    摘要: 1.算法概述 2.算法推导 3.算法特性及优缺点 4.注意事项 5.实现和具体例子 内容: 1.算法概述 1.1 决策树(DT)是一种基本的分类和回归方法.在分类问题中它可以认为是if-the ...

  2. 决策树和基于决策树的集成方法(DT,RF,GBDT,XGB)复习总结

    摘要: 1.算法概述 2.算法推导 3.算法特性及优缺点 4.注意事项 5.实现和具体例子 内容: 1.算法概述 1.1 决策树(DT)是一种基本的分类和回归方法.在分类问题中它可以认为是if-the ...

  3. GBDT学习笔记

    GBDT(Gradient Boosting Decision Tree,Friedman,1999)算法自提出以来,在各个领域广泛使用.从名字里可以看到,该算法主要涉及了三类知识,Gradient梯 ...

  4. GBDT笔记

    GBDT笔记 GBDT是Boosting算法的一种,谈起提升算法我们熟悉的是Adaboost,它和AdaBoost算法不同: 区别如下: AdaBoost算法是利用前一轮的弱学习器的误差来更新样本权重 ...

  5. CART分类与回归树与GBDT(Gradient Boost Decision Tree)

    一.CART分类与回归树 资料转载: http://dataunion.org/5771.html        Classification And Regression Tree(CART)是决策 ...

  6. scikit-learn 梯度提升树(GBDT)调参小结

    在梯度提升树(GBDT)原理小结中,我们对GBDT的原理做了总结,本文我们就从scikit-learn里GBDT的类库使用方法作一个总结,主要会关注调参中的一些要点. 1. scikit-learn ...

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

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

  8. Adaboost\GBDT\GBRT\组合算法

    Adaboost\GBDT\GBRT\组合算法(龙心尘老师上课笔记) 一.Bagging (并行bootstrap)& Boosting(串行) 随机森林实际上是bagging的思路,而GBD ...

  9. [Machine Learning & Algorithm] 决策树与迭代决策树(GBDT)

    谈完数据结构中的树(详情见参照之前博文<数据结构中各种树>),我们来谈一谈机器学习算法中的各种树形算法,包括ID3.C4.5.CART以及基于集成思想的树模型Random Forest和G ...

随机推荐

  1. LUA重难点解析

    1.元表 元表也是一个 table,它附加在另一个 table 上,可以扩展该 table 的某些行为. 拿 __index 来举例,它是用来扩展查找索引行为的.在查找一个 key 对应的值时,会依次 ...

  2. Unity Shader 景深效果

    效果 原理: 开启摄像机的深度模式,将深度保存到一张名为_CameraDepthTexture(Unity5.0之后才有)内置的纹理中. 如果深度在焦点范围内就用原图,否则就用模糊图. Shader: ...

  3. celery 原理理解

    这里有一篇写的不错的:http://www.jianshu.com/p/1840035cb510 自己的“格式化”后的内容备忘下: 我们总在说c10k的问题, 也做了不少优化, 然后优化总是不够的. ...

  4. Redux-example

    Redux-example Examples from http://redux.js.org/docs/introduction/Examples.html Counter Vanilla Run ...

  5. 评估分类器性能的度量,像混淆矩阵、ROC、AUC等

    评估分类器性能的度量,像混淆矩阵.ROC.AUC等 内容概要¶ 模型评估的目的及一般评估流程 分类准确率的用处及其限制 混淆矩阵(confusion matrix)是如何表示一个分类器的性能 混淆矩阵 ...

  6. NFS文件服务器搭建

    NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中,本地NFS的客户端应用可 ...

  7. 解决webstorm拉取Vue项目时卡顿,及内存爆满问题

    最近在拉取Vue项目时总是会出现webstorm内存瞬间爆满,导致webstorm卡死,而且,有时在下载完node_modues后webstorm一直处于updating中,为此在网上找了很多方法结果 ...

  8. python字典查询功能

    def fetch(data): print(' 查询功能') print('用户数据是',data) def add(): pass def change(): pass def delete(): ...

  9. Linux之文档与目录结构 目录的相关操作 Linux的文件系统

    Linux之文档与目录结构   Linux文件系统结构 Linux目录结构的组织形式和Windows有很大的不同.首先Linux没有“盘(C盘.D盘.E盘)”的概念.已经建立文件系统的硬盘分区被挂载到 ...

  10. 如何从视频中分离出音乐,和对音乐做分割,合并的处理(瑞典音乐家-新八宝盒.mp3.rar下载)

    点击下载:瑞典音乐家-新八宝盒.mp3.rar 1.工具 Total Video Converter 3.71 视频处理(安装软件,有绿色版的) MP3剪切器 MP3剪切器(小工具) Mp3mateP ...