GBDT 深入理解
来源:互联网 发布:数据正态分布统计方法 编辑:程序博客网 时间:2024/06/11 06:14
(1) GBDT 两个不同版本
残差版本: 认为GBDT是一个残差迭代树,每一颗树都在学习前面树的残差。
Gradient 版本:认为GBDT是一个梯度迭代树,使用梯度下降法来求解。
相同之处:都是迭代回归树,每棵树都是在学习前面N-1棵树的不足。
不同之处:在每步的迭代的时候,前者不用gradient,而是用残差,残差反应出全局最优值,或者gradient是局部最优的步长。也就是前者试图让结果变得最好,后者试图让结果变得好一点。
看起来前者更加科学一点,为什么放着全局最优不用,还要用一个局部最优方向呢?
前者残差版本(主要用来做回归问题)最大的问题是它依赖残差,cost function一般反映残差的均方误差,因此很难处理除了回归之外的其他问题。
后者求解的方式是梯度下降(可做分类回归),只要可求导的cost function 都可以适用。比如GBDT处理多分类的问题
(2) GBDT用作多分类
假设对于一个样本x, 其估计值分别是
第0步:初始化
第1步:迭代M步
第2步:如果一个分类问题是多项式分布,则可以Logistic变换来得到属于每类的概率
第三步:对每一个类建立一个回归树
第四步 :对于logistic多分类问题,一般采用log最大似然的损失函数,注意这里是对
第五步: 根据每一个样本点x,根据残差减少的梯度的方向,建立一个回归树,J个叶子节点的时候停止,得到一棵由J个叶子节点组成的回归树。
第六步:当决策树建立完成之后,通过这个公式,得到每个叶子节点的增益。
第七步:合并,往更好的方向走。
- 深入理解GBDT
- GBDT 深入理解
- GBDT理解二三事
- GBDT--简单理解
- GBDT理解二三事
- GBDT的深度理解
- GBDT理解二三事
- 对GBDT的理解
- GBDT理解二三事
- GBDT原理理解
- GBDT算法原理深入解析
- GBDT算法原理深入解析
- GBDT算法原理深入解析
- 对GBDT的一点理解
- 一步一步理解GB、GBDT、xgboost
- 一步一步理解GB、GBDT、xgboost
- GBDT与梯度的理解
- 一步一步理解GB、GBDT、xgboost
- C++偏特化
- linux下与windows下的换行符
- 关于分页插件pagination的应用及遇到的问题(用ajax请求数据进行拼接后分页显示)
- AE删除要素
- 招商软文如何写:推广诱人的广告——文芳阁传媒有话说
- GBDT 深入理解
- 一个斐波那契数列题 HDU 2041
- CCF压缩编码和玲珑杯1066 - Buy Candy(平行四边形优化)
- 基于同音字的验证码
- socket.Io demo
- 设计模式-java实现
- JavaScript Math
- java常用工具类分享
- IntelliJ idea插件开发环境配置