您的位置:首页 > 其它

机器学习(三)GBDT(Gradient Boosting Decision Tree)迭代决策树

2014-06-22 16:04 495 查看

一、前言

阿里的比赛一直是跟着大神们的脚步,现在大家讨论最多的是gbrt(Gradient Boost Regression Tree),也就是GBDT(Gradient Boosting Decision Tree)迭代决策树。所以先看了决策树,见上一篇博客决策树。关于迭代决策树就主要是看了几篇博客,这里推荐几个和机器学习有关的博客:1、苏冉旭的博客,;2、leftnoteasy,有数学基础知识,还有常见算法和分布式。3、JerryLead。在阿里比赛尝试了gbrt果然效果很好,比lr要提高不少,的确lr是线性模型,gbrt是非线性的,只是自己的特征还不够好,希望接下来用maprudece构建出足够多足够好的特征。接下来对gbdt做个总结,主要是几个博客内容的整合。

二、数学准备——模型组合(Model Combining)之Gradient Boosting

GBDT和RF,都是将决策树的模型组合起来,效果比决策树要好。组合的方式有很多,随机化(比如RF),Boosting(比如GBDT)。关于此处详见博客机器学习中的数学(3)-模型组合(Model
Combining)之Boosting与Gradient Boosting,boosting的思想就是用多个模型,每一个模型都在上一个的基础上将分错的数据权重提高一点在进行分类,

三、GBDT的概念

主要是注意GBDT的不同实现版本,详见博客GBDT(MART)概念简介

目前GBDT有两个不同的描述版本,两者各有支持者,读文献时要注意区分。残差版本把GBDT说成一个残差迭代树,认为每一棵回归树都在学习前N-1棵树的残差,Gradient版本把GBDT说成一个梯度迭代树,使用梯度下降法求解,认为每一棵回归树在学习前N-1棵树的梯度下降值,之前leftnoteasy的博客中介绍的为此版本。

第一个版本详见博客GBDT(MART) 迭代决策树入门教程 | 简介

第二个版本详见博客GBDT(Gradient Boosting Decision Tree) 没有实现只有原理

两篇博客都相当详细,懒得粘了。

四、代码剖析

1、总体框架:GBDT源码剖析

2、详细剖析:GBDT代码解读
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: