博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【机器学习】--GBDT算法从初始到应用
阅读量:6529 次
发布时间:2019-06-24

本文共 745 字,大约阅读时间需要 2 分钟。

一、前述

提升是一种机器学习技术,可以用于回归和分类的问题,它每一步产生弱预测模型(如决策树),并加权累加到总模型中;如果每一步的弱预测模型的生成都是依据损失函数的梯度方式的,那么就称为梯度提升(Gradient boosting)提升技术的意义:如果一个问题存在弱预测模型,那么可以通过提升技术的办法得到一个强预测模型。

二、算法过程

给定输入向量X和输出变量Y组成的若干训练样本(X 1 ,Y 1 ),(X 2 ,Y 2 )......(X n ,Y n ),

目标是找到近似函数F(X),使得损失函数L(Y,F(X))的损失值最小。

L损失函数一般采用最小二乘损失函数或者绝对值损失函数

最优解为:

假定F(X)是一族最优基函数f i (X)的加权和:

以贪心算法的思想扩展得到Fm(X),求解最优f

 

以贪心法在每次选择最优基函数f时仍然困难,使用梯度下降的方法近似计算

给定常数函数F 0 (X)

计算残差

使用数据 计算拟合残差的基函数

 

 计算步长

更新模型(梯度的思想)

三、GDBT算法思想

GBDT由三部分构成:DT(Regression Decistion Tree)、GB(Gradient Boosting)和Shrinkage,由多棵决策树组成,所有树的结果累加起来就是最终结果

迭代决策树和随机森林的区别:
随机森林使用抽取不同的样本构建不同的子树,也就是说第m棵树的构建和前m-1棵树的结果是没有关系的
迭代决策树在构建子树的时候,使用之前子树构建结果后形成的残差作为输入数据构建下一个子树;然后最终预测的时候按照子树构建的顺序进行预测,并将预测结果相加

转载于:https://www.cnblogs.com/LHWorldBlog/p/8749301.html

你可能感兴趣的文章
Java内部类的使用小结
查看>>
spring 自定义schema
查看>>
也谈 机器学习到底有没有用 ?
查看>>
Android中布局的特点
查看>>
移动信息化不能延续PC时代的痛
查看>>
Bugzilla部分关键字释义
查看>>
bat 手册 指南 文档 教程 语法
查看>>
多维数组浅谈
查看>>
mysql 字段类型优化建议
查看>>
再译《A *路径搜索入门》之三
查看>>
Intel 80x86指令前缀码
查看>>
spring boot启动退出
查看>>
六款值得推荐的android(安卓)开源框架简介【转】
查看>>
Spring RestTemplate 请求数据乱码
查看>>
OpenGrok介绍
查看>>
1.2 面向对象语言的发展历史
查看>>
1030 Travel Plan
查看>>
《.Net 系列》- DataGridView操作
查看>>
《WinForm 系列》- DBF文件导入导出
查看>>
企业财务战略三大特性解析
查看>>