最近两天在学习GBDT,看了一些资料,了解到GBDT由很多回归树构成,每一棵新回归树都是建立在上一棵回归树的损失函数梯度降低的方向。

以下为自己的理解,以及收集到的觉着特别好的学习资料。

1、GBDT可用于回归任务和分类任务。

GBDT做回归任务时,每一棵子树的构建过程与cart回归树的建立过程相同,使用最小化均方误差来选择最优划分的特征,不同点是GBDT子树的根节点数据为前一棵子树所有样本真实值与其所在叶子结点预测值的残差。

GBDT做分类任务时,可以做二分类,也可以做多分类。一直没搞懂最优划分特征的准则是怎样的。直到看了下面这篇文章:

Gradient Boosting Decision Tree学习[1],这篇文章比较详细地讲述了基本理论,公式推导,GBDT建树过程。

还可以再看看这篇文章机器学习中的算法(1)-决策树模型组合之随机森林与GBDT[2],有个例子,以及算法流程的讲解。

2、GBDT运用的正则化技巧

加入正则化项,是为了防止模型过于复杂,可以看看这篇文章GBDT运用的正则化技巧[3]。

3、利用GBDT组合特征具体方法

利用GBDT模型构造新特征[4]介绍了Facebook发表的利用GBDT模型构造新特征的方法。

腾讯大数据:CTR预估中GBDT与LR融合方案[5]

4、sklearn中GBDT调参问题

sklearn中GBDT调参[6]

参考文献链接地址:

[1]http://www.lai18.com/content/1406280.html

[2]http://www.cnblogs.com/LeftNotEasy/archive/2011/03/07/random-forest-and-gbdt.html

[3]https://chuan92.com/2016/04/11/regularization-on-gbdt

[4]https://breezedeus.github.io/2014/11/19/breezedeus-feature-mining-gbdt.html#fn:fbgbdt

[5]http://www.cbdio.com/BigData/2015-08/27/content_3750170.htm

[6]http://chuansong.me/n/296022746725

GBDT基本理论及利用GBDT组合特征的具体方法(收集的资料)的更多相关文章

  1. GBDT原理及利用GBDT构造新的特征-Python实现

    1. 背景 1.1 Gradient Boosting Gradient Boosting是一种Boosting的方法,它主要的思想是,每一次建立模型是在之前建立模型损失函数的梯度下降方向.损失函数是 ...

  2. 利用GBDT模型构造新特征具体方法

    利用GBDT模型构造新特征具体方法 数据挖掘入门与实战  公众号: datadw   实际问题中,可直接用于机器学**模型的特征往往并不多.能否从"混乱"的原始log中挖掘到有用的 ...

  3. Xilium.CefGlue利用XHR实现Js调用c#方法

    防外链 博客园原文地址在这里http://www.cnblogs.com/shen6041/p/3442499.html 引 Xilium CefGlue是个不错的cef扩展工程,托管地址在这里 ht ...

  4. Py之Crawler:爬虫利用随机选取代理访问服务器的方法实现下载某网址上所有的图片到指定文件夹——Jason niu

    #Py之Crawler:爬虫利用随机选取代理访问服务器的方法实现下载某网址上所有的图片到指定文件夹 import urllib.request import os import random def ...

  5. iOS利用block实现链式编程方法(Objective-C链式编程)

    objc利用block实现链式编程方法 因为不好读.block和其他语言的匿名函数一样,很多程序员刚开始很难主动去用他. 本文描述block作为属性的实际使用,看懂block,并讲解如何利用block ...

  6. 实用,小物体检测的有监督特征级超分辨方法 | ICCV 2019

    论文提出新的特征级超分辨方法用于提升检测网络的小物体检测性能,该方法适用于带ROI池化的目标检测算法.在VOC和COCO上的小物体检测最大有5~6%mAP提升,在Tsinghua-Tencent 10 ...

  7. 利用 jQuery 操作页面元素的方法,实现电商网站购物车页面商品数量的增加和减少操作,要求单项价格和总价随着数量的改变而改变

    查看本章节 查看作业目录 需求说明: 利用 jQuery 操作页面元素的方法,实现电商网站购物车页面商品数量的增加和减少操作,要求单项价格和总价随着数量的改变而改变 当用户单击"+" ...

  8. UDP代码编写、操作系统发展史、多道技术、进程理论与代码层面创建、进程join方法与进程对象方法

    昨日内容回顾 socket基本使用 # 内置的模块 import socket s = socket.socket() # 默认是TCP协议 也可以切换为UDP协议 s.bind((ip,port)) ...

  9. 利用GBDT模型构造新特征

    [本文链接:http://www.cnblogs.com/breezedeus/p/4109480.html,转载请注明出处] 我的博客主营地迁至github,欢迎朋友们有空去看看:http://br ...

随机推荐

  1. Scala初探:新潮的函数式面向对象语言

    Scala的基本概念 先讲讲Scala里头几个概念Classes, Traits, Objects and Packages. Class和Java中的很像,只不过Scala中Class不能有stat ...

  2. Swiper说明&&API手册

    最近使用Swipe.js,发现中文的资料很少,试着翻译了一下.能力有限,翻译难免错漏,欢迎指出,多谢! 翻译自:http://www.idangero.us/sliders/swiper/api.ph ...

  3. SUSE Linux下新建Weblogic 10.3非admin服务

    Linux内核版本信息查询命令 cat /proc/version 显示内容为: Linux version 2.6.16.60-0.85.1-smp(geeko@buildhost) (gcc ve ...

  4. dedecms recommend 注入 exp

    我看没人用python写过发过 所以我就发一下 喜欢用python的就用我这个吧 不喜欢的就用JAR那个或者PHP那个吧 #coding:GBK import  re import urllib &q ...

  5. Objective-c——UI基础开发第十一天(UICollectionView)

    一.知识点 1.UICollectionView的dataSource .delegate 2.UICollectionView多组数据和单组数据的展示 3.UICollectionView.UICo ...

  6. github 如何合并不同分支

    From: http://stackoverflow.com/questions/1123344/merging-between-forks-in-github 1. 添加remote origina ...

  7. Anchor 对象

    更改一个链接的文本.URL 以及target<html><head><script type="text/javascript"> functi ...

  8. 圆形的Volley.NetworkImageView控件的实现

    github上有个开源项目CircleImageView,可以简单的实现一个圆形的ImageView,就像qq头像那样. NetworkImageView是volley中的一个组件,可以方便的加载网络 ...

  9. CodeVS 数轴染色

    #include<cstdio> #include<algorithm> using namespace std; #define lson rt<<1 #defi ...

  10. Visual Studio 2015里面汇编工具Asm Dude的配置!

    最近开始学习汇编,也开始使用Visual Studio 2015写汇编程序,比较了半天,最后觉得Asm Dude应该是目前Visual Studio 2015非常好的汇编开发插件了,但是如果默认安装上 ...