机器学习之GBDT算法

第1关:机器学习之GBDT算法

任务描述
本关任务:编写一个程序,实现GBDT算法。

相关知识
为了完成本关任务,你需要掌握:1.GBDT算法的原理,2.GBDT的算法实现。

GBDT算法的基本概念
GBDT 的全称是 Gradient Boosting Decision Tree,梯度提升树,GBDT是集成学习Boosting的一种算法,是通过迭代来逐步拟合最优结果的 一种方法,它的目的是迭代得到一个CART回归树模型得到最小损失,它具有以下的迭代思路:

在GBDT的迭代中,假设我们前一轮迭代得到的强学习器是ft−1(x), 损失函数是L(y,ft−1(x)), 我们本轮迭代的目标是找到一个CART回归树模型的弱学习器ht(x),让本轮的损失函数L(y,ft(x))=L(y,ft−1(x)+ht(x))最小。也就是说,本轮迭代找到决策树,要让样本的损失尽量变得更小。

GBDT的思想可以用一个通俗的例子进行解释,假如有个人30岁,我们首先用20岁去拟合,发现损失有10岁,这时我们用6岁去拟合剩下的损失,发现差距还有4岁,第三轮我们用3岁拟合剩下的差距,差距就只有一岁了。如果我们的迭代轮数还没有完,可以继续迭代下面,每一轮迭代,拟合的岁数误差都会减小。但是在这个过程中存在着一个问题:损失的拟合应该怎样去度量,损失函数各种各样,怎么找到一种通用的拟合方法呢,即对应于例子中的6岁,3岁应该如何得到呢?

import numpy as np
import pandas as 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ssaty.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值