最近两天在学习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. fancybox 最基本的使用步骤

    初步使用第一步 :引用js和样式 第二步 :设定要触发显示的元素(a标签,链接href指向div的id)  <div><a href="#adddivtest" ...

  2. Day16_集合第二天

    1.LinkedList类(掌握) 1.特点 底层数据结构是链表,查询慢,增删快 线程不安全,效率高. LinkedList 成员方法 void addFirst(Object o) 添加 void ...

  3. unity中全屏背景图缩放

    using UnityEngine; using System.Collections; public class BgPicScript : MonoBehaviour { // Use this ...

  4. C++中的初始化

    C++中的RAII机制指明”对象创建时通过构造函数进行初始化,析构时通过析构函数释放资源”,但实际中因类无构造函数时编译器将自动合成一个默认构造函数,该构造函数只服务于自身编译器构造需要而不负责对象成 ...

  5. 不让padding影响元素的宽度

    CSS3 新增了 box-sizing 属性. 以前,如果指定 div 的宽度为 div { width: 100px; height: 100px; padding: 10px; } 则包含 pad ...

  6. viewpager接受值图片轮播

    package com.baway.test; import java.util.ArrayList;import java.util.List;import java.util.Timer;impo ...

  7. UVA 572

    这是一道纯正的深度优先搜索题目. 题目要求在有多少个不同的块,而不同块的定义则是,一个块中的任意一点和l另一个块中的任意一点不会相连,而相连的定义则是 在横向.纵向和对角线上相连. #include& ...

  8. vim文本编辑器

    一.vim相对于vi所做的提升 1.支持多级撤销(字母u, vi中只能撤销一部) 2.支持跨平台(unix为内核系统,windows也可以) 3.语法高亮 4.支持图形界面 二.vi编辑器的操作模式 ...

  9. mysql 把文件中的sql语句导入到mysql中

    mysql -uroot -proot -Dcollege</home/wwwroot/default/data/xlxxb_2014-10-16.txt;

  10. ajax中返回json数据有"

    1.将“转义为\" string table=sb.ToString(); table.Replace("\"","\\\"");