从boost到Adaboost再到GBRT-GBDT-MART
本文是要配合《统计学习方法》才能看懂的,因为中间有些符号和定义是直接使用书本中的
先弄明白以下三个公式:
1)Boost(提升法)=加法模型(即基函数的线性组合)+前向分步算法+损失函数
2)Adaboost=Boost+损失函数是指数函数(基函数可以任意)
3)提升树=Boost+基函数是决策树(损失函数可以任意)
由此可以看出:
1)Boost是一种算法框架,而这种框架是由加法模型和前向分步算法构成的。
2)Adaboost和提升树都是Boost的子集,都是由限定了Boost中某一部分元素而得到的。
前向分步算法(解决加法模型):每次学习一个基函数的参数Gm(x)(即下一个基函数)
下一个基函数的选择标准:在已经学习到加法模型fm-1(x)的基础上,选择一个使得损失最小的基函数Gm(x)
损失函数:
1)指数损失函数:决定了Adaboost必须进行加权取样(权重由错误率决定),以进行下一个模型的参数学习,并且决定了最终模型也是加权累计
2)平方误差损失函数:决定了BRT的下一个模型应该学习前一个模型的残差
3)一般损失函数:决定了GBRT/GBDT的下一个模型应该学习前一个模型的梯度(残差近似)
各种提升决策树
1)BDT(提升决策树,二分类):Adaboost中将模型选定为二类分类树,即二类分类树+指数损失—>加权【可以称为:提升分类树的Adaboost方法】
2)BRT(提升回归树):二叉回归树+平方误差损失—>残差
3)GBRT:二叉回归树+普通损失函数—>损失函数的负梯度(残差的替代)
4)GBDT:二叉分类树+普通损失函数—>损失函数的负梯度
当损失函数是平方误差损失时,其负梯度就是残差,即此时GBRT=BRT
从boost到Adaboost再到GBRT-GBDT-MART的更多相关文章
- GBRT(GBDT)(MART)(Tree Net)(Tree link)
源于博客 GBRT(梯度提升回归树)有好多名字,标题全是它的别名. 它是一种迭代的回归树算法,由多棵回归树组成,所有树的结论累加起来得到最终结果.在被提出之初与SVM一起被认为是泛化能力较强的算法. ...
- GBDT(Gradient Boost Decision Tree)
原文:http://blog.csdn.net/aspirinvagrant/article/details/48415435 GBDT,全称Gradient Boosting Decision Tr ...
- 集成方法:渐进梯度回归树GBRT(迭代决策树)
http://blog.csdn.net/pipisorry/article/details/60776803 单决策树C4.5由于功能太简单.而且非常easy出现过拟合的现象.于是引申出了很多变种决 ...
- 机器学习(四)--- 从gbdt到xgboost
gbdt(又称Gradient Boosted Decision Tree/Grdient Boosted Regression Tree),是一种迭代的决策树算法,该算法由多个决策树组成.它最早见于 ...
- 常见算法(logistic回归,随机森林,GBDT和xgboost)
常见算法(logistic回归,随机森林,GBDT和xgboost) 9.25r早上面网易数据挖掘工程师岗位,第一次面数据挖掘的岗位,只想着能够去多准备一些,体验面这个岗位的感觉,虽然最好心有不甘告终 ...
- AdaBoost入门
写一点自己理解的AdaBoost,然后再贴上面试过程中被问到的相关问题.按照以下目录展开. 当然,也可以去我的博客上看 Boosting提升算法 AdaBoost 原理理解 实例 算法流程 公式推导 ...
- 机器学习技法-GBDT算法
课程地址:https://class.coursera.org/ntumltwo-002/lecture 之前看过别人的竞赛视频,知道GBDT这个算法应用十分广泛.林在第八讲,简单的介绍了AdaBoo ...
- 阿里游戏大数据sesson2_RF&GBRT(上)
----------一个小的游戏体验,对于不太熟悉Xlab RF和GBRT同学们都叫参考,不喜勿喷,大神绕道,米姆达. . .. .---------- 6月初的时候LR 做到4.9后一直上不去,看群 ...
- 在IDE中集成boost
1. 获得Boost 进入Boost的网站(http://www.boost.org/) 下载boost_1_62_0.zip 2. 解压Boost 解压 boost_1_62_0.zip ,比如解压 ...
随机推荐
- Qt Widgets——抽象旋转框及其继承类
默认外观分别如下(win7,与上述顺序对应): 可看出,都是由一个可编辑的文本框及右端小箭头组成 QAbstractSpinBox 属性简单解释如下: Properties accelerated : ...
- killl prefix out macro mis mal micro -m
1● macro 宏大,规模大 2● mis 错误,坏 3● mal 坏,错误 4● micro 小,微小
- ubuntu shell编程笔记
and 命令 if [ A -a B ] then else fi while [ ] do done set command set these are parameters $1 s ...
- Linux第三周作业
1.三个法宝 ①存储程序计算机工作模型,计算机系统最最基础性的逻辑结构: ②函数调用堆栈,堆栈完成了计算机的基本功能:函数的参数传递机制和局部变量存取 : ③中断,多道程序操作系统的基点,没有中断机制 ...
- bzoj5016
题解: 吧询问变成前缀形式 然后莫队 代码: #include<bits/stdc++.h> ; using namespace std; ]; ,L=,R=; ,Ans[N]; bool ...
- 每天CSS学习之letter-spacing
letter-spacing是CSS的一个属性,其作用是设置字符之间的距离.letter意为字符. 1.normal:规定字符之间没有额外的空间.该值是默认值.如下示例: p{ letter-spac ...
- js call回调的this指向问题
function fn1(){ console.log(1); } function fn2(){ console.log(2); } fn1.call(fn2); //输出 1 fn1.call.c ...
- Python select 详解(转)
I/O多路复用是在单线程模式下实现多线程的效果,实现一个多I/O并发的效果.看一个简单socket例子: import socket SOCKET_FAMILY = socket.AF_INET SO ...
- Android : alsa-lib 移植
一.官网下载lib源码 网址:http://www.alsa-project.org/main/index.php/Download#alsa-lib 左击:Stable Release列表中的[1. ...
- 90%会搞错的JavaScript闭包问题
由工作中演变而来的面试题 这是一个我工作当中的遇到的一个问题,似乎很有趣,就当做了一道题去面试,发现几乎没人能全部答对并说出原因,遂拿出来聊一聊吧. 先看题目代码: function fun(n,o) ...